zoukankan      html  css  js  c++  java
  • 零基础逆向破解教程之图文!-第六课【汇编跳转】

    在没接触壳之前,我们需要学一部分汇编知识,我觉得现在是时候了。
    一提到汇编,肯定有99%都要吐了,真的是太枯燥了。
    但在我的课里,不会让你感到有那么枯燥就能学到知识。
    由于这几天太忙,所以在我临睡觉之前给大家写了这么一课。凌晨4:40……

    好吧,让我们开始学习汇编吧。今天要学的内容是“跳转”。
    介绍一下软件,这个软件启动后2秒会自动关闭。
    为了让零基础人群更容易掌握汇编内容,于是我在关闭的时候加入了“再见”,如图。

     有了“再见”这一步,我相信大家都知道该怎么找到他了。
    那我就直接OD到这步了。如图

     我们可以看到"再见"上面有个跳转,是需要判断的,如果判断条件不成立,他就会执行到“再见”(也就是程序自动关闭)
    当然,如果条件成立,他就会跳过“再见”(跳过关闭)。
    那我们可以看到,他的跳转是JNZ,也就是有条件判断的。
    为了避免他判断条件不成立的时候关闭程序,我们就要让他永远都是条件成立,无限跳过关闭。
    我们应该怎么做? 这就用到了汇编知识!
    记住:JMP是无条件跳转(意思是:执行到JMP就必须跳,没有选择的余地!)
    只有JMP跳转是无条件,其余的所有跳转都是有条件的。
    关于跳转,我在附件里打包了一张“条件跳转”的图片,请下载查看。我们可以如下修改

     

     

     OK,把程序保存出来看看,是不是永远都不自动关闭了?
    关于条件跳转是受谁影响,请看附件里的图片,一目了然!
    通过这一课,你明白了汇编语言跳转相关命令,这也是爆破必备知识!
    虽然这一课的内容是学习汇编,但是我想看看大家举一反三的思维如何。

    ----------------交流学习------------------

    课程只是技术分享,请大家不要用到其他非法用途,谢谢合作。

    课件地址:https://gitee.com/raoaro/pojie

    QQ:1148212080

    QQ群:115673482

  • 相关阅读:
    textarea宽度、高度自动适应处理方法
    Table嵌套去掉子table的外边框
    发现原来自己挺能给自己找理由开脱的
    Life is not the amount of breath you take.
    在遍历ResultSet的循环中再执行SQL会发生什么(前提:同一个Statement)
    按月查询数据
    Oracle SQL 判断某表是否存在
    在Python程序中执行linux命令
    在Oracle中十分钟内创建一张千万级别的表
    Redis Sentinel结构 及相关文档
  • 原文地址:https://www.cnblogs.com/raorao1994/p/12311018.html
Copyright © 2011-2022 走看看