【交作业贴】吾爱破解培训第六课交作业专帖
前提介绍:《吾爱破解培训第六课:潜伏在程序身边的黑影--实战给程序补丁》 讲师:我是用户 http://www.52pojie.cn/thread-405758-1-1.html
将作业破解成功(包括内存注册机和内存补丁)回复内容包括解决问题步骤,最后的成品可以上传网盘贴地址,节省论坛空间就不要上传到论坛了。
作业截至到2015年9月6号00:00前提交算数,没有加报名群的同学也可以提交,后期会通过作业的提交情况,来淘汰没有交作业的,让交作业的新人加入。
对于作业的解答我已经更新到上面培训贴中,作业遇到问题的可以参考一下。
帖子我设置只有我可见,等一周后取消,切记不要回复和作业无关内容,否则会被扣分,前50个名交作业的同学有奖励。
额外奖励:分析出作业的算法并写出注册机50CB(取前三名)
第六课作业完成过程:
OD载入查找不到字符串
在OD中F9运行起程序
按ALT+E,双击程序进入领空
删除分析
查找字符
找到注册成功
双击注册成功,到达打内存补丁处。
打开补丁程序
上面完成内存补丁
**************************************
用上面的方法查找字符串,下好断点,输入假码
点注册断下后,手动向下跟来到真码处
写内存注册机
运行注册机测试。
完成!!!
第六课作业:http://pan.baidu.com/s/1ntJ33vV
查壳后发现是vmp壳,并不会手脱。。。于是翻帖子。找到带壳做补丁方法。od载入,运行。点击工具栏上的E按钮,如图
双击第一个进入程序代码
智能搜索,找到注册成功字符进入后去除分析
前面的jnz即为关键跳,打开补丁工具
如图操作后完成即可。
如上找到注册成功字符所在代码,往前找到代码段入口
下断点,由于带壳,无法重新载入,直接程序随便输入数据后段在断点处,单步跟,找到字符比较算法代码段
打开keymake工具,按照下图添加。
至此,完成打补丁。
作业地址。。。
http://pan.baidu.com/s/16sKFG a78q
其实这一课真的没什么大多内容,主要就是说前一课的算法和这课的相关软件的使用,对于破解好像是前面的内容。所以这个破解过程应该可以省略。
主要就是在注册成功的上面那个跳给他NOP就行了 ,至于那个注册码就是在那个应该是循环中的EAX中获得。这些东西课程中好像全部说到了,等于就是照葫芦画瓢。
作业地址:http://pan.baidu.com/s/1dDoBAWp http://1000eb.com/1fqqo
内存补丁 爆破点
0040346B|. /75 07 jnz short 吾爱破解.00403474
改9090
内存注册机
0040343B|. /EB 03 jmp short 吾爱破解.00403440
EAX即注册码
算法
取用户名 与字符串"123456"拼接 计算MD5 即为注册码
到大写 (取数据摘要 (到字节集 (用户名+ “123456”))) 本帖最后由 苏紫方璇 于 2015-8-30 00:22 编辑
算法是注册码=MD5(注册名+“123456”)
链接: http://pan.baidu.com/s/1sjn7jsD 密码: 31fw 本帖最后由 pnccm 于 2015-8-30 13:20 编辑
一.内存补丁
1.首先查壳>>vmp壳
2.运行程序点击注册看看是否有关键提示信息
3.OD载入程序,F9运行程序Ctrl+G 输入00401000后确定Ctrl+A分析代码
4.搜索中文字符串 Ctrl+F 查找"注册失败"
5.找到后双击"注册失败"来到反汇编窗口,往上找到跳过注册失败的跳转
0040346B|. /75 07 jnz X00403474 ;这里是关键跳转jnz修改为nop 也就是把75 07 修改为90 90
0040346D|. |68 80E15700 push 0057E180 ;注册成功
00403472|. |EB 10 jmp X00403484
00403474|> \68 8CE15700 push 0057E18C ;注册失败双击后来到这里往上找到关键跳
二.内存注册机.
1.OD载入程序,F9运行程序Ctrl+G 输入00401000后确定 Ctrl+A分析代码
2.搜索中文字符串 Ctrl+F 查找"注册失败"
3.找到后双击"注册失败"来到反汇编窗口,往上找到断首,在断首处下F2断点
4.然后F9运行程序输入用户名和key.点击注册后会断在刚才F2的断点处,然后一直F8单步跟踪,然后注意看各个寄存器的值是否有出现正确key
5.当其中一个寄存器出现正确的key时此时反汇编窗口的地址就是我们写内存注册机的 内存地址.
6.运行到该地址时:
00403436|.8B4D E8 mov ecx,此时esi的值已经出现了我们的正确key
我们就可以取该内存地址: 00403436 做为写内存注册机的内存地址
如下:
内存地址: 00403436
中断次数: 1
第一字节: 8B
指令长度: 1
也可以取下面这里做为内存注册机的地址
此处的代码寄存器EAX的值也是正确的key.该地址也是我是用户大牛做内存注册机的地址
00403440|>8A10 /mov dl,byte ptr ds: ;此时EAX的值已经出现正确key
00403442|. |3A11 |cmp dl,byte ptr ds: ;下面代码部分是真key和假key对比
00403444|. |75 1A |jnz X00403460
00403446|. |84D2 |test dl,dl
00403448|. |74 12 |je X0040345C
0040344A|. |8A50 01 |mov dl,byte ptr ds:
0040344D|. |3A51 01 |cmp dl,byte ptr ds:
00403450|. |75 0E |jnz X00403460
00403452|. |83C0 02 |add eax,0x2
00403455|. |83C1 02 |add ecx,0x2
00403458|. |84D2 |test dl,dl
0040345A|.^\75 E4 \jnz X00403440
内存地址: 00403440
中断次数: 1
第一字节: 8A
指令长度: 1
算法部分没有仔细深入研究.只知道 是取用户名加上"123456"串联起来然后进行MD5运算.举个例子:用户名=pnccm 那么加上 123456那么正确的key就是 pnccm123456 进行MD5运算后的结果.也就是pnccm123456的MD5值就是正确的key
然后把该key转化为大写:4A185F5ACD6415CCE8E9F6FF12A24D49
内存补丁+ 内存注册机_链接: 吾爱破解培训第六课作业_pnccm
本帖最后由 灰色 于 2015-8-30 14:27 编辑
交作业了
算法是取user的大写md5数据加上123456
本帖最后由 mak 于 2015-8-30 16:17 编辑
爆破法
0040339A /0F84 CD000000 je 吾爱破解.0040346D
004033A7 /0F84 C0000000 je 吾爱破解.0040346D
0040346B /75 00 jnz short 吾爱破解.0040346D
补丁程序 : XH1.0 就可以
注册机法
方法(1) 取eax
00403440|>8A10 /mov dl,byte ptr ds:
方法(2) 取eax
00403460|> \1BC0 sbb eax,eax
补丁程序 :KeyMake V2.0
本帖最后由 奋斗丶小Z 于 2015-8-30 08:50 编辑
先把程序载入OD点击运行,然后回到用户代码搜索字符串
搜索到找到注册成功的地方吧,jnz改成nop(内存补丁)
0040346B /75 07 jnz short 吾爱破解.00403474
找到判断算法的地方的
00403440 8A10 mov dl,byte ptr ds:
然后安装教程制作注册机
地址链接:http://pan.baidu.com/s/1eQttjY6 密码:4rmv
更新注册机
http://pan.baidu.com/s/1sj63YiD注册机用str+123456 之后的md5验证,注册机用c#写的海盗小K的注册机在我前面完成的哦 好吧,跨平台可能有问题。。。
不想了。。
http://yunpan.cn/cmdmGdhQ9YHNz访问密码 fe76 好吧 第一次交作业就被扣分了。。
内存补丁方式:
爆破补丁方式:
两种补丁方式下载:http://1000eb.com/1fqr9
时隔三个星期,终于可以交作业啦!
首先感谢我是用户大牛给我们带来的精彩教程,同时为我上次由于外出而没赶上交作业感到遗憾。
首先说下补丁思路。
不同于第六课的Demo,作业由于VMP加密,无法通过搜索字符串定位关键代码,于是我们使用F12堆栈回溯法成功定位关键代码。
关键代码处字符串也清晰可见,爆破(即内存补丁)思路为关键跳NOP掉。
追码思路也很简单,按钮事件下断,单步走下来,发现程序会将真码保存在EDX中,打开KeyMake,按F8做内存注册机,选择内存,寄存器选择EDX即可。
这样两个补丁就都做好了。
然后说下追算法,这里有运气成分,单步的时候看堆栈发现会将User后面连上一个123456,然后观察真码,发现是32位,而且仅限于0123456789ABCDEF,很容易想到是MD5加密。
随便弄了几组Key看了下,证实了我的猜测,也就有了_BaZzi所说的一行代码的算法注册机。
代码如下:
算法注册机界面:
至此作业成功完成。
不知道算法注册机我是不是前三个做出来的。还望大牛指点一二。@我是用户
成品链接:http://pan.baidu.com/s/1eQGtPUa 密码:5tld
以上。