ASPack壳脱壳实验】的更多相关文章

实验目的 1.学会使用相关软件工具,手动脱ASPack壳. 2.不要用PEiD查入口,单步跟踪,提高手动找入口能力. 实验内容 手动对文件"ASPack 2.12 - Alexey Solodovnikov.exe"进行脱壳. 实验环境描述 L005003003winxp 实验步骤 1.双击打开桌面的 PEiD.exe,对ASPack 2.12 - Alexey Solodovnikov.exe进行查壳,看一下是什么类型的壳,由下图可知该壳是ASPack壳(压缩壳) 2.双击打开桌面的…
前言 结合脱dll壳的基本思路,对看雪加密解密里的一个ASPack壳保护的dll进行脱壳分析. 脱壳详细过程 寻找程序的OEP 先将目标DLL拖入OD,来到壳的入口处. 然后利用堆栈平衡原理在pushad后,对栈顶下硬件访问断点. 之后我们直接运行程序,当程序popad后会被断下,观察得出OEP的RVA为0x1240. 找到壳的重定位代码 我们在来到程序真正的入口点后可以看到一些会被重定位的代码,我们选择最近的一个会进行重定位的代码记住其RVA. 本例子中我们选的是RVA为0x1253的代码.…
一.工具及壳介绍二.脱壳1.ESP定律脱壳2.单步跟踪脱壳3.基址重定位的修复 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE.010 Editor 查看待脱壳程序 查看AsPack壳特有的区段信息 小结:根据链接器版本推断待脱壳程序应该是VS 2013编写 二.脱壳 1.ESP定律脱壳 使用OD加载程序,发现pushad指令,判断程序已加壳,这里可以采用ESP定律脱壳 单步过pushad处指令后,在esp处下硬件断点 让程序运行起来,程序中断的地方即为p…
UPS.AsPack压缩壳介绍: UPX .AsPack是一款先进的可执行程序文件压缩器.压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间.网络上传下载的时间和其它分布以及存储费用. 通过压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行.对于支持的大多数格式没有运行时间或内存的不利后果.     压缩的原理是什么呢? 压缩就好像把 可执行文件中的 123456 用字母%A代替,789ABC用字母%C代替,这样程序代码的体积不久变小了很多.(要是可以这样压缩,这不…
0x00 闲谈 最近打算学习学习加壳脱壳相关的知识,大致会有以下几个部分 1.upx壳的加壳原理及脱壳方法 --UPX压缩壳的工作原理 --脱upx壳--初试--单步追踪 -- 0x01 参考链接 1.单步跟踪法与UPX的脱壳理解 作者: LB919 出处:http://www.cnblogs.com/L1B0/ 如有转载,荣幸之至!请随手标明出处:…
net查壳工具 DotNet Id v1.0.0.3 该net程序集被“MaxToCode”加壳了(也不能完全相信). 加壳工具就是列表中列出的了. de4Net.exe脱壳工具版本de4dot-v3-1.…
ASProtect 是功能非常完善的加壳.加密保护工具.能够在对软件加壳的同时进行各种保护.如:反调试跟踪.自校验及用密钥加密保护等:还有多种限制使用措施,如:使用天数限制.次数限制及对应的注册提醒信息等.另外,该软件还具有密钥生成功能.软件特性压缩应用程序加密应用程序压缩并加密应用程序反内存转储,防止 ProcDump 类的工具从内存转储程序应用程序完整性检测反调试器和反编译内存保护,反内存补丁用于外壳通讯的内部 API 函数创建使用公开加密算法的注册密钥泄漏密钥的黑名单数据库创建评估(试用)…
1.PEID载入 ASPack v2.12 2.载入OD,跟之前帖子的入口特征相同,都是一个pushad,但是请不要怀疑这是同一个壳,绝对不是,pushad下一行ESP定律下硬件断点,然后shift+F9运行一次 0057E001 > pushad ; //程序入口点 0057E002 E8 call memcolla.0057E00A ; //ESP定律 0057E007 - E9 EB045D45 jmp 45B4E4F7 0057E00C push ebp 0057E00D C3 retn…
1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http://www.52pojie.cn/thread-433042-1-1.html,但是真的相同吗?按照上次帖子的经验,pushfd下面就可以使用ESP定律了,但是在shift+F9的时候会跑飞,显然这不是一个普通的Aspack壳,应该是变形过的.这是一个近call,F7跟进,不然会跑飞,然后继续F8单步走 0…
[个人笔记]ximo早期发的脱壳教程--手脱UPX壳   壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳.   手脱UPX壳: 工具:ExeinfoPE.OD 对象:rmvbfix 方法1:单步跟踪 将要脱的exe扔进od.   这里选择"否",不然有些操作会出现错误.     进入之后从起点开始单步执行(快捷键F8),遇到pxx注意跳跃方向,手动断点跳过往回跳的指令.     遇到这种jxx后跟call指令的一并跳过.     一直单步知道如上图这样的,跳跃跨度极大,让其跳跃…
程序: 运行 用 PEiD 载入程序 PEid 显示找不到相关的壳 脱壳: 用 OD 载入程序 这个是壳的入口地址 因为代码段的入口地址为 00401000 这三个是壳增加的区段 按 F8 往下走程序 经过这个 call 指令的时候,运行的时间多了一会 这个 jmp 将跳转到 004271B0 按 Ctrl+A 分析代码 这个地方也在代码段内,所以这个地方就是原程序的入口点 右键 -> Dump debugged process 点击 Dump 保存文件,运行 可以运行 之后再用 PEiD 看一…
通常我们通过代码混淆.加密的形式达到软件保护的目的.在Web开发里我们接触过的可能就是JS代码加密了,可以通过对JS代码进行混淆.加密从而实现对核心JS代码的保护.如果没有接触过的可以在这里简单了解一下,这次我们就不去细说了. 在以前Win32的软件中,加壳脱壳的技术已经发展的非常成熟,国内有大名鼎鼎的看雪.吾爱破解等论坛,三四年前还在上学时,论坛里的大牛一直都是自己的偶像. 而.NET程序因为编译结果不是机器代码语言,而是IL语言,所以加壳脱壳相关的软件还不是很多,我搜索到了一些,如VS自带的…
方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选) 4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现! 5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,这样很快就能到程序的OEP 6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入 7.一般有很大的跳转,比如 jmp XXXXXX 或者 JE XXXXXX…
1.使用ESP定律 OD载入后,F8一次,在寄存器窗口的ESP的内容上(如0012FFA4)右键:“在数据窗口中跟随”,到内存数据窗口,将内存数据窗口以HEX 数据形式显示,在刚才的地址起始位置上(如0012FFA4)上右键:“断点”->“硬件访问”->“字”,F9直接运行,再F8一次或二 次,一般会到push ebp这句代码,这句代码所在的地址,就是OEP. 2.二次断点法 OD载入后,点击“M”按钮进入内存映射页面,先在数据(data).资源(rsrc).rdata.idata等区段下访问…
OEP:(Original Entry Point),程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点 POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个OEP就在附近啦! 常见寻找OEP脱壳的方法:   方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断…
文章中用到的demo下载地址: http://download.csdn.net/detail/ccnyou/4540254 附件中包含demo以及文章word原稿 用到工具: Ollydbg LordPE ImportREC 这些工具请自行下载准备 Dump原理这里也不多做描述,想要了解google it!常见的dump软件有LordPE,ProcDump,PETools等本文以LordPE为例 首先,打开 LordPE,由于此时机器上只有一个汉化版,也懒得花时间去找原版了.我们打开选项,设置…
OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点, POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个,OEP就在附近. 常见寻找OEP脱壳的方法 方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选) 4.绿色线条表示跳转没实现,不…
首先补充: OEP:(Original Entry Point),程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点 POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个OEP就在附近啦 OEP脱壳方法: 方法一: .用OD载入,不分析代码! .单步向下跟踪F8,是向下跳的让它实现 .遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行…
0x01 准备 OD 基本查壳软件 picpick可执行文件(不是快捷方式) 0x02 查壳 软件是2018年9月,还是比较新的 显示EP区段是.vmp1,没见过,不知道是压缩壳还是加密壳,搜索所示yoda或者是伪装壳,反正还是需要找到OEP 首字节是68,AF,D9,77 0x03 OD载入 这个类似于Aspack壳的特征,然后近callF7更近,之后经过单步调试发现壳会在两个jmp之间跳转,可能有一定的跳转条件,暂时没有时间研究,那么使用最后一次异常法试一次(试了一次程序好像没有暗桩和替换代…
偶然翻了一下手机日历,原来今天是夏至啊,时间过的真快.ISCC的比赛已经持续了2个多月了,我也跟着比赛的那些题目学了2个月.......虽然过程很辛苦,但感觉还是很幸运的,能在大三的时候遇到ISCC,不管怎样,对我来说都会是一个很好的锻炼机会. 在做综合关的逆向破解的题目,遇到了很多蛋疼的问题,磕磕碰碰把<加密与解密>看完了.还是老习惯,把这1个多星期以后学到的,想到的做一个总结,希望能有一个思想上的提高,也希望能对其他人有一个借鉴的效果吧.这里想起lenus大神的一句话: Hacker的精神…