搞不定自效验,大家看看。
搞不定自效验,大家看看。http://www.ysza.com/ 里的屏幕录像机 用SetFilePointer断点,断下几次后,即可来到关键代码处!004AA506 |.E>call 复件_dum.0046BA50
004AA50B |.8>mov eax, dword ptr ss:[ebp-88]
004AA511 |.E>call 复件_dum.004A6B2C
004AA516 |.8>mov esi, eax
004AA518 |.8>cmp esi, 7D000 //这里是关键比较,ESI中是当前脱壳程序的大小
004AA51E |.7>jle short 复件_dum.004AA542
004AA520 |.8>lea edx, dword ptr ss:[ebp-8C]
004AA526 |.A>mov eax, dword ptr ds:
004AA52B |.8>mov eax, dword ptr ds:[eax]
004AA52D |.E>call 复件_dum.0046BA50 还有一处校验,是一样的代码,在点击注册后,校验的,方法同LS
004AB14D|.3D 00D00700 cmp eax, 7D000
004AB152|.7E 1C jle short 004AB170 改跳转就可以
004AB154|.8D55 F4 lea edx, dword ptr
004AB157|.A1 40F94A00 mov eax, dword ptr
004AB15C|.8B00 mov eax, dword ptr
004AB15E|.E8 ED08FCFF call 0046BA50
004AB163|.8B45 F4 mov eax, dword ptr
004AB166|.E8 99BAFFFF call 004A6C04
004AB16B|.E8 B897F5FF call 00404928
004AB170|>E8 73BAFFFF call 004A6BE8
[ 本帖最后由 孤漂江湖狼 于 2009-3-5 11:05 编辑 ] 另外还有一处自校验。是在录像后。这个软件运用明码比较。带壳可以很容易直接搞定。 原帖由 xingyue 于 2009-3-5 08:50 发表 https://www.chinapyg.com/images/common/back.gif
,断下几次后,即可来到关键代码处!
004AA506 |.E>call 复件_dum.0046BA50
004AA50B |.8>mov eax, dword ptr ss:
004AA511 |.E>call 复件_dum.004A6B2C
004AA5 ...
用SetFilePointer断点后,怎么来到关键代码处呀?我找不到你所示的关键代码处。教教我。 其实不改跳转,把7D000改为比较里的值就可以了。 好几处自校验呢,我搞不定。 带壳调省事 本人菜鸟,学习的时候有很多迷茫,过程写的比较详细。希望可以帮助你增加点成就感,呵呵!
没有仔细跟,这个是检测调试的,如果检测到,退出进程,删除自己。直接用插件hideod隐藏od
004049D4|. /75 1A |jnz short 004049F0
004049D6|. |833D 24004B00>|cmp dword ptr , 0
004049DD|. |74 06 |je short 004049E5
004049DF|. |FF15 24004B00 |call dword ptr
004049E5|> |A1 00D04A00 |mov eax, dword ptr
004049EA|. |50 |push eax ; /ExitCode => 0
004049EB|. |E8 7CC8FFFF |call <jmp.&KERNEL32.ExitProcess> ; \ExitProcess
004049F0|> \8B03 |mov eax, dword ptr
自检验调用有三处
004a847a call 004A6B2C
004aa511 call 004A6B2C
004ab148 call 004A6B2C
1 ,通过修改检验子程序去除自校验
ctrl + G 004AA511 回车
004AA511|.E8 16C6FFFF call 004A6B2C
004AA516|.8BF0 mov esi, eax
004AA518 81FE 00800D00 cmp esi, 7d000
004AA51E|.7E 22 jle short 004AA542
004AA520|.8D95 74FFFFFF lea edx, dword ptr
在004AA511|.E8 16C6FFFF call 004A6B2C一行回车
双击代码
mov eax, 007D000 回车
retn 回车
2,注册的地方
004932F2 .8B83 18030000 mov eax, dword ptr
004932F8 .E8 D3130000 call 004946D0 //关键call f7
004932FD .84C0 test al, al
004932FF .75 56 jnz short 00493357
00493301 .6A 00 push 0
00493303 .68 D0334900 push 004933D0 ;警告
00493308 .68 D8334900 push 004933D8 ;注册失败!\n注册码错误
0049330D .8BC3 mov eax, ebx
0049330F .E8 64EAFBFF call 00451D78
00493314 .50 push eax ; |hOwner
00493315 .E8 BE42F7FF call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
单步走看堆栈出现
0012F1F4 00B13798ASCII "e22757b7f3dfee4c46f0bde6bc7ed36c"
页:
[1]