• 零基础逆向破解教程之图文!-第六课【汇编跳转】


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

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

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

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

     

     

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

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

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

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

    QQ:1148212080

    QQ群:115673482

  • 相关阅读:
    neutron 多租户隔离的实现以及子网间路由的实现
    neutron是一个超级脚本的理解
    LVS + nginx实现高性能精准负载均衡
    LVS + HAProxy实现跨网负载均衡
    Linux 线程实现模型
    Linux 进程调度的主要策略
    Linux PCI设备驱动的实现思路与思想
    网络控制器intel 82599, powerpc 830的BD描述符结构
    Linux网络设备驱动的实现
    大规模分布式服务的核心思想
  • 原文地址:https://www.cnblogs.com/raorao1994/p/12311018.html
Copyright © 2020-2023  润新知