首页
社区
课程
招聘
Obsidium 1.1.1.4 -> Obsidium Software [Overlay]脱壳`还没完成`请各位指点一下`谢谢
发表于: 2004-6-25 02:03 5493

Obsidium 1.1.1.4 -> Obsidium Software [Overlay]脱壳`还没完成`请各位指点一下`谢谢

2004-6-25 02:03
5493
Obsidium 1.1.1.4 -> Obsidium Software [Overlay]脱壳`还没完成`请各位指点一下`谢谢

【作者大名】shahuo

【作者邮箱】lovekelly2@163.com

【作者主页】http://www.chinadfcg.com

【使用工具】Peid,olldbg

【操作系统】Windows XP

【软件名称】某某外挂`最新版

【下载地址】http://bywg.cngamer.com/singlesetup380.exe

【软件大小】3.07 MB

【加壳方式】Obsidium 1.1.1.4 -> Obsidium Software [Overlay]

【软件简介】

某某外挂

【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)

--------------------------------------------------------------------------------

【内容】

【脱壳过程】:
一、寻找OEP、Dump进程

老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志。忽略除了“整数被0除”之外的所有其他异常选项。

009CC000 > /EB 02           JMP SHORT PYCQ.009CC004  **进入OD后停在这

009CC002   |0C 68           OR AL,68
009CC004   \E8 3F1D0000     CALL PYCQ.009CDD48
按F9运行
9次异常----------------------------------------------------
003A0AF7    F7F0            DIV EAX第1次异常
003A4D55    F7F0            DIV EAX第2次异常
003A50F7    F7F0            DIV EAX第3次异常
003A524D    F7F0            DIV EAX第4次异常 输入表处理
003A35D9    F7F0            DIV EAX第5次异常
003A398D    F7F0            DIV EAX第6次异常
003A35D9    F7F0            DIV EAX第7次异常
003A398D    F7F0            DIV EAX第8次异常
009CD818    F7F0            DIV EAX第9次异常
OK,当第5次003A35D9时Ctrl+G003a524d(第4次异常)到达后Ctrl+F 搜索命令:test word ptr ds:[esi],20
代码:--------------------------------------------------------------------------------
003A6254    66:F706 2000    TEST WORD PTR DS:[ESI],20
记下这个:003A6254 ◆ 这一步为下面的修复输入表提供点方便。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
看看009CD818处第9次异常的堆栈:

0012FF88   0012FFE0  指针到下一个 SEH 记录
0012FF8C   009CD84C  SE 句柄            此处下断
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

代码:--------------------------------------------------------------------------------
009CD84C    C8 000000       ENTER 0,0 //断在此处
--------------------------------------------------------------------------------

Ctrl+F 在当前位置下搜索命令:mov dword ptr ds:[eax+0B8],edx 在009CD8D9处

代码:--------------------------------------------------------------------------------
009CD8D9    8990 B8000000   MOV DWORD PTR DS:[EAX+B8],EDX
看看EDX=009CDB78
--------------------------------------------------------------------------------
Ctrl+G:009CDB78 下断,F9运行,断下
代码:--------------------------------------------------------------------------------
009CDB78    E8 B7000000     CALL PYCQ.009CDC34          F7 进
009CDB7D    DD              ???                                      ; 未知命令
009CDB7E    8DF7            LEA ESI,EDI                              ; 非法使用寄存器
009CDB80    9F              LAHF
--------------------------------------------------------------------------------
009CDC34    F9              STC    到这里
009CDC35    72 01           JB SHORT PYCQ.009CDC38   跳
009CDC38    60              PUSHAD
009CDC39    F8              CLC
009CDC3A    73 01           JNB SHORT PYCQ.009CDC3D     跳
009CDC3C    FD              STD
009CDC3D    836C24 20 05    SUB DWORD PTR SS:[ESP+20],5
009CDC42    8B5C24 20       MOV EBX,DWORD PTR SS:[ESP+20]
009CDC46    F9              STC
009CDC47    72 02           JB SHORT PYCQ.009CDC4B     跳
009CDC49    D308            ROR DWORD PTR DS:[EAX],CL
009CDC4B    C603 91         MOV BYTE PTR DS:[EBX],91
009CDC4E    F8              CLC
009CDC53    C743 01 CA29D28>MOV DWORD PTR DS:[EBX+1],8ED229CA
009CDC5A    F9              STC
009CDC5B    72 03           JB SHORT PYCQ.009CDC60   跳
009CDC66   /72 05           JB SHORT PYCQ.009CDC6D    跳
009CDC75   /72 04           JB SHORT PYCQ.009CDC7B    跳

009CDC82   /73 04           JNB SHORT PYCQ.009CDC88    跳

009CDC89   /73 01           JNB SHORT PYCQ.009CDC8C    跳
009CDC92   /EB 01           JMP SHORT PYCQ.009CDC95    跳

009CDC95    83EA 04         SUB EDX,4   到这
009CDC98  ^ 0F85 D4FFFFFF   JNZ PYCQ.009CDC72   回跳
009CDC9E    61              POPAD          F4下
009CDC9F    C3              RETN            返回
009CDB78   /EB 01           JMP SHORT PYCQ.009CDB7B (返回到这大家看看原来的009CDB78和这个是不是变了)`于是Ctrl+F 在 当前位置下 搜索命令: jmp edi
009CDC12    FFE7            JMP EDI            找到这里,F2再下断了,F9运行 跳
003AB52A    E8 00000000     CALL 003AB52F         F7进
003AB52F    EB 03           JMP SHORT 003AB534      跳
003AB531    BE 42F15DEB     MOV ESI,EB5DF142

003AB535   /EB 03           JMP SHORT 003AB53A           跳

003AB540   /EB 02           JMP SHORT 003AB544           跳

003AB54A   /EB 03           JMP SHORT 003AB54F           跳

003AB552   /EB 02           JMP SHORT 003AB556           跳

003AB55D   /EB 01           JMP SHORT 003AB560           跳

003AB566   /EB 04           JMP SHORT 003AB56C           跳

003AB56F   /EB 03           JMP SHORT 003AB574           跳

003AB57A   /EB 03           JMP SHORT 003AB57F           跳

003AB581   /EB 02           JMP SHORT 003AB585           跳

003AB58B   /EB 02           JMP SHORT 003AB58F           跳

003AB58F    61              POPAD     终于看到这个了
003AB590    EB 01           JMP SHORT 003AB593
003AB593    9D              POPFD       :)
003AB594    EB 02           JMP SHORT 003AB598
003AB598   /EB 02           JMP SHORT 003AB59C

003AB59C  - E9 B62A0600     JMP PYCQ.0040E057 **跳向OEP!
0040E057      64            DB 64                                    ;  CHAR 'd'
0040E058      A1            DB A1
0040E059      00            DB 00
0040E05A      00            DB 00
0040E05B      00            DB 00
0040E05C      00            DB 00
0040E05D      50            DB 50                                    ;  CHAR 'P'
0040E05E      64            DB 64                                    ;  CHAR 'd'
0040E05F      89            DB 89
0040E060      25            DB 25                                    ;  CHAR '%'
0040E061      00            DB 00
0040E062      00            DB 00
0040E063      00            DB 00
0040E064      00            DB 00
0040E065      83            DB 83
0040E066      EC            DB EC
0040E067      58            DB 58                                    ;  CHAR 'X'
0040E068      53            DB 53                                    ;  CHAR 'S'
0040E069      56            DB 56                                    ;  CHAR 'V'

清除分式
0040E057    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0040E05D    50              PUSH EAX
0040E05E    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0040E065    83EC 58         SUB ESP,58
0040E068    53              PUSH EBX
0040E069    56              PUSH ESI
0040E06A    57              PUSH EDI
0040E06B    8965 E8         MOV DWORD PTR SS:[EBP-18],ESP
0040E06E    FF15 88924200   CALL DWORD PTR DS:[429288]
0040E074    33D2            XOR EDX,EDX
0040E076    8AD4            MOV DL,AH
0040E078    8915 C89B4300   MOV DWORD PTR DS:[439BC8],EDX
0040E07E    8BC8            MOV ECX,EAX
0040E080    81E1 FF000000   AND ECX,0FF
0040E086    890D C49B4300   MOV DWORD PTR DS:[439BC4],ECX

下面分析一下程序并补上Stolen Code。
到这里我不会补上Stolen Code。`哈`请各位指点一下`谢谢
另外FIY大侠可以写篇补上Stolen Code的教学吗。
我在加密解密第2版没找到这样的教学

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 4
支持
分享
最新回复 (3)
雪    币: 255
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
找找以前的资料吧,很早就有人脱过的
0040E048 >/$  55            PUSH EBP
0040E049  |.  8BEC          MOV EBP,ESP
0040E04B  |.  6A FF         PUSH -1
0040E04D  |.  68 A0CF4200   PUSH pycq.0042CFA0
0040E052  |.  68 5C104100   PUSH pycq.0041105C   

http://bbs.pediy.com/showthread.php?s=&threadid=1353
2004-6-25 02:10
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 kimmal 发布
找找以前的资料吧,很早就有人脱过的
0040E048 >/$ 55 PUSH EBP
0040E049 |. 8BEC MOV EBP,ESP
0040E04B |. 6A FF PUSH -1
0040E04D |. 68 A0CF4200 PUSH pycq.0042CFA0
0040E052 |. 68 5C104100 PUSH pycq.0041105C


http://bbs.pediy.com/showthread.php?s=&threadid=1353

这个版本和以前的不一样啊`我想知道
PUSH pycq.0042CFA0
PUSH pycq.0041105C
这2个数值是怎么得出来的。
2004-6-25 20:24
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
4
有Overlay的Rebuild一下就好办了。好在没CRC的:D
2004-6-25 20:41
0
游客
登录 | 注册 方可回帖
返回
//