- UID
 - 49217
 
 注册时间2008-5-1
阅读权限30
最后登录1970-1-1
龙战于野 
  
 
 
 
TA的每日心情  | 慵懒 2024-12-26 09:58 | 
|---|
 
  签到天数: 20 天 [LV.4]偶尔看看III  
 | 
 
这个我让别人脱完以后传给我了。   
 
我自己脱了几次 入口点 和他的都对不上。 
 
简单说一下我的步骤。 
 
 
 
 
然后OD。 隐藏  载入 这个DLL文件 
 
00903000 >  E8 00000000     CALL XYQ.00903005   //载入后停在这个位置 
00903005    5D              POP EBP 
00903006    81ED 05304800   SUB EBP,483005 
0090300C    81C5 01004800   ADD EBP,480001 
00903012    55              PUSH EBP 
00903013    58              POP EAX 
00903014    FFE0            JMP EAX 
00903016    8BC2            MOV EAX,EDX 
00903018    C3              RETN 
 
然后F9运行  弹出 错误框 模块 LOADDLL 具有空代码段  我点的确定. 
 
00881000     /04108800      DD XYQ.00881004  // F9运行 错误确定后 停在这个位置 
00881004     \03            DB 03 
00881005   .  07            DB 07 
00881006   .  42 6F 6F 6C 6>ASCII "Boolean" 
0088100D      01            DB 01 
0088100E      00            DB 00 
0088100F      00            DB 00 
 
F8向下走  
 
00410277    A1 CC004200     MOV EAX,DWORD PTR DS:[4200CC] 
0041027C    83F8 12         CMP EAX,12 
0041027F  ^ 0F85 C4FEFFFF   JNZ LOADDLL.00410149        // F8 走到这个位置 (跳转实现) 
00410285    6A 00           PUSH 0                      // 在这个位置F4  然后关掉 ollydbg dll loader 
00410287    E8 18080000     CALL <JMP.&KERNEL32.ExitProcess> 
 
然后继续 F8 向下走 
 
00900001    60              PUSHAD 
00900002    E8 03000000     CALL XYQ.0090000A        // F8 走到这个位置 F7 进入 
00900007  - E9 EB045D45     JMP 45ED04F7 
0090000C    55              PUSH EBP 
0090000D    C3              RETN 
 
继续F8 向下走 
 
00900008   /EB 04           JMP SHORT XYQ.0090000E   // 在这里跳转实现 
0090000A   |5D              POP EBP 
0090000B   |45              INC EBP 
0090000C   |55              PUSH EBP 
0090000D   |C3              RETN 
0090000E   \E8 01000000     CALL XYQ.00900014        // JMP 跳转到这里   F7 进入 
00900013    EB 5D           JMP SHORT XYQ.00900072 
00900015    BB EDFFFFFF     MOV EBX,-13 
 
继续 F8 向下走 
 
008E883C      55            DB 55                    // 停在这里  然后 从模块删除分析 
008E883D      8B            DB 8B 
008E883E      EC            DB EC 
008E883F      83            DB 83 
008E8840      C4            DB C4 
 
删除分析后 显示为 
 
008E883C    55              PUSH EBP                          // 我个人觉得这个位置就是 OEP 
008E883D    8BEC            MOV EBP,ESP 
008E883F    83C4 C4         ADD ESP,-3C 
008E8842    B8 EC858E00     MOV EAX,XYQ.008E85EC 
008E8847    E8 BCE1F9FF     CALL XYQ.00886A08 
008E884C    E8 03BEF9FF     CALL XYQ.00884654 
008E8851    8D40 00         LEA EAX,DWORD PTR DS:[EAX] 
008E8854    0000            ADD BYTE PTR DS:[EAX],AL 
 
然后用 LordPE 脱壳 (选DLL 文件) 
 
ImportREC 选DLL文件 修复 (选项里只保留了 修正EP到OEP 和 启用调试权限) 
 
到修复这里 就卡壳了 试了好几种方法, 即使是修复了 出来后查到的 入口点 也和他给我传过来的对不上. 
 
不是软件版本问题 OD我用了五个版本的 (DYK 第二版 第三版 fly 野猪Dbg) 
LordPE 我用了两个版本的(包括英文版)  
ImportREC 我也用了三个版本的(1.6版 1.7版 和 Fly 的修正美化版) 
 
[ 本帖最后由 峰云星炫 于 2008-7-2 13:02 编辑 ] |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们 
 
 
 
x
 
 
 
 
 |