手动脱壳入门第十九篇ASProtect 1.1

所属分类: 网络安全 / 加密解密 阅读数: 197
收藏 0 赞 0 分享
【脱文标题】 手动脱壳入门第十九篇ASProtect 1.1
【脱文作者】 weiyi75[Dfcg]

【作者邮箱】 weiyi75@sohu.com
【作者主页】 Dfcg官方大本营
【使用工具】 Peid,Ollydbg,Loadpe,ImportREC1.42
【脱壳平台】 Win2000/XP
【软件名称】 chap709.exe
【下载地址】 本地下载
chap709.rar
【软件简介】 ASProtect 1.1b Registered 加密Win98的记事本。
【软件大小】 58.2K
【加壳方式】 ASProtect 1.1b Registered [SAC] -> Alexey Solodovnikov
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:
--------------------------------------------------------------------------------
【脱壳内容】
首先Peid查壳,为ASProtect 1.1b Registered [SAC] -> Alexey Solodovnikov,ASProtect 1.1b Registered 很少弄过,与现在的Asprotect1.2X SEH不同,不过也很容易。SEH异常全部是由13个精心设计的非法指令SEH组成的,这样就无法用模拟跟踪找Oep了。二哥脱壳没有什么耐心,喜欢快。先大概了解了一下程序开始脱壳。
OD载入程序,除了错误或有特权的指令外异常全部忽略,1.1b不检测OD,根本无需隐藏。
0040D001 > 60 pushad //外壳入口,F9运行。
0040D002 E9 95050000 jmp chap709.0040D59C
0040D007 F710 not dword ptr ds:[eax]
0040D009 0F0F ??? ; 未知命令
0040D00B 0F9F6C90 FC setg byte ptr ds:[eax edx*4-4]
0040D010 57 push edi
0040D011 C5540F CA lds edx, fword ptr ds:[edi ecx-36]
0040D015 4B dec ebx
0040D016 C5540F 12 lds edx, fword ptr ds:[edi ecx 12]
0040D01A EC in al, dx
0040D01B 3AAC90 CD540F92 cmp ch, byte ptr ds:[eax edx*4 920F54CD]
0040D022 CC int3
.............................................................
第一次异常
0092FF94 8DC0 lea eax, eax ; 非法使用寄存器
0092FF96 EB 01 jmp short 0092FF99
0092FF98 68 648F0500 push 58F64
0092FF9D 0000 add byte ptr ds:[eax], al
0092FF9F 00EB add bl, ch
0092FFA1 02E8 add ch, al
0092FFA3 0158 68 add dword ptr ds:[eax 68], ebx
0092FFA6 98 cwde
0092FFA7 E5 92 in eax, 92
0092FFA9 0068 D0 add byte ptr ds:[eax-30], ch
0092FFAC FF92 00687CF5 call dword ptr ds:[edx F57C6800]
0092FFB2 92 xchg eax, edx
0092FFB3 0068 14 add byte ptr ds:[eax 14], ch
...................................................................
继续Shift F9 12次达第十三次也是最后一次异常。
0093053D 8DC0 lea eax, eax ; 非法使用寄存器
0093053F EB 01 jmp short 00930542
00930541 68 648F0500 push 58F64
00930546 0000 add byte ptr ds:[eax], al
00930548 00EB add bl, ch
0093054A 02E8 add ch, al
0093054C 0158 33 add dword ptr ds:[eax 33], ebx
0093054F C05A 59 59 rcr byte ptr ds:[edx 59], 59
00930553 64:8910 mov dword ptr fs:[eax], edx
00930556 68 78059300 push 930578
0093055B 8D45 F0 lea eax, dword ptr ss:[ebp-10]
0093055E E8 2D2CFFFF call 00923190
00930563 8D45 F8 lea eax, dword ptr ss:[ebp-8]
.............................................................
ALT M 打开内存镜像。
内存镜像,项目 21
地址=00401000
大小=00004000 (16384.)
Owner=chap709 00400000
区段=
包含=code //对这里下内存访问断点,Shift F9运行。
类型=Imag 01001002
访问=R
初始访问=RWE
004010CC 55 push ebp //到达Oep,用Loadpe脱壳吧。
004010CD 8BEC mov ebp, esp
004010CF 83EC 44 sub esp, 44
004010D2 56 push esi
004010D3 FF15 E4634000 call dword ptr ds:[4063E4]
004010D9 8BF0 mov esi, eax
004010DB 8A00 mov al, byte ptr ds:[eax]
004010DD 3C 22 cmp al, 22
004010DF 75 1B jnz short chap709.004010FC //往下看看IAT被加密了不少。
004010E1 56 push esi
004010E2 FF15 F4644000 call dword ptr ds:[4064F4]
004010E8 8BF0 mov esi, eax
004010EA 8A00 mov al, byte ptr ds:[eax]
004010EC 84C0 test al, al
004010EE 74 04 je short chap709.004010F4
004010F0 3C 22 cmp al, 22
004010F2 ^ 75 ED jnz short chap709.004010E1
004010F4 803E 22 cmp byte ptr ds:[esi], 22
004010F7 75 15 jnz short chap709.0040110E
004010F9 46 inc esi
004010FA EB 12 jmp short chap709.0040110E
...........................................................
IAT修复
运行ImportREC,OEP填入10CC,自动搜索,获得输入信息,有111个指针没有修复,先用跟踪等级1修复98个,剩下的13个用等级3全部修复,正常运行。
火眼金精区段减肥,去除垃圾区段,重建PE。
这个需要一点PE知识,没有也不要紧,跟着一起学,积累经验。
备份好脱壳程序,区段减肥有时过量会导致程序无法运行。
这次区段减肥只是例子,大家要学会举一反三。
我们用OD同时载入未加密的Win98计事本,和脱壳程序。
Win98 记事本
本地下载
Notepad.rar
Alt M打开内存镜像同步分析。
原程序内存镜像
地址 大小 Owner Section Contains 类型 访问 初始访问 映射为
003E0000 00002000 Map R R
00400000 00001000 NOTEPAD PE header Imag R RWE
00401000 00004000 NOTEPAD .text code Imag R RWE
00405000 00001000 NOTEPAD .data data Imag R RWE
00406000 00001000 NOTEPAD .idata imports Imag R RWE
00407000 00005000 NOTEPAD .rsrc resources Imag R RWE
0040C000 00001000 NOTEPAD .reloc relocations Imag R RWE
Contains
.text //代码段,我们反编译程序经常看到。
.data //数据快,程序初始化用。
.idata //输入表,现在加密壳搞破坏的对象,坏的输入表
更多精彩内容其他人还在看

破解Oracle数据库的密码

要连接远程的 Oracle 数据库,需要知道 SID,用户名, 密码,当然还有最重要的 IP 地址。SID 如果被管理 员修改的话,可以利用 sidguess 来进行破解,速度非常的快,至于成功与否,就要看你的字典配置了。破解 效果如图 1。   图 1
收藏 0 赞 0 分享

破解CMOS密码的四种方法

1.简单的DOS下DEBUG破解程序:   用软盘启动进入DOS下,执行Debug程序(你没有,那得去拷贝一个啊)   1)debug   o 70 2e (回车)   o 71 00 (回车)   o 70 2f (回车)
收藏 0 赞 0 分享

轻松破解无线网络WEP密码下篇

上期为各位介绍了将自己的网卡重新安装驱动,以便使用无线网络检测及WEP解密工具。当我们把网卡驱动更新完毕后,我们再来看看如何找出已经禁用了SSID号广播的无线网络以及进行WEP解密工作。   一、使用airodump抓取无线网络数据包并破解SSID名称:   
收藏 0 赞 0 分享

简单破解“高强度文件夹加密大师”

今天我们社团学弟拿了一个高强度文件夹加密大师给社长试试,说是一个这加密文件夹很好的东西,可以把私藏的物品放在文件夹然后加密文件夹。我处于好奇也跟了上去看看。他又说,这是他花了好长时间才找到的一个不错的东西,还说网络上没有比这个还好的加密文件夹软件了
收藏 0 赞 0 分享

在KDE环境下安装GnuPG加密软件

大多数人以前没有使用过加密技术,我记录了在Mandrake 10.0发行版中KDE环境下创建我的公/私钥的过程,我将这些步骤记录下来了,没有使用到命令行,其linux发行版可能更容易安装。   首先你得在纸上创建你的密码,密码的长度没有限制,你应该小心选择,你可以使用空
收藏 0 赞 0 分享

轻松破解无线网络WEP密码上篇

近些年无线技术发展迅速,越来越多的用户使用无线设备在自己家建立起无线网络,通过搭建无线网络可以在家里的每个角落使用笔记本和无线网卡访问internet。有很多文章都向大家介绍了无线安全之中的通过设置WEP加密来保证其他计算机以及非法用户无法连接我们建立的无线
收藏 0 赞 0 分享

简述加密和数字签名的区别

什么是加密?   用非常基本的词汇说,加密是一种以密码方式发送信息的方法。只有拥有正确密钥的人才能解开这个信息的密码。对于其他人来说,这个信息看起来就像是一系列随机的字母、数字和符号。如果你要发送不应该让其他人看的敏感信息时,加密是特别重要的。由于
收藏 0 赞 0 分享

介绍几款“加密”软件的破解方法

现在网络上流行很多文件夹加密和文件加密的所谓加密软件,很多都是个人根据开源代码编写的程序,多数都是利用windows技巧实现的(最常见的就是将文件隐藏到回收站,万一你不小心删除了回收站或者重装了系统,那就只有哭了),最受不了的就是他们还都号称自己是什么“
收藏 0 赞 0 分享

加密全接触

经过陈冠希的艳照门事件之后,相信各位网友都对自己电脑里的一些隐私文件的保存问题有了更高的安全要求(不吃亏不知道补牢)。无论是黑客入侵、电脑丢失、电脑送修等都可能会导致自己的隐私文件泄露。为了避免这些问题,最方便快捷的方法就是对我们的隐私文件进行加密处理
收藏 0 赞 0 分享

破解Rar加密文件的方法

(1)了解破解rar加密文件方面的相关知识 (2)使用工具软件Advanced RAR Password Recovery 1.11破解rar加密文件 对于一些安全意识比较强的人来说,一般都会对文件进行加密,例如使用rar自带的加密功能进行加密,如果偶然获取了
收藏 0 赞 0 分享
查看更多