jzyjd 发表于 2009-3-4 16:57:48

搞不定自效验,大家看看。

搞不定自效验,大家看看。http://www.ysza.com/ 里的屏幕录像机

xingyue 发表于 2009-3-5 08:50:34

用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

孤漂江湖狼 发表于 2009-3-5 10:54:21

还有一处校验,是一样的代码,在点击注册后,校验的,方法同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 编辑 ]

西门官人 发表于 2009-3-5 13:14:13

另外还有一处自校验。是在录像后。这个软件运用明码比较。带壳可以很容易直接搞定。

jzyjd 发表于 2009-3-5 21:22:15

原帖由 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断点后,怎么来到关键代码处呀?我找不到你所示的关键代码处。教教我。

老海 发表于 2009-3-13 11:20:08

其实不改跳转,把7D000改为比较里的值就可以了。

jzyjd 发表于 2009-3-13 14:17:28

好几处自校验呢,我搞不定。

rxzcums 发表于 2009-3-16 11:14:18

带壳调省事

sswater 发表于 2009-3-24 17:09:53

本人菜鸟,学习的时候有很多迷茫,过程写的比较详细。希望可以帮助你增加点成就感,呵呵!

没有仔细跟,这个是检测调试的,如果检测到,退出进程,删除自己。直接用插件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]
查看完整版本: 搞不定自效验,大家看看。