首页
社区
课程
招聘
[求助]手脱FSG 2.0 -> bart/xt,但不知道怎么修复这个
发表于: 2009-8-13 11:12 8734

[求助]手脱FSG 2.0 -> bart/xt,但不知道怎么修复这个

2009-8-13 11:12
8734
这个不是什么强壳,我是菜鸟,新手看脱壳,老鸟帮我看看怎么修复

先使用内存断点,然后单步跟踪,会来到

004001CA    8B07            mov     eax, dword ptr [edi]
004001CC    40              inc     eax
004001CD  ^ 78 F3           js      short 004001C2
004001CF    75 03           jnz     short 004001D4
004001D1    FF63 0C         jmp     dword ptr [ebx+C]                ;让程序F4到这里
004001D4    50              push    eax
004001D5    55              push    ebp                              ; kernel32.7C800000
004001D6    FF53 14         call    dword ptr [ebx+14]
004001D9    AB              stos    dword ptr es:[edi]
004001DA  ^ EB EE           jmp     short 004001CA                   ; 这里需要回跳
004001DC    33C9            xor     ecx, ecx
004001DE    41              inc     ecx

004001D1    FF63 0C         jmp     dword ptr [ebx+C] 程序F4到这里,然后F8一下就来到了OEP了。

但是我还不知道怎么修复这个程序 ,谁告诉我下下啊 ?

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 388
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
到地址
0055AADB     jmp     004B59C0处 F4
EIP 会移到这里 F8单步
到OEP 直接脱之 保存 即可
2009-8-13 11:23
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不对吧,直接脱的话程序就运行不了了,我是想问脱完后怎么修复!
2009-8-13 12:19
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hcg
4
1. 命令列   he 004B59BC  按一下 Enter 後 按 F9 到達 OEP

2. LordPE 轉存檔案

3.開啟 ImportREC 載入進程
   
   OEP:  000B59BC
   RVA:  000BA18C
   大小:  748

擷取輸入表 ---->  顯示無效函式 ---->   剪下無效函數

修復轉存檔案。 OK !
2009-8-13 13:17
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
晕~找了半天才把那个IAT找出来,我还以为是分开放的...
2009-8-13 19:44
0
雪    币: 220
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
能说说脱的过程吗?想知道是怎么到达OEP的,和怎么找到IAT的,高手总是会帮助我们这样的新手的,等待中......
2009-8-13 22:28
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
到达OEP貌似 我都说得很清楚了 .....  4楼也把 IAT说得很了...
2009-8-14 09:36
0
雪    币: 220
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
IAT   是怎么找到的啊?OEP 俺找到了,能说说IAT的手动查找吗?
2009-8-14 10:07
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
OK了。。。
上传的附件:
2009-8-14 20:40
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
断GetProcAddress,断下返回。
004001C2    AD              lods    dword ptr [esi] //下一个输入DLL
004001C3    97              xchg    eax, edi
004001C4    AD              lods    dword ptr [esi]
004001C5    50              push    eax
004001C6    FF53 10         call    dword ptr [ebx+10]//LoadLibraryA
004001C9    95              xchg    eax, ebp
004001CA    8B07            mov     eax, dword ptr [edi]
004001CC    40              inc     eax
004001CD  ^ 78 F3           js      short 004001C2
004001CF    75 03           jnz     short 004001D4
004001D1    FF63 0C         jmp     dword ptr [ebx+C]//跳OEP
004001D4    50              push    eax
004001D5    55              push    ebp
004001D6    FF53 14         call    dword ptr [ebx+14]//GetProcAddress
004001D9    AB              stos    dword ptr es:[edi]//写入函数地址


在004001C2下一个段,然后d esi

004BA000 004BA7D4 SEO伴侣V.004BA7D4
004BA004 004BA8D4 ASCII "KERNEL32.DLL"
004BA008 004BA8CC SEO伴侣V.004BA8CC
004BA00C 004BA8E1 ASCII "KERNEL32.DLL"
004BA010 004BA27C SEO伴侣V.004BA27C
004BA014 004BA8EE ASCII "KERNEL32.DLL"
004BA018 004BA258 SEO伴侣V.004BA258
004BA01C 004BA8FB ASCII "KERNEL32.DLL"
004BA020 004BA190 SEO伴侣V.004BA190
004BA024 004BA908 ASCII "KERNEL32.DLL"
004BA028 004BA238 SEO伴侣V.004BA238
004BA02C 004BA915 ASCII "advapi32.dll"
004BA030 004BA26C SEO伴侣V.004BA26C
004BA034 004BA922 ASCII "advapi32.dll"
004BA038 004BA844 SEO伴侣V.004BA844
004BA03C 004BA92F ASCII "comctl32.dll"
004BA040 004BA8AC SEO伴侣V.004BA8AC
004BA044 004BA93C ASCII "comdlg32.dll"
004BA048 004BA3D4 SEO伴侣V.004BA3D4
004BA04C 004BA949 ASCII "gdi32.dll"
004BA050 004BA800 SEO伴侣V.004BA800
004BA054 004BA953 ASCII "ole32.dll"
004BA058 004BA7DC SEO伴侣V.004BA7DC
004BA05C 004BA95D ASCII "oleaut32.dll"
004BA060 004BA834 SEO伴侣V.004BA834
004BA064 004BA96A ASCII "oleaut32.dll"
004BA068 004BA248 SEO伴侣V.004BA248
004BA06C 004BA977 ASCII "oleaut32.dll"
004BA070 004BA8A4 SEO伴侣V.004BA8A4
004BA074 004BA984 ASCII "shell32.dll"
004BA078 004BA50C SEO伴侣V.004BA50C
004BA07C 004BA990 ASCII "user32.dll"
004BA080 004BA224 SEO伴侣V.004BA224
004BA084 004BA99B ASCII "user32.dll"
004BA088 004BA3C4 SEO伴侣V.004BA3C4
004BA08C 004BA9A6 ASCII "version.dll"
004BA090 004BA8B8 SEO伴侣V.004BA8B8
004BA094 004BA9B2 ASCII "wsock32.dll"

从这中间随便找一个,D一下,然后跑到OEP的时候查看那里的内存,网上拉找到数据块的起始处

004BA184 00000000
004BA188 00000000
004BA18C 00000000
004BA190 7C93137A ntdll.RtlDeleteCriticalSection
004BA194 7C9210E0 ntdll.RtlLeaveCriticalSection
004BA198 7C921000 ntdll.RtlEnterCriticalSection
004BA19C 7C809F91 kernel32.InitializeCriticalSection
004BA1A0 7C809B84 kernel32.VirtualFree
004BA1A4 7C809AF1 kernel32.VirtualAlloc
004BA1A8 7C8099CF kernel32.LocalFree
................

然后不用说了吧
2009-8-14 20:47
0
游客
登录 | 注册 方可回帖
返回
//