第20课 条件追踪.doc_第1页
第20课 条件追踪.doc_第2页
第20课 条件追踪.doc_第3页
第20课 条件追踪.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第20课 条件追踪(TC)法例1JDPACK主程序的脱壳JDPACK.exeollydbg载入程序,停在这里程序现在所在的是40EXXX,点查看菜单的“内存”选项如下图:code是代码段,程序肯定要由当前的SFX,imports段跳到code段如图,code段的开始地址为401000,长度为5000,故code段位于程序401000406000之间。落回到code段的第一条地址必为oep。在命令行键入tc eip406000 回车程序很快停在下图:用ollydump插件按默认设置dump即可。此方法的速度真是太快了,有智能傻瓜脱壳的嫌疑,这就是所谓的TC法 来自英文单词trace condition条件追踪。这个程序用esp法也可快速脱壳。适用条件:适用于没有seh(结构化异常)的程序的脱壳例2unpackme- FSG 1.31 - dulek.exe载入后,程序停在477FB0的位置按AltM,看到下图:如上图:code是代码段,程序目前在477XXX,肯定要由当前的SFX,imports段跳到code段。code段的开始地址为401000,长度为50000,故code段位于程序401000451000之间。落回到code段的第一条地址必为oep。在命令行键入tc eip451000 回车 如图由于追踪的范围太大了,例1是6000,本例是5万1。程序好像死机一样,一动不动,注意,这是“假死”,一定不要被表面现象所迷惑,追女孩同样也要牢记这一法则。大约3-4分钟,程序到站停止了用ollydump脱壳后,用用Imprec修复输入表(Import Table)即可。理论:加密壳找oep的方法对于加密壳,一般的方法是用OD载入,钩掉所有异常(不忽略任何异常,除了忽略在KERNEL32 中的内存访问异常打勾,其余的选项一个勾都不打。有时由于异常过多,可以适当忽略一些异常),F9运行,数数,数用了多少次Shift+F9程序运行,显然最后一次异常后,程序会从壳跳到OEP开始执行,这就是我们寻找OEP的一个关键。如果n次Shift+F9后程序运行,则我们再次追踪时,只需要按年n1次Shift+F9。如果程序 Shift+F9后直接退出,很明显加密壳检测调试器,最简单的应付方法就是用OD的IsDebugpresent插件隐藏OD。 单步异常是防止我们一步步跟踪程序,即F8、F7等,Int3中断是检测调试器用的,仅在Win9x系统中有效,2000/XP就会出现断点异常,其它的异常主要是干扰调试。这一系列的异常虽然干扰我们调试,但也给我们指明了一条通路,就是Shift+F9略过所有异常,然后找到最后一处异常(n1处),在它的SE异常句柄处下断点,一步一步跟踪到脱壳入口点。确定从所有Seh异常中走出来,如果前面有大量循环,逐段解压。当然,你也可以用另一个好东西Trace,使用TRACE的前提条件是确保没有SEH。在Command里来个tc eipXXXXXX (XXXXXX是当前程序code段的结束位置,等于起始地址code段长度,一般程序编译的基地址为400000)。如果你的下模拟跟踪时机很准,确定没有Seh异常,稍等一会我们就会停在OEP处(对特殊加密壳,需要大量时间跟踪,因为它的循环极多,但比手动跟踪快)详细跟踪情况可以点运行跟踪,看OD跟踪记录。例3 PEncrypt 4.0 加壳Win98的记事本。此壳为加密壳,od设置如下:把Od中的选项调试选项异常选项卡中除了忽略在KERNEL32 中的内存访问异常打勾,其余一个勾都不打,请检查自己的Od设置。用鼠标点“选项”菜单中的“调试设置”,如图所示:程序用ollydbg载入后,如下图所示:点按钮或F9运行。Od提示SEH异常,故此壳非压缩壳,系加密壳。停在下面:按1下Shift+F9,如图:再按1下Shift+F9,则程序运行。故重新再来。重复上面的步骤:点按钮或F9运行。按1下Shift+F9,停,看堆栈吧。堆栈内容。0012FFBC 0012FFE0 指针到下一个 SEH 记录0012FFC0 0040CCD7 SE 句柄 呵,这里表示Od的最后一个异常处理出口就是0040CCD7,会在0040CCD7处的代码处继续正常运行。所以,我们就Ctrl+G,填入0040CCD7,回车,F2下断点,Shift+F9运行,中断在这里。顺利运行到这里,再没有SEH陷阱,可以TC模拟跟踪去OEP处了。根据前两个例子学到的知识,Alt+M查看内存,如图:命令行下tc eip405000,如图:回车后,程序很快停在下面,熟悉的4010cc,多么熟悉的面孔,OEP。用Od的Dump插件直接脱壳,方式二,不修复输入表即可。脱壳后若发现程序不能运行,这时需要用Imprec修复引入函数表(I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论