百度知道疯狂回答机(手脱ASPack 2.12 内存注册机 软件OEM)
软件名称:百度知道疯狂回答机开发者:雨田软件工作室
软件内容:自动提取百度知道问题,自动回答。
破解声明:1.本教程纯粹为了技术讨论,如果侵犯了你的权益,请告之我立即删除。
2.论坛的某些朋友对我发收费贴颇有微词,此篇仅献给初学破解的朋友。
3.这个软件在作者的官方网站已经没有下载了!
使用工具:〈PEiD 0.94〉〈FLYODBG〉 〈ImportREC 1.6〉 〈LordPE〉 〈鬼斧神工一键OEM工具〉〈keymake1.73〉
运行环境:XP
一,脱壳
1.PEiD查壳,ASPack 2.12 -> Alexey Solodovnikov,ESP定律脱壳过程 ,如下:
http://www.bwled.com/prod/1.jpg
2.OG载入:
00505001 b>60 pushad》》》》》》》程序入口
00505002 E8 03000000 call baiduzd.0050500A
00505007 - E9 EB045D45 jmp 45AD54F7
0050500C 55 push ebp
0050500D C3 retn
0050500E E8 01000000 call baiduzd.00505014
00505013 EB 5D jmp short baiduzd.00505072
00505015 BB EDFFFFFF mov ebx,-13
0050501A 03DD add ebx,ebp
0050501C 81EB 00501000 sub ebx,105000
00505022 83BD 22040000 00 cmp dword ptr ss:,0
3.单步到
00505002 E8 03000000 call baiduzd.0050500A 》》》》》单步到这里
4.看寄存器:
EAX 00000000
ECX 0012FFB0
EDX 7C92E4F4 ntdll.KiFastSystemCallRet
EBX 7FFDE000
ESP 0012FFA4》》》》》》》》》》》这里边成红色
EBP 0012FFF0
ESI FFFFFFFF
EDI 7C930208 ntdll.7C930208
EIP 00505002 baiduzd.00505002
5.右键点ESP 0012FFA4,在数据窗口里跟随,如下:
0012FFA408 02 93 7C FF FF FF FF 》》全选橙色部分。右键,断点,设置硬件访问断点,F9运行,来到这里:
005053B0 /75 08 jnz short baiduzd.005053BA》》》》》F9运行,来到这里
005053B7 |C2 0C00 retn 0C
005053BA \68 106E4B00 push baiduzd.004B6E10
005053BF C3 retn
005053C0 8B85 26040000 mov eax,dword ptr ss:
005053C6 8D8D 3B040000 lea ecx,dword ptr ss:
005053CC 51 push ecx
005053CD 50 push eax
6.单步走,到达OEP,习惯了就知道,这个程序是Borland Delphi 6.0 - 7.0:
004B6E10 55 push ebp
004B6E11 8BEC mov ebp,esp
004B6E13 83C4 F0 add esp,-10
004B6E16 B8 A86A4B00 mov eax,baiduzd.004B6AA8
004B6E1B E8 4CF5F4FF call baiduzd.0040636C
004B6E20 A1 E8914B00 mov eax,dword ptr ds:
004B6E25 8B00 mov eax,dword ptr ds:
004B6E27 E8 1894FBFF call baiduzd.00470244
004B6E2C 8B0D 10934B00 mov ecx,dword ptr ds: ; baiduzd.004BAD90
004B6E32 A1 E8914B00 mov eax,dword ptr ds:
7.请出“LordPE”找到程序进程,右键选择进程,完全脱壳,保存文件,dumped.exe。
8.请出“ImportREC 1.6”修复,脱壳后的文件,为什么要修复?因为我们手工脱壳不完美,就是说还有壳在。输入OEP,000B6E10,自动搜索IAT,获取输入表。全部有效。修复脱壳程序,完成后退出。
9.运行脱壳后文件,OK!查壳:Borland Delphi 6.0 - 7.0,试注册,有“注册码错误”错误提示窗口,我们破解的时候可以找按纽时间和字符串
二。破解,寻找注册码。
1.OD载入脱壳程序,停在这里:
004B6E10 > $55 PUSH EBP
004B6E11 .8BEC MOV EBP,ESP
004B6E13 .83C4 F0 ADD ESP,-10
004B6E16 .B8 A86A4B00 MOV EAX,dumped_.004B6AA8
004B6E1B .E8 4CF5F4FF CALL dumped_.0040636C
004B6E20 .A1 E8914B00 MOV EAX,DWORD PTR DS:
004B6E25 .8B00 MOV EAX,DWORD PTR DS:
004B6E27 .E8 1894FBFF CALL dumped_.00470244
2.插件里找字符串ASCII,看“注册码错误”。还真有
超级字串参考, 条目 877
地址=004B535F
反汇编=MOV EDX,dumped_.004B53FC
文本字串=注册码错误
3.双击004B535F进去,OD显示如下:
004B535F BA FC534B00 mov edx,dumped_.004B53FC ; 注册码错误
004B5364 A1 E8914B00 mov eax,dword ptr ds:
004B5369 8B00 mov eax,dword ptr ds:
004B536B E8 FCB0FBFF call dumped_.0047046C
004B5370 33C0 xor eax,eax
004B5372 5A pop edx
4.找到段首
004B52A0 68 98534B00 push dumped_.004B5398》》》》》》》》在这里F2下断
004B52A5 64:FF30 push dword ptr fs:
004B52A8 64:8920 mov dword ptr fs:,esp
004B52AB 8D55 F4 lea edx,dword ptr ss:
004B52AE 8B83 70030000 mov eax,dword ptr ds:
004B52B4 E8 83AFF9FF call dumped_.0045023C
004B52B9 8B45 F4 mov eax,dword ptr ss:
004B52BC 8D4D F8 lea ecx,dword ptr ss:
5.重新栽入程序,F9运行。程序运行后输入假码123456789 ,确定后OD停在
004B52A0 68 98534B00 push dumped_.004B5398》》》》》》》》停在这里
004B52A5 64:FF30 push dword ptr fs:
004B52A8 64:8920 mov dword ptr fs:,esp
004B52AB 8D55 F4 lea edx,dword ptr ss:
004B52AE 8B83 70030000 mov eax,dword ptr ds:
004B52B4 E8 83AFF9FF call dumped_.0045023C
004B52B9 8B45 F4 mov eax,dword ptr ss:
004B52BC 8D4D F8 lea ecx,dword ptr ss:
6.单步
004B52A0 68 98534B00 push dumped_.004B5398
004B52A5 64:FF30 push dword ptr fs:
004B52A8 64:8920 mov dword ptr fs:,esp
004B52AB 8D55 F4 lea edx,dword ptr ss:
004B52AE 8B83 70030000 mov eax,dword ptr ds:
004B52B4 E8 83AFF9FF call dumped_.0045023C
004B52B9 8B45 F4 mov eax,dword ptr ss: ; 这里出现机器码
004B52BC 8D4D F8 lea ecx,dword ptr ss:
004B52BF BA AC534B00 mov edx,dumped_.004B53AC ; m百b度x知l道
004B52C4 E8 03EDFFFF call dumped_.004B3FCC
004B52C9 8B45 F8 mov eax,dword ptr ss:
004B52CC 8D55 FC lea edx,dword ptr ss: ; 机器码
004B52CF E8 CCEBFFFF call dumped_.004B3EA0
004B52D4 8D55 F0 lea edx,dword ptr ss: ; 堆栈中出现很多数据
004B52D7 8B83 74030000 mov eax,dword ptr ds:
004B52DD E8 5AAFF9FF call dumped_.0045023C
004B52E2 8B55 F0 mov edx,dword ptr ss: ; 假注册码
004B52E5 8B45 FC mov eax,dword ptr ss: ; 真注册码
004B52E8 E8 3FF2F4FF call dumped_.0040452C
堆栈中出现的数据:
0012FD8C 0012FDDC指针到下一个 SEH 记录
0012FD90 004B5398SE 句柄
0012FD94 0012FDB0
0012FD98 00AC8000
0012FD9C 00000000
0012FDA0 00000000
0012FDA4 00ACA9E0ASCII "844B2036"
0012FDA8 00AC7CB0
0012FDAC 00AD5A20ASCII "'U'#$84#$ED' '#$84#$F8'K'#$E0"》》其实这个就是真注册码
三.内存注册机的制作
1.请出keymake1.73,选择其他,内存注册机。
2.浏览打开脱壳后的程序。
3.添加,如下信息:
004B52A0 68 98534B00 push dumped_.004B5398
第一次中断地址:004B52A0
第一字节:68
中断次数:1
指令长度:5
004B52E8 E8 3FF2F4FF call dumped_.0040452C
第一次中断地址:004B52E8
第一字节:E8
中断次数:1
指令长度:5
选择生成就可以了!
4.把注册机和原程序放在同一个文件夹内。点注册,注册机会自动出现真实的注册码,复制重新打开程序,输入真实的注册码,OK!注册成功!
四。软件OEM
1.先看下原来人家的版权信息:
http://www.bwled.com/prod/2.gif
2.更换后的版权信息
http://www.bwled.com/prod/3.jpg
最后,有点晚了,最后的版权所有就留下吧!
[ 本帖最后由 y2008 于 2009-6-29 02:36 编辑 ] 阅读权限有点高啊 /:L 的确有点高. 呵呵.! 但要支持你啦.! 汗,解压密码呢:funk: 的确有点高. 呵呵.! 但要支持你啦.! 支持原创!~ 没权限,但是一定要支持 我已买,请将密码发我 我晕
没密码怎么搞
打都打不开
您不会还让我们破解这个密码吧 t大自己破解个就是了,还用下他的修改版做什么,而且又那么贵