本帖最后由 zbnysjwsnd8 于 2017-8-9 13:42 编辑
{:1_902:}
唔。。。感觉蛮简单 注册码是201778
0x0 爆破:
按照这个修改即可。
[Asm] 纯文本查看 复制代码 0040414F . 837D E8 00 cmp dword ptr ss:[ebp-0x18],0x0
00404153 . 90 nop
00404154 . 90 nop
00404155 . 90 nop
00404156 . 90 nop
00404157 . 90 nop
00404158 . 90 nop
00404159 . 833D 0CF34A00>cmp dword ptr ds:[0x4AF30C],0x0
00404160 . 90 nop
00404161 . 90 nop
00404162 . 90 nop
00404163 . 90 nop
00404164 . 90 nop
00404165 . 90 nop
00404166 . 837D EC 00 cmp dword ptr ss:[ebp-0x14],0x0
0040416A . EB 52 jmp short CM1_1.004041BE
0040416C 90 nop
0040416D 90 nop
0040416E 90 nop
0040416F 90 nop
爆破效果图:
顺便说一下怎么过掉反调试(我这里遇到两个 一个是ZwSetInformationThread 另一个是SetUnhandledExceptionFilter)
ZwSetInformationThread:将0x004021EB处的push 0x11改成push 0。这个反调试就GG了
SetUnhandledExceptionFilter:
在kernel32!UnhandledExceptionFilter处有调用ntdll!ZwQueryInformationProcess来查询DEBUG PORT
如果DEBUG PORT不为0的话 就将异常交给调试器 调试器如果不处理程序就GG。
不多说了 直接放代码吧。
[Asm] 纯文本查看 复制代码 7600EFEE 8BFF mov edi,edi ; fx.<ModuleEntryPoint>
7600EFF0 55 push ebp
7600EFF1 8BEC mov ebp,esp
7600EFF3 51 push ecx ; fx.<ModuleEntryPoint>
7600EFF4 56 push esi ; fx.<ModuleEntryPoint>
7600EFF5 33F6 xor esi,esi ; fx.<ModuleEntryPoint>
7600EFF7 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
7600EFFA 56 push esi ; fx.<ModuleEntryPoint>
7600EFFB 6A 04 push 0x4
7600EFFD 50 push eax
7600EFFE 6A 07 push 0x7
7600F000 6A FF push -0x1
7600F002 8975 FC mov dword ptr ss:[ebp-0x4],esi ; fx.<ModuleEntryPoint>
7600F005 FF15 20A00276 call dword ptr ds:[<&ntdll.NtQueryInform>; ntdll.ZwQueryInformationProcess
7600F00B 85C0 test eax,eax
7600F00D 78 06 js short KernelBa.7600F015
7600F00F 3975 FC cmp dword ptr ss:[ebp-0x4],esi ; fx.<ModuleEntryPoint>
7600F012 74 01 je short KernelBa.7600F015 ; 修改这里 将je改成jmp即可
7600F014 46 inc esi ; fx.<ModuleEntryPoint>
7600F015 8BC6 mov eax,esi ; fx.<ModuleEntryPoint>
7600F017 5E pop esi ; kernel32.75DA38F4
7600F018 8BE5 mov esp,ebp
7600F01A 5D pop ebp ; kernel32.75DA38F4
7600F01B C3 retn
为了方便可以写一个DLL来做这些工作
然后给CM加一个导入表即可。
放一个我写的Anti-Anti-Debug代码
0x1 追码:
算法其实就在判断的上面。
设注册码为a
则有a * 44 * 2 = 44 * 403556
解得a = 201778 追码效果图:
|