飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4296|回复: 16

[求助] 修复文件表问题及去自检验问题,请指出我操作的不对之处

[复制链接]

该用户从未签到

发表于 2008-9-15 10:11:34 | 显示全部楼层 |阅读模式
程序名称:QQ棋牌伴侣3.4.4版
编写程序:Borland Delphi 6.0 - 7.0
加壳程序:ASPack 2.12 -> Alexey Solodovnikov [Overlay]


OD加载程序,按F8后,显示ESP为0012FFA4,用ESP定律,下断HR 12FFA4,按F9运行,到了
00BED3B0   /75 08           JNZ SHORT QQ棋牌游.00BED3BA
00BED3B2   |B8 01000000     MOV EAX,1
00BED3B7   |C2 0C00         RETN 0C
00BED3BA   \68 E4A75000     PUSH QQ棋牌游.0050A7E4
00BED3BF    C3              RETN

到此处后,按三次F8单步,到达:
0050A7E2    50              PUSH EAX
0050A7E3    0055 8B         ADD BYTE PTR SS:[EBP-75],DL
0050A7E6    EC              IN AL,DX                                 ; I/O 命令
0050A7E7    B9 04000000     MOV ECX,4
0050A7EC    6A 00           PUSH 0

点OD的插件中选择ollydump--脱壳在当前调试的进程,在弹出的窗口中,点下获取EIP做为OEP,得到10A7E4,再点脱壳。选择保存文件名字为dump.exe,然后再打开Import v1.6(完美汉化版),选择QQ棋牌伴侣进程,输入入口地址:10A7E4,再点自动搜索IAT,再点获得输入信息,再点修复抓取文件,在弹出的窗口中,选择我刚脱壳的dump.exe.得到如下记录:
分析进程...
已载入模块: c:\windows\system32\ntdll.dll
已载入模块: c:\windows\system32\kernel32.dll
已载入模块: c:\windows\system32\user32.dll
已载入模块: c:\windows\system32\gdi32.dll
已载入模块: c:\windows\system32\advapi32.dll
已载入模块: c:\windows\system32\rpcrt4.dll
已载入模块: c:\windows\system32\secur32.dll
已载入模块: c:\windows\system32\oleaut32.dll
已载入模块: c:\windows\system32\msvcrt.dll
已载入模块: c:\windows\system32\ole32.dll
已载入模块: c:\windows\system32\version.dll
已载入模块: c:\windows\system32\comctl32.dll
已载入模块: c:\windows\system32\shell32.dll
已载入模块: c:\windows\system32\shlwapi.dll
已载入模块: c:\windows\system32\wsock32.dll
已载入模块: c:\windows\system32\ws2_32.dll
已载入模块: c:\windows\system32\ws2help.dll
已载入模块: c:\windows\system32\imm32.dll
已载入模块: c:\windows\system32\lpk.dll
已载入模块: c:\windows\system32\usp10.dll
已载入模块: c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
相关模块载入完成.
映像基址:00400000 大小:00804000
原始 IAT RVA 发现于: 00118628 位于块 RVA: 00118000 大小:00003000
IAT 读取成功.
RVA:00118174 来自模块:ntdll.dll 序号:0217 名称:InitializeCriticalSection         
RVA:00118170 来自模块:ntdll.dll 序号:02B6 名称:EnterCriticalSection         
RVA:0011816C 来自模块:ntdll.dll 序号:01F0 名称:LeaveCriticalSection         
RVA:001181C4 来自模块:ntdll.dll 序号:016C 名称:RtlGetLastWin32Error         
RVA:001181F4 来自模块:ntdll.dll 序号:0301 名称:RtlUnwind         
RVA:001182F8 来自模块:ntdll.dll 序号:0245 名称:RtlLeaveCriticalSection         
RVA:00118368 来自模块:ntdll.dll 序号:016B 名称:RtlGetLastWin32Error         
RVA:001183C4 来自模块:ntdll.dll 序号:0098 名称:RtlEnterCriticalSection         
RVA:001183CC 来自模块:ntdll.dll 序号:0082 名称:RtlDeleteCriticalSection         
---------------------------------------------------------------------------------------------------------------------------
当前输入表:
11 (十进制:17) 个有效模块 (已添加: +11 (十进制:+17))
1E6 (十进制:486) 个输入函数. (已添加: +1E6 (十进制:+486))
---------------------------------------------------------------------------------------------------------------------------
修正转储文件...
11 (十进制:17) 个模块
1E6 (十进制:486) 个输入函数.
*** 成功添加了新节. RVA:00807000 大小:00003000
映像输入表描述符大小: 154; 总共长度: 2312
C:\Documents and Settings\Administrator\桌面\dump_.exe 保存成功.

关闭IMPORT,再关闭OD。。。

现问:我想问一下,dump.exe和dump_.exe哪一个才是修复好的程序????

[ 本帖最后由 秋风四起 于 2008-9-15 10:15 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-10-30 22:05
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-9-15 10:17:08 | 显示全部楼层
    dump_.exe为修复好的文件
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-9-15 10:30:18 | 显示全部楼层
    2.去自校验
    程序脱完壳变成8000K+
    比较文件大小的自校验
    下GetFileSize断点
    ----断在这里
    7C810B07 >  8BFF            MOV EDI,EDI                              ; ntdll.7C910208
    7C810B09    55              PUSH EBP
    7C810B0A    8BEC            MOV EBP,ESP
    7C810B0C    51              PUSH ECX
    7C810B0D    51              PUSH ECX
    7C810B0E    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
    7C810B11    50              PUSH EAX
    ----返回到程序领空,一路F8下来
    00491FBC   .  E8 DF2EF7FF   CALL dumped_.00404EA0
    00491FC1   .  75 12         JNZ SHORT dumped_.00491FD5;关键跳
    ;-------将jnz nop掉--去掉了自校验
    00491FC3   .  B8 E0930400   MOV EAX,493E0
    00491FC8   .  E8 3F13F7FF   CALL dumped_.0040330C
    00491FCD   .  C1E0 02       SHL EAX,2
    00491FD0   .  8945 F0       MOV DWORD PTR SS:[EBP-10],EAX
    00491FD3   .  EB 11         JMP SHORT dumped_.00491FE6
    00491FD5   >  B8 E0930400   MOV EAX,493E0


    请问一下, 我为什么不能到达
    ----返回到程序领空,一路F8下来
    00491FBC   .  E8 DF2EF7FF   CALL dumped_.00404EA0
    00491FC1   .  75 12         JNZ SHORT dumped_.00491FD5;关键跳
    ;-------将jnz nop掉--去掉了自校验
    00491FC3   .  B8 E0930400   MOV EAX,493E0
    00491FC8   .  E8 3F13F7FF   CALL dumped_.0040330C

    这里呢????
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-15 10:55:25 | 显示全部楼层
    没看懂自校验部分楼主的意思,关键跳如果只有这一个的话就保存啊/:QQ3
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-9-15 11:01:03 | 显示全部楼层
    原帖由 傻人有傻福 于 2008-9-15 10:55 发表
    没看懂自校验部分楼主的意思,关键跳如果只有这一个的话就保存啊/:QQ3


    大哥,我就是找不到一品天下说的
    00491FBC   .  E8 DF2EF7FF   CALL dumped_.00404EA0
    00491FC1   .  75 12         JNZ SHORT dumped_.00491FD5;关键跳;-------将jnz nop掉--去掉了自校验
    00491FC3   .  B8 E0930400   MOV EAX,493E0
    00491FC8   .  E8 3F13F7FF   CALL dumped_.0040330C

    在哪。我找不到这个地方啊,下断bp GetFileSize后,不断的按F8,都来不到这个关键CALL的地方,每个版本不同地址。。。一品天下用的是3.0.2版本做的

    我想问一下,怎么才能找到一品天下大哥说的关键CALL。。。。。。。。。。。。。。难道去自检验要一个个代码的看吗????

    顺便想问下,去自检验的关键CALL怎么样才容易找得着??如何判断它就是关键CALL呢???

    [ 本帖最后由 秋风四起 于 2008-9-15 11:04 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-9-15 22:15:30 | 显示全部楼层
    ..............
    PYG19周年生日快乐!
  • TA的每日心情

    2016-2-14 14:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-9-15 22:36:02 | 显示全部楼层
    bp ExitProcess
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-9-15 23:56:47 | 显示全部楼层
    原帖由 km159 于 2008-9-15 22:36 发表
    bp ExitProcess



    感觉不起作用。这个中断。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-15 23:58:04 | 显示全部楼层
    004A0E15   /75 12           jnz     short 004A0E29                   ; NOP 即可
    004A0E17   |B8 E0930400     mov     eax, 493E0
    004A0E1C   |E8 DB24F6FF     call    004032FC
    004A0E21   |C1E0 02         shl     eax, 2
    004A0E24   |8945 F0         mov     dword ptr [ebp-10], eax
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-9-16 02:57:38 | 显示全部楼层
    原帖由 Luckly 于 2008-9-15 23:58 发表
    004A0E15   /75 12           jnz     short 004A0E29                   ; NOP 即可
    004A0E17   |B8 E0930400     mov     eax, 493E0
    004A0E1C   |E8 DB24F6FF     call    004032FC
    004A0E21   |C1E0 02       ...


    用搜索方式,我能找得到这个75 12的地址。。用别人说的下断什么的,来F8到这里,我怎么也到达不了。。。

    大哥你认为怎么样到达75 12地点???

    又怎么判断它是关键跳??????????????
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表