吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14014|回复: 10
收起左侧

[原创] 第一次破解,找了个前人虐过的"荔枝微博相册下载助手V2.1"练手,分享经验

[复制链接]
cmheia 发表于 2015-6-20 03:25
摸底
  • 软件被前人评价为“软柿子”(发布的帖子)。
  • 启动后工具栏有“软件注册按钮”,点击后弹出窗口,标题标明“未注册”(图 1)。
  • “导出列表”功能不可用,被提示弹窗代替(图 2)。

思路
  • 从注册窗口下手,看能不能找到注册码 / 已注册标志或判断是否注册这些东西。
  • 从尝试使用“导出列表”时的提示弹窗下手,找出哪儿禁用了这功能。

动手(思路1)
  • OD 跑起来(原版程序),使用“中文搜索引擎”搜索字符串“未注册”,定位到调用代码(图 3);
  • 往上翻代码,发现有 41FFFD 处 cmp 和 je 可控制使用哪个字符串;
  • 41FFFD 处的 cmp 使用了ss:[ebp+0x0B] 这个变量,而 41FFE6 处写入了这个变量,
  • 继续往上翻代码,发现 41FFF4 处有子程序调用(程序清单 1);
  • 跳到函数里看看,代码不多,但是调用了个叫做 continueFreeData 的库函数,看名字像是释放资源的,先不管(程序清单 2);
  • 回头继续往上翻代码,41FFC9 处又是一个子程序调用,去看;
  • 百度了下, eax 还真是 x86 存返回值用的(程序清单 3),而这个函数里有两个返回分支,分别是 0 和 1, 编程经验告诉我,这函数很可能是返回 bool 类型的;
  • 回头看,在上面的函数调用完后,还真判断了 eax 里边的值(41FFCE),那么源程序很可能是 if(fun40F241()){} 这样的;
  • 上边的 test 完后,下一句是跳转 je, 看起来这个 je 使程序跳出了 41FFC6 到 41FFEF 之间的循环结构,那么源程序很可能是 if(fun40F241()){ break; } 这样的;
  • 再次去看 40F241 这个函数,40F24C 这里控制了是否继续捣腾 40F251 那里的 cmp;
  • 双击 40F24C 那里的 jnz ,改成 jmp;
  • 另存 exe(图 4, 图 5, 图 6);
  • 打开新 exe 测试;
  • 工具栏“软件注册”没了、注册窗口显示为“已注册”(图 7),导出列表窗口可以打开(图 8),貌似成功了;
  • 发帖收工。

后记
  • 这版本竟然过时失效了……
  • 软件功能挺不错的;
  • 注册费涨了,我¥%&……#¥#
  • 打开看了下 2.11 版,坑爹的已经不能搜索到中文字符串了,“导出列表”也不弹窗了,注册窗口也不显示没注册了@_@,用上面的方法摸了下,搞不定……
  • 晕ing……



2015-06-20_020832.png
图 1
2015-06-20_021016.png
图 2
2015-06-20_020544.png
图 3
2015-06-20_030305.png
图 4
2015-06-20_030415.png
图 5
2015-06-20_030355.png
图 6
2015-06-20_030606.png
图 7
2015-06-20_030625.png
图 8
程序清单 1
[Asm] 纯文本查看 复制代码
0041FFC6  |> /8D4D C8         /lea ecx,[local.14]
0041FFC9  |. |E8 73F2FEFF     |call litchi-w.0040F241
0041FFCE  |. |84C0            |test al,al
0041FFD0  |. |74 1F           |je short litchi-w.0041FFF1
0041FFD2  |. |8B4D D0         |mov ecx,[local.12]
0041FFD5  |. |8B41 FC         |mov eax,dword ptr ds:[ecx-0x4]
0041FFD8  |> |395D CC         |/cmp [local.13],ebx
0041FFDB  |. |74 0C           ||je short litchi-w.0041FFE9
0041FFDD  |. |3BC3            ||cmp eax,ebx
0041FFDF  |. |75 05           ||jnz short litchi-w.0041FFE6
0041FFE1  |. |FF4D CC         ||dec [local.13]
0041FFE4  |.^|EB F2           |\jmp short litchi-w.0041FFD8
0041FFE6  |> |885D 0B         |mov byte ptr ss:[ebp+0xB],bl
0041FFE9  |> |8B41 04         |mov eax,dword ptr ds:[ecx+0x4]
0041FFEC  |. |8945 D0         |mov [local.12],eax
0041FFEF  |.^\EB D5           \jmp short litchi-w.0041FFC6
0041FFF1  |>  8D4D C8         lea ecx,[local.14]
0041FFF4  |.  E8 9A8BFEFF     call litchi-w.00408B93
0041FFF9  |.  53              push ebx


程序清单 2
[Asm] 纯文本查看 复制代码
00408B93  /$  8B01            mov eax,dword ptr ds:[ecx]
00408B95  |.  85C0            test eax,eax
00408B97  |.  74 16           je short litchi-w.00408BAF
00408B99  |.  83C0 34         add eax,0x34
00408B9C  |.  83CA FF         or edx,-0x1
00408B9F  |.  F0:0FC110       lock xadd dword ptr ds:[eax],edx
00408BA3  |.  75 0A           jnz short litchi-w.00408BAF
00408BA5  |.  8B09            mov ecx,dword ptr ds:[ecx]
00408BA7  |.  6A 08           push 0x8
00408BA9  |.  FF15 0CC34200   call dword ptr ds:[<&QtCore4.?continueFreeData@QMap>;  QtCore4.?continueFreeData@QMapData@@QAEXH@Z
00408BAF  \>  C3              retn

程序清单 3
[Asm] 纯文本查看 复制代码
0040F241  /$  8B41 04         mov eax,dword ptr ds:[ecx+0x4]
0040F244  |.  8D50 01         lea edx,dword ptr ds:[eax+0x1]
0040F247  |.  8951 04         mov dword ptr ds:[ecx+0x4],edx
0040F24A  |.  85C0            test eax,eax
0040F24C  |.  75 0C           jnz short litchi-w.0040F25A
0040F24E  |.  8B41 08         mov eax,dword ptr ds:[ecx+0x8]
0040F251  |.  3B41 0C         cmp eax,dword ptr ds:[ecx+0xC]
0040F254  |.  74 04           je short litchi-w.0040F25A
0040F256  |.  33C0            xor eax,eax
0040F258  |.  40              inc eax
0040F259  |.  C3              retn
0040F25A  |>  33C0            xor eax,eax
0040F25C  \.  C3              retn


免费评分

参与人数 4威望 +2 热心值 +4 收起 理由
Hmily + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
侏罗纪 + 1 谢谢@Thanks!
零和游戏 + 1 摸索下最新版本吧,关注你哦
smile1110 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

smile1110 发表于 2015-6-20 05:40
我评分快不快,你的这篇文章,俺觉得应该放到原创区,期待更优秀的作品发布

点评

技术文章放脱壳破解区,成品放原创区。  发表于 2015-6-21 09:54
 楼主| cmheia 发表于 2015-6-20 12:26
smile1110 发表于 2015-6-20 05:40
我评分快不快,你的这篇文章,俺觉得应该放到原创区,期待更优秀的作品发布

{:1_903:}好快……
毕竟这版软件过时不能用了,所以发在这看各位点评~
改天再研究教程,摸摸那个新版的~
一块两毛五 发表于 2015-6-20 21:43
smile1110 发表于 2015-6-21 15:29
smile1110 发表于 2015-6-20 05:40
我评分快不快,你的这篇文章,俺觉得应该放到原创区,期待更优秀的作品发布

老大 知道了
只不过去是了 发表于 2015-6-22 09:20
过来学习一下............
zsf531 发表于 2015-6-22 09:44
感谢练手教程..
星晴18 发表于 2015-7-13 17:31
看看新版本行不行
XKQ 发表于 2015-7-13 17:42
学习一下,感谢分享
头像被屏蔽
liang939558108 发表于 2017-2-24 10:42
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表