半仙算命主程序脱壳全记录图文.docx

上传人:b****7 文档编号:24023241 上传时间:2023-05-23 格式:DOCX 页数:17 大小:3.48MB
下载 相关 举报
半仙算命主程序脱壳全记录图文.docx_第1页
第1页 / 共17页
半仙算命主程序脱壳全记录图文.docx_第2页
第2页 / 共17页
半仙算命主程序脱壳全记录图文.docx_第3页
第3页 / 共17页
半仙算命主程序脱壳全记录图文.docx_第4页
第4页 / 共17页
半仙算命主程序脱壳全记录图文.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

半仙算命主程序脱壳全记录图文.docx

《半仙算命主程序脱壳全记录图文.docx》由会员分享,可在线阅读,更多相关《半仙算命主程序脱壳全记录图文.docx(17页珍藏版)》请在冰豆网上搜索。

半仙算命主程序脱壳全记录图文.docx

半仙算命主程序脱壳全记录图文

半仙算命主程序脱壳全记录(图文)

第一种方法:

“ESP定律”和“M”内存查找“CODE”

一、查壳:

是―――“PECompact2.x-JeremyCollake”

二、启动“OD”载入主程序

―――F8下,发现“寄存器(FPU)”中突显“ESP0012FFC0”,可进行“ESP定律”

―――点选“跟随到数据窗口”-“断点”-“硬件访问”-“Word”,F9运行

―――到达下图地址,进入“调试”菜单,删除硬件访问断点,点“M”进入“Memorymap”找到“CODE”下断

―――到达下图地址,F8下,到达“C3RETN”自动跳转

―――发现“寄存器(FPU)”中突显“ESP0012FBF0”,可再进行一次“ESP定律”(同上)

―――到达下图地址,取消ESP断点,F8下

―――到达“-FFE0JMPEAX”跳转出口

―――跳转后到达OEP真正入口

―――可以进行DUMP存盘操作

―――入口地址自动修正为“0017407C”

―――下图是已脱壳的主程序源码

三、启动已脱壳的主程序,不能启动,那么要修复输入表(略)

四、检验

五、优化减肥,在检验。

OK

 

第二种方法:

连续多次“ESP定律”直接到达“OEP”真正入口

―――记住:

1、要在“调试选项”中忽略所以异常;2、“ESP”设置“硬件访问-WORD”,F9运行到达新的地址后,

首先必须“删除”ESP所设置的断点。

―――第一次使用“ESP定律”的地址-“0012FFC0”

―――到达新地址后,首先“删除”上一次的断点,接着第二次使用“ESP定律”,地址-“0012FC4C”

―――到达新地址后,首先“删除”上一次的断点,接着第三次使用“ESP定律”,地址-“0012FC50”

―――到达新地址后,首先“删除”上一次的断点,接着第四次使用“ESP定律”,地址-“0012FFC0”

 

―――F9运行后,看到如下代码段时,说明已经到达OEP入口跳转

――――――――――――――――――――――――――――――――――――――――――――――――――

006D8AA2-FFE0JMPEAX;到达OEP入口跳转F8下

006D8AA47C40JLSHORTssbx.006D8AE6

006D8AA657PUSHEDI

006D8AA700C8ADDAL,CL

 

―――其余操作同前所叙

 

学习随笔:

“PECompact2.x-JeremyCollake”这种壳有点古怪,手动单步跟踪还没有一次成功,经常是跟着跟着就晕菜了,或者是跟飞了。

还是源码的阅读水平问题、基本功的问题。

脱壳基础知识(节选)

PC软件脱壳经常用到的工具有OllyDBG、lordpe、CHimpREC、PEiD、ImportREC、WINHEX等等(这些软件网上到处都能下载,这里就不提供下载地址了,需要的到网上搜一下就可以了)。

OllyDBG软件与IDA的功能几乎差不多,但OllyDBG软件是免费的。

正因为免费,所以作者现在已不再对该软件进行升级了,PC软件脱壳的工具很多,所有对PC软件脱壳相对容易,PPC软件脱壳的工具非常少,PPC软件能够用到的工具只有IDA、lordpe和WINHEX这三种。

1、既然要脱壳就要了解加壳的原理。

加壳:

其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。

类似WINZIP的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。

解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。

现在的CPU都很快,所以这个解压过程你看不出什么东西。

软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。

当你加壳时,其实就是给可执行的文件加上个外衣。

用户执行的只是这个外壳程序。

当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。

所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。

通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。

因为有的时候程序会过大,需要压缩。

但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。

加密代码和数据,保护你的程序数据的完整性。

不被修改或者窥视你程序的内幕。

加“壳”虽然增加了CPU附带但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。

一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。

我们平时的绝大多数软件都加了自己的专用“壳”。

RAR和ZIP都是压缩软件不是加“壳”工具,他们解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的,用RAR或者ZIP压缩一个病毒你试试解压缩时杀毒软件肯定会发现,而用加“壳”手段封装老安全,能发现的杀毒软件就剩不下几个。

安全和病毒通常也会加壳,安全加壳的原理很简单,在黑客营中提供的多数安全中,很多都是经过处理的,而这些处理就是所谓的加壳。

当一个EXE的程序生成好后,很轻松的就可以利用诸如资源工具和反汇编工具对它进行修改,但如果程序员给EXE程序加一个壳的话,那么至少这个加了壳的EXE程序就不是那么好修改了,如果想修改就必须先脱壳。

2、为了脱壳,需要了解文件PE的相关知识。

PE的意思就是PortableExecutable(可移植的执行体)。

它是Win32环境自身所带的执行体文件格式。

它的一些特性继承自Unix的Coff(commonobjectfileformat)文件格式。

"portableexecutable"(可移植的执行体)意味着此文件格式是跨win32平台的:

即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式。

当然,移植到不同的CPU上PE执行体必然得有一些改变。

所有win32执行体(除了VxD和16位的Dll)都使用PE文件格式,包括NT的内核模式驱动程序(kernelmodedrivers)。

3、还有一个脱壳必须了解的知识是程序入口点地址(OriginalEntryPoint英文简写OEP).

OEP就是程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP)

UPX(UltimatePackerforeXecutables的英文简称UPX)。

目前发现大多数PPC软件都是用UPX变种技术加的壳,UPX加壳引擎是开源的,支持PC和PPC软件加壳,所以有很多PPC软件都用UPX加壳。

加壳后的软件如下,下面所有的例子都是用这个加壳文件来脱壳。

加壳前文件148K,加壳后61K,文件被UPX压缩了一半多。

4、加壳技术有几十种,目前网上有不少自动脱壳软件,自动脱壳软件和杀毒程序原理差不多,先扫描加壳软件的特征码,对标准的壳可以自动脱壳。

现在很多软件即使使用相同的加壳技术也会稍加改变,就是防止脱壳机自动脱壳,所以大部分加壳软件需要手工脱壳。

PC软件脱壳技术已经比较成熟,工具软件也很多,所以只要找到软件的OEP地址,下面的很多工作就可以用各种工具自动完成了。

PPC软件的脱壳要比PC软件困难,就是因为PPC软件的脱壳工具非常少,网上也很少有这方面的教程可用,整个过程几乎都是手工完成,需要比较丰富的脱壳经验。

加壳就是对原程序搞破坏,加壳的一个目的就是隐藏原程序的真正输入函数,只显示壳使用的函数。

学习随笔一:

“PECompact2.x-JeremyCollake”这种壳有点古怪,手动单步跟踪还没有一次成功,经常是跟着跟着就晕菜了,或者是跟飞了。

还是源码的阅读水平问题、基本功的问题。

学习随笔二:

认真查找了一下原因,原来是“选项”中的“异常”设置问题,手动单步跟踪已搞定。

 原文链接:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1