zoukankan      html  css  js  c++  java
  • windows调试器尝鲜

    曾几何时,我也下载过看雪论坛精华看的津津有味。可惜一直没有动手去调试,学到的x86汇编指令也忘得差不多了。最近将老机器的T4200 CPU换成了更省电,温度更低的P8800,为了支援新的VT虚拟化,特地将Dell 1545的BIOS从A8升级到A14。顺带发现SLIC已经自动升级到2.0了。但是升级以后,win7开始菜单的睡眠功能就无法使用了,于是萌生了降级刷BIOS的想法。

    下好了1545A13的BIOS,运行后发现出现了一个warning信息,大意就是不能降级安装,点个确定就退出了。理想情况下warning应该是可以忽略的啊,网上搜索了一下,有个/forceit的命令行开关,实际执行发现没效果,决定上调试器。之前试用过windbg,有个功能很不错,可以在访问指定范围的内存时停下来,可惜没找到如何进入用户态。换了ollydbg,德国人出品的共享软件,非商用不要钱,写邮件注册下就好。

    围观了一下ollydbg的教程,基本上简单的破解就三板斧,首先搜索所有引用字符串,然后定位到代码里引用这个字符串的位置,在附近下个断点,最后实际运行下,观察代码路径,看看是哪个代码分支跳转到字符串的,然后改跳转就好。于是按部就班的修改一下1545A13的驱动:

    查找所有字符串,然后在弹出的窗口中搜索:

    然后在反汇编器里面跟踪:

    于是很清晰的定位到显示msgbox的位置:

    可以看到,显示警告信息的前面几条指令里,有个条件跳转 JLE 00422E15。我们直接将其改为强制跳转,绕过警告信息的显示和接下来的退出流程。先按下F2打一个断点,然后按F9直接运行到该条指令:

    将指令改为JMP,地址不变

    于是我们就看见亲爱的降级刷BIOS界面了,完。

  • 相关阅读:
    CF 429C
    GDOI2015滚粗记
    JLOI2015 城池攻占
    GDKOI2014 石油储备计划
    HNOI2012 射箭
    移动端复制到剪贴板
    再谈mobile web retina 下 1px 边框解决方案
    css去除chrome下select元素默认border-radius
    整理低版本ie兼容问题的解决方案
    移动端按钮交互变色实
  • 原文地址:https://www.cnblogs.com/Lifehacker/p/ollyDbg200.html
Copyright © 2011-2022 走看看