zoukankan      html  css  js  c++  java
  • OD使用教程11

     首先把安装好的软件拖入PEID,看看它是用什么语言写的

      
    然后用OD载入程序,查找关键字,步骤看上一个笔记
    双击到达代码处,发现这在一个跳转里面。可能第一反应是修改跳转,经试验后发现这是没用的所以放弃
    重新来过一遍,再次来到这里,仔细看发现决定是否跳转的是al,al的值,然而al的值使上一行的命令给的。所以在这下一个断点。
    重新载入程序,运行来到断点处。看注释,发现这这个值调用了两个地址。点击注释那一行右键转到那两个地址下断点
    点击enter键回到刚刚那个断点处,然后给另一个地址下断点
    重新载入程序运行,来到断点处(是后来下的两个断点中的一个)
    然后打开断点编辑器,删掉刚刚下的那两个断点中的另一个,因为运行的时候停在了这个断点处所以没有用了。(框出来的是有用的)
    重新运行来到断点处,发现这个断点处推入的值和另一个断点推入的值是一样的
    再仔细看发现,al的值决定于esp+4,而esp+4也就是0012E024,而esp+4决定于eax的值。eax上面的call的返回值回影响eax的值,所以这个call是关键点。所以把断点改成这里,下面那个断点去掉
    重新载入程序,运行来到断点处
    f7进入程序,推测这是一个程序加密的验证过程,f8一直往下走
    经过一个跳转之后来到这,试着修改al的值
    修改之后保存
    重新载入之后运行,就成功了
  • 相关阅读:
    hadoop安装前的准备
    记录一次Qt5程序无法运行的解决过程
    C#里的Thread.Join与Control.Invoke死锁情况
    qbxt7月笔记
    zhxのDP讲
    有n*m的方格图
    最长上升子序列相关问题笔记
    qbxt游记(清北澡堂划水记
    DAZの七下道法(持续更新
    模板
  • 原文地址:https://www.cnblogs.com/chenxiaoqi/p/4923672.html
Copyright © 2011-2022 走看看