zoukankan      html  css  js  c++  java
  • 破解之脱壳练习

    0X01    初体验

    作业一:??(OD入口和区段都很迷)  exeinfo下界面显示 UPX

    作业二:e语言  (界面显示是:nspack(我也不知道这是什么))  exeinfo区段信息没什么用,都被修改过了

    作业三:VMP   

    问题:od怎么看区段信息.....界面稍有点复杂

               要了解win32API

    0X02      再分析

    作业一:

    (1)Exeinfo

     UPX -> Markus & Laszlo ver. [      ] <- from file. [ ! Modified ! ] ( sign like UPX packer ) 

    故可以确定为是UPX壳

    (2)  手脱UPX壳

    ★ 新知识   ESP定律

    ESP定律从我理解来说,就是程序开始时有个PUSHAD指令来保存所有寄存器状态,PUSHAD指令就像是大括号,有PUSH就有POP,两者共同的特点就是修改了ESP寄存器的值,所以我们需要在被修改的值上下硬件断点,来找到POP指令的位置,找到POP后就离原本的程序OEP不远了

    第一条指令就是pushad,这显然不是普通程序应该有的第一条指令,pushad保存当前的上下文,即把寄存器的值存到堆栈中。

    pushad后,可以看到堆栈中的内容正是之前的各个寄存器的值,其中栈顶保存的是EDI的值。栈顶的地址存储在ESP中。如果程序要正常运行,必定要从栈中取回这些值,因此可以到栈顶的内容表示的地址去看看会进行什么操作。

     

    练习链接,感兴趣自取。

    链接:https://pan.baidu.com/s/1K8nPCIefj8NwBuaXCXDYJQ
    提取码:lgdd

  • 相关阅读:
    bzoj1901 Zju2112 Dynamic Rankings
    bzoj3932 [CQOI2015]任务查询系统
    poj2104 K-th Number
    splay模板整理
    bzoj1500 [NOI2005]维修数列
    bzoj3223 Tyvj 1729 文艺平衡树
    bzoj1503 [NOI2004]郁闷的出纳员
    bzoj3224 Tyvj 1728 普通平衡树
    用CSS截断字符串
    发布一款仿天猫产品放大镜JQuery插件
  • 原文地址:https://www.cnblogs.com/blazarstar/p/12892640.html
Copyright © 2011-2022 走看看