zoukankan      html  css  js  c++  java
  • 手脱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了。

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






  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/JianXu/p/5158400.html
Copyright © 2011-2022 走看看