电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第16课手动脱壳的常规方法

第16课手动脱壳的常规方法_第1页
1/6
第16课手动脱壳的常规方法_第2页
2/6
第16课手动脱壳的常规方法_第3页
3/6
第1 6 课 手动脱壳的常规方法 手动脱壳主要分为三大步骤(你可以将其想像为程咬金的三板斧):①寻找入口点(OEP)、②转储(Dump)程序、③修复输入表(Import Table)。对于复杂的加密壳,还需要在①②之间再加上一个步骤:寻找魔力跳(Magic Jump)。 直接跟踪法 直接跟踪法的基本原则为: 1.时刻把自己想像成中国象棋中的“兵”或“卒子”,只准前进,不准后退。一旦往回跳,则在程序的下一行按 F4,继续向下走(解释:F4——运行到指定行)。 2.一般情况下,一路按 F8走。一旦追踪的过程中,目标程序运行起来,宣告脱壳失败。则需要重新来过,通常的术语被称为“程序跑飞”。 3.注意识别变形 call(其实质是一种变形的 jmp)。不能直接F8带过,会跑飞。这种情况下应该按 F7。判断的方法是它所 call的地址和它自身所在的当前行地址极其接近,感觉离得不远,像近房亲戚、孪生兄弟或姐妹。 4.遇到在循环中跑来跑去时,要想办法跳出循环圈。时刻留意其中一些跳的比较远的跳转,可以ctrl+G,直接到那个位置;或者按 F2设断,F9或点按钮,断下后再F2取消断点。 〔例1〕 目标程序:UnPackMe_EZIP1.0.exe。壳为ezip1.0。 程序载入后,来到这里。 F8,来到这里 F8 走,直到这里,看到类似下图的跳转,由于是向下跳,注意看红线和 V 形向下小箭头,任由它跳即可。 来到下图的跳转时,当心,已经来到 46861A,却要跳回到 46855F。注意看红线和 ^形向上小箭头,不让它跳,在下一行(即 46861F)用鼠标点住,按 F4。 继续F8 向下走,直到468688 这行: 程序在46××××,却要跳到4271B0(42××××),如此大的跨段大跳跃,就是跳到入口点(传说中的 OEP)的典型标志,看 EAX 的值也可知道=4271B0。所以 OEP=4271B0 F8 走一下,来到入口点。如下图: 经验:入口点处的代码一般为 push ebp mov ebp,esp 或 Push 0 我们用peid 的找入口点插件验证一下: 确实没错。有时OEP 的东西比较混乱,看着不像,这时需要在ollyDBG 中 选择“插件”中的ollyDump脱壳插件脱壳 由于为压缩壳,没有破坏输入表,选项设置如下图:不要勾选“重建输入表” 点脱壳按钮,即可完成脱壳,命名为 aa.exe 运行正常。Peid 显示如下:可见,脱干净了。 最后,用lordpe 的pe rebu ilder 减肥aa.ex e。脱壳完成。 〔例2〕 脱壳 UnPackMe_MEW1.1.ex e 用例 1 的方法追踪,留意这里 留意这里(发现以后...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第16课手动脱壳的常规方法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部