- UID
- 40117
注册时间2007-12-5
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
发表于 2009-3-24 17:09:53
|
显示全部楼层
本人菜鸟,学习的时候有很多迷茫,过程写的比较详细。希望可以帮助你增加点成就感,呵呵!
没有仔细跟,这个是检测调试的,如果检测到,退出进程,删除自己。直接用插件hideod隐藏od
004049D4 |. /75 1A |jnz short 004049F0
004049D6 |. |833D 24004B00>|cmp dword ptr [4B0024], 0
004049DD |. |74 06 |je short 004049E5
004049DF |. |FF15 24004B00 |call dword ptr [4B0024]
004049E5 |> |A1 00D04A00 |mov eax, dword ptr [4AD000]
004049EA |. |50 |push eax ; /ExitCode => 0
004049EB |. |E8 7CC8FFFF |call <jmp.&KERNEL32.ExitProcess> ; \ExitProcess
004049F0 |> \8B03 |mov eax, dword ptr [ebx]
自检验调用有三处
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 [ebp-8C]
在004AA511 |. E8 16C6FFFF call 004A6B2C一行回车
双击代码
mov eax, 007D000 回车
retn 回车
2,注册的地方
004932F2 . 8B83 18030000 mov eax, dword ptr [ebx+318]
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 00B13798 ASCII "e22757b7f3dfee4c46f0bde6bc7ed36c" |
|