频道栏目
首页 > 安全 > 加密解密 > 正文

Obsidium V1.2 加壳的记事本脱壳

2008-01-22 07:32:21           
收藏   我要投稿

【脱文标题】 Obsidium V1.2 加壳的记事本脱壳

【脱文作者】 yeyu0808

【使用工具】 flyOD,Lordpe,PEID,ImportREC1.42

破解平台】 WinXp

【软件名称】 notepad
     
【加壳方式】 Obsidium V1.2

【脱壳目的】 我是一只大菜鸟,只是为了学习技术而脱壳~!


【脱壳内容】 Obs1.2版的壳也出来这么久了,一直没人愿意放出脱壳方法,我在这里献丑了。这次OBS的

升级没有什么太大的变化,加壳的程序跟1.1版的脱壳方法相似,还是第4次除零异常后处理IAT,连代码

都没有太大的变化,找OEP跟1.1版基本上是一模一样,只是在IAT加密的时候,检测内存访问断点,断不

到1.1版直接加密IAT的地方,这就为找特殊函数设了一点障碍,靠你自己去研究了~!


用Obsidium V1.2版加壳的记事本,难度就大降低了,我是菜鸟,太难的搞不定,只能脱个记事本~!

 


一、寻找OEP、Dump进程


老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志。忽略除了“整数被除零”之外的所有其他异常选
项,同时还要用上UnhandledExceptionFilter2.20,F9后出现一个内存异常,不管它,直接Shift+F9。


00407000 > /EB 02               jmp short NOTEPAD.00407004    载入后停在这
003A120F    F7F0                div eax                        1次
003A42E5    F7F0                div eax                        2次
003A4413    F7F0                div eax                        3次
003A42E5    F7F0                div eax                        4次,处理IAT的地方
003A2C8E    F7F0                div eax                        5次
003A30B9    F7F0                div eax                        6次
003A2C8E    F7F0                div eax                        7次
003A30B9    F7F0                div eax                        8次
0040891C    F7F0                div eax                        9次  跳OEP的地方


OK,当第5次003A2C8E异常时,Ctrl+G:003A2C8E (第4次异常地址) 

到达 003A2C8E 时 Ctrl+F 搜索命令:test word ptr ds:[esi],20 


003A49BF    66:F706 2000        test word ptr ds:[esi],20//找到这里


记下这个:003A64F0  地址,IAT的解密还要靠它。


9次时的堆栈:
0012FF4C    0012FFE0  指针到下一个 SEH 记录
0012FF50    00408951  SE 句柄

去00408951下断吧:
00408951    C8 000000           enter 0,0
00408955    EB 03               jmp short NOTEPAD.0040895A


Ctrl+F 在当前位置下搜索命令:mov dword ptr ds:[eax+0B8],edx 在004089DF处:
查找CONTEXT结构,中间会返回到系统中去。

004089DF    8990 B8000000       mov dword ptr ds:[eax+B8],edx                   ; 

NOTEPAD.00408C77
004089E5    EB 02               jmp short NOTEPAD.004089E9

此时edx=00408C77,去00408C77下断,F9断下来:

00408C77    E8 BB000000         call NOTEPAD.00408D37
//加密CALL,跟进去吧

00408D37    F8                  clc
00408D38    73 01               jnb short NOTEPAD.00408D3B
00408D3A    59                  pop ecx
00408D3B    60                  pushad
00408D3C    EB 02               jmp short NOTEPAD.00408D40
00408D3E    FC                  cld
00408D3F    D6                  salc
00408D40    836C24 20 05        sub dword ptr ss:[esp+20],5
00408D45    EB 03               jmp short NOTEPAD.00408D4A
00408D47    CF                  iretd
00408D48    D4 1B               aam 1B
00408D4A    8B4424 20           mov eax,dword ptr ss:[esp+20]
00408D4E    C600 CD             mov byte ptr ds:[eax],0CD
00408D51    C740 01 023B1DCD    mov dword ptr ds:[eax+1],CD1D3B02
00408D58    EB 01               jmp short NOTEPAD.00408D5B
00408D5A    65:B9 C0000000      mov ecx,0C0
00408D60    F9                  stc
00408D61    72 03               jb short NOTEPAD.00408D66
00408D63    9E                  sahf
00408D64    8480 BECD3A19       test byte ptr ds:[eax+193ACDBE],al
00408D6A    66

相关TAG标签 加壳 脱壳 记事本
上一篇:破解学习笔记之单步跟踪法实战UPX脱壳
下一篇:我的Overlay处理再学习
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站