天堂天下台服内挂2.98A
下载地址:
http://www.txtt2.com/
加壳方式:UltraProtect 1.x -> RISCO Software Inc.
OD异常设置不忽略内存异常,其余全部忽略,载入程序,用插件隐藏OD。
006A1000 L> 60 pushad//加壳程序入口点,F9运行
006A1001 E8 01000000 call Line2.006A1007
006A1006 9A 83C40447 48F8 call far F848:4704C483
006A100D FC cld
006A100E 50 push eax
006A100F E8 01000000 call Line2.006A1015
006A1014 - 75 83 jnz short Line2.006A0F99
006A1016 C40458 les eax,fword ptr ds:[eax+ebx*2]
006A1019 66:C1C9 83 ror cx,83
内存异常
004DEC71 CD 01 int 1//典型Acprotect小于1.20版最后一次异常
004DEC73 40 inc eax
004DEC74 40 inc eax
004DEC75 0BC0 or eax,eax
004DEC77 75 0C jnz short Line2.004DEC85
004DEC79 90 nop
004DEC7A 90 nop
004DEC7B 90 nop
堆栈内容
0012E0E0 0012FF04 指针到下一个 SEH 记录
0012E0E4 004DEC55 SE 句柄
ctrl+G,004DEC55
004DEC55 8B5C24 0C mov ebx,dword ptr ss:[esp+C]//下断点Shift+F9中断1
004DEC59 8383 B8000000 02 add dword ptr ds:[ebx+B8],2
004DEC60 33C0 xor eax,eax
004DEC62 C3 retn
004DEC63 64:67:FF36 0000 push dword ptr fs:[0]
004DEC69 64:67:8926 0000 mov dword ptr fs:[0],esp
004DEC6F 33C0 xor eax,eax
004DEC71 CD 01 int 1
004DEC73 40 inc eax
004DEC74 40 inc eax
004DEC75 0BC0 or eax,eax
004DEC77 75 0C jnz short Line2.004DEC85
004DEC79 90 nop
004DEC7A 90 nop
004DEC7B 90 nop
......
004DECAC 8B048E mov eax,dword ptr ds:[esi+ecx*4]//下断点Shift+F9中断2
004DECAF 8B5C8E 04 mov ebx,dword ptr ds:[esi+ecx*4+4>
004DECB3 33C3 xor eax,ebx
004DECB5 C1C0 0A rol eax,0A
004DECB8 2BC2 sub eax,edx
004DECBA 81C2 5C096A98 add edx,986A095C
004DECC0 89048E mov dword ptr ds:[esi+ecx*4],eax
004DECC3 49 dec ecx
004DECC4 ^ EB E1 jmp short Line2.004DECA7
004DECC6 61 popad
004DECC7 61 popad
004DECC8 C3 retn//F4直接下来,下模拟跟踪
Ctrl+T设置暂停运行跟踪条件
将命令是一个复选框打勾,填入 PUSH EBP ,确定。
Ctrl+F11跟踪进入
004E355E 55 push ebp ///入口点,DUMP
004E355F 8BEC mov ebp,esp
004E3561 83EC 14 sub esp,14
004E3564 894D EC mov dword ptr ss:[ebp-14],ecx
004E3567 817D 08 B6030000 cmp dword ptr ss:[ebp+8],3B6
004E356E 75 1D jnz short Line2.004E358D
004E3570 68 48E96600 push Line2.0066E948 ; ASCII "GuiTaiWan.dll"
004E3575 FF15 F0D16400 call dword ptr ds:[64D1F0] ; kernel32.LoadLibraryA
004E357B 8945 FC mov dword ptr ss:[ebp-4],eax
004E357E 837D FC 00 cmp dword ptr ss:[ebp-4],0
004E3582 74 09 je short Line2.004E358D
004E3584 8B45 FC mov eax,dword ptr ss:[ebp-4]
004E3587 50 push eax
004E3588 E8 63050000 call Line2.004E3AF0
004E358D 817D 08 B5030000 cmp dword ptr ss:[ebp+8],3B5
004E3594 75 1D jnz short Line2.004E35B3
004E3596 68 38E96600 push Line2.0066E938 ; ASCII "GuiAmerican.dll"
004E359B FF15 F0D16400 call dword ptr ds:[64D1F0] ; kernel32.LoadLibraryA
运行ImportREC,选择这个进程,OEP=E355E,RVA=24D000,size=700,点IT AutoSearch,点“Get Import”,有一个函数无效,
rva=0024D5A0 PTR:004DD316
直接剪切掉。修复成功,双击脱壳的程序一闪而过.
OD重新载入脱壳后的程序
004E355E 1>/$ 55 push ebp
004E355F |. 8BEC mov ebp,esp
004E3561 |. 83EC 14 sub esp,14
004E3564 |. 894D EC mov dword ptr ss:[ebp-14],ecx
004E3567 |. 817D 08 B6030000 cmp dword ptr ss:[ebp+8],3B6
004E356E |. 75 1D jnz short 111_.004E358D
.....
004E358D |> \817D 08 B5030000 cmp dword ptr ss:[ebp+8],3B5
004E3594 |. 75 1D jnz short 111_.004E35B3
......
004E35B3 |> \817D 08 E4040000 cmp dword ptr ss:[ebp+8],4E4
004E35BA |. 75 1D jnz short 111_.004E35D9
.........
004E35D9 |> \817D 08 A4030000 cmp dword ptr ss:[ebp+8],3A4
004E35E0 |. 75 1D jnz short 111_.004E35FF
..............
004E35FF |> \8BE5 mov esp,ebp
004E3601 |. 5D pop ebp
004E3602 \. C2 0400 retn 4
77E614C7 50 push eax
77E614C8 E8 C235FFFF call kernel32.ExitThread ///退出线程
77E614CD CC int3
77E614CE 8D88 FEEFFFFF lea ecx,dword ptr ds:[eax-1002]
请各位高手指点:
我找的入口点是否正确,如果正确,自校验怎么解决。。。。
:D :D
[课程]Android-CTF解题方法汇总!