• 手脱nSPack 3.7


    方法一:

    1.   OD查壳—nSpack3.7的壳

    2. 载入OD

          看起来很眼熟,F8一次,然后下面就可以使用ESP定律了,使用ESP定律下断点,然后F9四次

    3.   F9四次后落到这个位置

    接下来就是不停F8了,注意点:

    ①F8过程中不管是向上跳还是向下跳我们都让他实现,按照正常逻辑,向上的跳转不是应该在下面一行下断跳过去吗?起初我也是这样做的,但是程序会跑飞,具体的原因我也不知道是为什么,所以我就让他跳上去看看

    ②接下来F8过程中大家可能会有疑惑,因为貌似陷入了一个死循环中,代码在两个跳转中不停循环跳转,第一:我们首先可以看到的是地址框,虽然貌似两个跳转之间的反汇编代码是相同的,但是事实上我们在跳转过程中两个跳转的地址是一直在发生变化的。第二:在循环过程中,我们可以看到寄存器的变化,看起来就像是在修复什么或者是写入什么,具体的希望大神可以解释下,总之就是不停的在变化

    接下来要做的就是F8等他自己跳出去

    4.   循环调出来了,大家看下位置

    来到这里呢可以继续F8,不要着急,马上就出去了,F8运行到retn那个位置的时候就会跳转到真正的OEP了

    5.OK,来到OEP

    6.   脱壳查壳运行

          再给大家介绍一种脱壳方法,也是ESP定律,这个是我在自己脱完壳后看别人的脱壳思路时候发现的,比我的要简洁的多。

    方法二:

    1.   前面查壳就不多废话了,直接载入OD了

    载入后F8两次到第一个call可以使用ESP定律,F9运行三次

    2.运行三次后的位置

    看到没?F9运行三次后直接倒了我们方法一中跳出循环后上面的几行代码哪里,然后F8走下去,到retn哪里就跳到OEP了。

    后面的不多说了跟第一种方法一样的。






  • 相关阅读:
    2021.12.7
    2021.12.13(观察者模式c++)
    2021.12.05(echarts生成mysql表词云)
    2021.12.10(申请加分项)
    2021.12.10(课程总结)
    2021.12.11(Linux,yum错误,There are no enabled repos.)
    12月读书笔记02
    2021.12.12(springboot报ScannerException)
    2021.12.09
    centos国内镜像站
  • 原文地址:https://www.cnblogs.com/JianXu/p/5158400.html
Copyright © 2020-2023  润新知