去自校验

【免责声明】 :纯属技术交流

为hb****写的破解笔记

破解一软件,名字是厨卫XXXXX,主要是去除自校验的思路。

查壳,ASPack 2.001 -> Alexey Solodovnikov

应该没多大问,手动脱壳。无法运行,修复是一个习惯。

修复后,一看是Borland Delphi 6.0 - 7.0,运行后更很郁闷,一闪,程序没了,退出了,

肯定有自校验。晕晕。

OD载入已脱壳的程序,开始的时候用CreateFileA,找不到他的自校验跳转的地方。

试试bpx hmemcpy,找找他的读取文件大小的GetFileSize。

Intermodular calls,项目 808
 地址=00402EA0
 反汇编=call
 目标=kernel32.GetFileSize

对GetFileSize全部下断点。运行跟踪他(记得要隐藏OD哦,不然OD也会退出)。

00403215   /77 23       ja short dumped_.0040323A
00403217   |6A 00       push 0
00403219   |8B03        mov eax,dword ptr ds:[ebx]
0040321B   |50          push eax
0040321C   |E8 0FE1FFFF call
00403221   |8BF0        mov esi,eax
00403223   |83FE FF     cmp esi,-1
00403226   |75 07       jnz short dumped_.0040322F
00403228   |E8 B3F7FFFF call dumped_.004029E0
0040322D   |EB 15       jmp short dumped_.00403244
0040322F   |8BC6        mov eax,esi
00403231   |33D2        xor edx,edx
00403233   |F773 08     div dword ptr ds:[ebx+8]
00403236   |8BF0        mov esi,eax
00403238   |EB 0A       jmp short dumped_.00403244
0040323A   /B8 67000000 mov eax,67
0040323F    E8 8CF7FFFF call dumped_.004029D0
00403244    8BC6        mov eax,esi
00403246    5E          pop esi
00403247    5B          pop ebx
00403248    C3          retn           //下一步到00530C37
00403249    8D40 00     lea eax,dword ptr ds:[eax]
0040324C    57          push edi

到这,慢慢跟踪他。

00530C37    E8 741DEDFF call dumped_.004029B0
00530C3C    8BD8        mov ebx,eax
00530C3E    8D85 B4FEFF>lea eax,dword ptr ss:[ebp-14C]
00530C44    E8 1324EDFF call dumped_.0040305C
00530C49    E8 621DEDFF call dumped_.004029B0
00530C4E    81FB 00E00C>cmp ebx,0CE000
00530C54    74 05       je short dumped_.00530C5B           //就这,将je改成jmp,跳走,就OK了
00530C56    E8 813BEDFF call dumped_.004047DC        / /就他,该死的,会退出的。
00530C5B    33C0        xor eax,eax
00530C5D    5A          pop edx
00530C5E    59          pop ecx
00530C5F    59          pop ecx
00530C60    64:8910     mov dword ptr fs:[eax],edx
00530C63    68 7B0C5300 push dumped_.00530C7B
00530C68    8D85 B0FEFF>lea eax,dword ptr ss:[ebp-150]
00530C6E    E8 DD3CEDFF call dumped_.00404950
00530C73    C3          retn
00530C74  ^ E9 7735EDFF jmp dumped_.004041F0

修改后,将文件保存,一运行,不会退出了。

去除自校验OK。剩下的是破解了,由于是网络验证的方式,我选择的是暴力破解。改几下跳转就行了。

你可能感兴趣的:(去自校验)