• 手动脱NsPacK壳实战


    作者:Fly2015

    这里脱壳的程序是吾爱破解培训的作业2,相较于作业1略微要强一点,可是仅仅要掌握了脱壳的ESP定律,脱这个Nspack壳并不难。只是还是蛮有意思的。

    1.使用查壳软件对加壳的程序进行查壳。

    使用PE Detective查壳的结果:


    使用DIE查壳的结果:


    2.OD加载程序进行脱壳操作

    OD加载以后。被加壳程序的入口点的汇编代码。如图。

    非常显然,加壳程序加载OD以后。发现有3pushad指令。因此在进行程序脱壳的时候,依据ESP定律须要下3个硬件断点。


    依据该加壳程序加载OD的汇编的特点。依据ESP定律下3个硬件断点。如图。


    3F9执行加壳程序,程序自然会断在第3个硬件断点处,如图。


    F7跟进到地址0044C18D处。观察后面的汇编指令的特点,经过分析以及结合反汇编的经验。找到了以下这段汇编,如图。


    非常显然,JMP指令后面的地址0041DDAC就是原来程序的真实OEP的地址。先删除前面设置的3个硬件断点,然后在地址0044C33CF2下断点,F4或者F9执行到该断点处断下。
    删除原来设置的硬件断点:


    执行到断点0044C33C处,程序断下来。如图。


    F7跟进到真实OEP的地址0041DDAC处。如图。


    令人烦恼的事情发生了,OD没有正确的将内存数据转换成汇编形式显示出来,因此须要我们手动的将内存数据转换成汇编指令显示出来(选中没有没有正确显示的内存数据-->右键-->分析-->分析代码或者使用快捷键Ctrl + A)


    Ok,上面的汇编代码是不是非常熟悉啊。如今,我们就能够使用OD的插件OllyDump或者Load PE结合RECImport 工具,进行程序的脱壳了。执行脱壳后的程序,程序执行正常。


    脱Nspack壳的文档和脱壳后的程序的下载地址:http://download.csdn.net/detail/qq1084283172/8883869

  • 相关阅读:
    无重复字符的最长子串
    最长公共前缀
    项目开发的 工程化
    包管理 import debug 模块管理 module
    Third Party Browser Drivers NOT DEVELOPED by seleniumhq
    任何不看源码的代码引入都是存在定时爆炸的可能
    博客数计数
    lineage 世系 血缘 容错机制 DAG
    查源码分析 游标 写 需要 cursors 一切不看源码的代码引入都是定时炸弹的启动
    8核 16g 及时释放内存空间
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6755965.html
Copyright © 2020-2023  润新知