使用OllyDbg从零开始Cracking-40第四十章-OllyDbg脚本的编写.pdfVIP

使用OllyDbg从零开始Cracking-40第四十章-OllyDbg脚本的编写.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四十章-OllyDbg脚本的编写 本章在修复PELock的IAT,AntiDump之前, 我们先来讨论知识点,第一个知识点我们 上一章已经碰到了,只不过没有展开讲而 已,第二个知识点就是如何绕过PELock或 者类似软件对硬件断点的检测。 知识点1在上一章节我们遇到过,大家可能 没有在意,大家是否还记得上一章节中,OD 加载 目标程序以后,直接运行起来会弹出 一个错误框,提示不知道该如何处理xxx处 的非法指令。 为了解决这个问题,我们需要用到Patched 4这个程序 (又一个打过补丁的OD),我们将 其置于原OD所在的文件夹中,因为原版OD 在处理非法指令的时候有个BUG,就算我们 勾选上调试选项中的忽略非法指令异常, 当OD遇到非法指令的时候还是会弹出一个 错误框,Patched4这个OD修复了这个BUG。 大家将Patch4这个OD跟原版OD放到同一个 文件夹下面,下面我们分析PELock的时候 需要用到。 好,再来给大家解释一遍 (PS:老外比较细 心,也比较啰嗦,嘿嘿)。 原版OD处理非法指令的时候有个BUG,勾选 上调试选项中忽略非法指令异常,加载UnP ackMe_PELock1.06,接着运行起来。 我们可以看到弹出了一个错误框,但是我 们用Patch4这个OD来加载UnPackMe_PELoc k1.06的话,就可以完美运行。我们来看看 日志信息。 我们可以看到最后一次异常是一个非法指 令异常,现在我们不勾选的忽略非法指令 异常选项。 这里我们去掉Invaild or privileged in struction这个选项的对勾,加载UnPackMe _PELock1.06,运行起来。 断在了异常处,如果我们按Shift + F9也 可以继续运行下去。 也就是原版OD是就算你勾选了忽略非法指 令异常这一项,OD并没有自动忽略。 如果是仅仅有一个这类异常,我们按一下S hift + F9也没什么。但是如果 目标程序 会产生200或者300个这样的异常,难道我 们也手工去按Shift + F9不成 (PS:连续按 Shift + F9 200多次,那还不得疯掉哇,哈 哈)。 我们再次勾选上Invaild or privileged instruction这个选项,运行起来,再次弹 出了错误框。 下面我们来尝试修复OD的这个BUG,再新开 一个OD。 选择新的OD主菜单中的File-Attach。定 位到弹出错误框的OD所在的进程。 定位到弹出错误框OD所在的进程,单击Att ach (附加)。 断在了这里,我们运行起来。 接着我们来看一下区段列表窗口。 现在我们可以看到OllyDbg的各个区段情 况,接下来我们给MessageBoxA这个API函 数设置一个断点。 由于我们单击错误消息框上面的OK按钮, 就到达MessageBoxA函数的RET指令处,我 们给该RET指令处也设置一个断点。 弹出错误消息框后,我们单击Aceptar (OK) 按钮。就会断在MessageBoxA这个API函数 的返回RET指令处,我们单击F7键单步。 下面我们查看一下字符串列表,看看有没 有消息框提示的错误信息字符串。 我们看看有没有字符串里面含有bypass这 个单词。 我们可以看到我们要找到字符串在这里, 我们在这个字符串上面双击。 我们可以看到这里有几处JNZ可以跳过弹 出错误消息框的代码,这里我们将435260 处的JE修改为JMP 43528D,保存到文件中 。 接下来我们看看Patched4这个OD该处的代 码是怎么样的。 这里我们可以看到435260处的条件跳转被 修改为无条件跳转,即修改为了JMP 43528 D,这样就能跳过填出错误消息框的代码。 这就是Patched4修复非法指令这个BUG的 原理。大家可以自行给OD打补丁也可以直 接用Patched4 这个OD。 知识点2就是要给大家演示如何编写脚本, 我们需要用到OllyScript0.92.dll这个插 件,将其放到OD的插件 目录下。 打开Patched4这个OD。 我们可以看到主菜单中出现OllyScript的 插件子菜单项。 现在我们加载UnPackMe_PELock1.06,下面 我们编写一个简单的脚本让该壳无法检测 到我们设置的硬件断点。 关于这个插件的使用说明大家可以参考插 件文件夹下面的readme.txt。 这个脚本的思路很简单:每次异常触发后 都会断在KiUserExceptionDispatcher,接 下来就会

文档评论(0)

@思念@ + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档