1 min to read
反汇编练习160个CM之[018]
新手入门,反汇编实战练手

160个CM下载:cm160.7z_免费高速下载|百度网盘-分享无限制 分享一下自己破解CM018《Brad Soblesky.1》过程 001和019方法完全一样!可以自己试试
一、查壳
可以发现没有壳,是用C++编写的。
二、分析并爆破
- 用OD载入程序,
F9
运行,随意输入序列号,提示Incorrect try again!!!。
- 跳转到
7588113C
,使用Alt+K
打开调用堆栈。找到MessageBox
,右键选择“显式调用”。
- 跳转到了
6ABAA693
,右键选择“分析”-“分析代码”,根据提示找到函数头6ABAA670
,在这两个位置下断点。
F9
运行程序,程序断在6ABAA670
。来到堆栈窗口,最近的一条返回语句上右键->反汇编窗口中跟随(或按Enter键)。
- 程序跳转到
004015C1
,向上找到了注册成功语句0040159E
。向上找到了两个跳转语句00401595
和00401583
。
- 将这两个语句
NOP
掉。
- 另存并运行,随意输入序列号,注册成功。
三、追码
真码查找 找到correct前面的关键跳转:
0040156D |. /73 16 jnb short Brad_Sob.00401585
关键跳转前面的关键call:
00401560 |. FF15 04204000 call dword ptr ds:[<&KERNEL32.lstrlenA>] ; \lstrlenA
打断点,一步一步F8跟,得到注册码<BrD-SoB>
编者在吾爱破解上也发布了帖子,感兴趣的话可以去看看:
评论