`
cfree
  • 浏览: 17819 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

脱壳基础(二)

XP 
阅读更多
外壳初始化的现场环境(各寄存器值)与原程序的现场环境是相同的。加壳程序初始化时保存各寄存器的值,外壳执行完毕,会恢复各寄存器内容。其代码形式一般如下:
PUSHFD    ;将标志寄存器入栈保存  
PUSHAD    ;pusheax,ecx,edx,ebx,esp,ebp,esi,edi

   ……     ;外壳代码部分
  
POPAD     ;popedi,esi,ebp,esp,ebx,edx,ecx,eax 
POPFD     ;恢复标志寄存器
  
JMPOEP    ; 跨段转移指令到OEP

OEP:……     ;解压后的程序原代码

1、常见脱壳知识:
pushfd╲
        (入栈)代表程序的入口点的数据
pushad╱

popad╲
       (出栈)代表程序的出口点的数据或者是PUSH PUSHAD这样
popfd╱ 

或者
PUSHAD (压栈) 代表程序入口点

POPAD (出栈) 代表程序出口点

出现出栈后一般经过RETN或者JMP等指令,发生跨断跳跃一般就到了OEP了(*^__^*) 嘻嘻……


2、找OEP:
    程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP),只要我们找到程序真正的OEP,就可以立刻脱壳。当然也有其他的,如 je OEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转。 找OEP时注意两点。
   1单步往前走,不要回头。
   2观察。注意poshad、poshfd,popad、popfd等,和外壳代码处对应,注意地址发生大的变化。单步跟踪什 么时候F8走,F7,F4步过?这里我说说关于F8(Step Over)和F7(Step in)的一般方法,粗跟的时候一般都是常用F8走,但是有些call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较call的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走。对于Call的距离很远,可以放心用F8步过,如果你再用F7步过,只是浪费时间而已。F8步过对压缩壳用的很多,F7步过加密壳用的很多,如果用F8一不小心就跑飞(程序运行),跟踪失败。
(PS:OEP是OriginalEntryPoint缩写,即程序加壳前的真正的入口点)

3、加密壳VS压缩壳:
加壳软件按照其加壳目的和作用,可分为两类:
    1、是压缩(Packers);
    2、是保护(Protectors);
    压缩这类壳主要目的是减小程序体积,如ASPacK、UPX和PECompact等。另一类是保护程序,用上了各种反跟踪技术保护程序不被调试、脱壳等,其加壳后的体积大小不是其考虑的主要因素,如ASProtect、Armadillo、EXECryptor等。随着加壳技术的发展,这两类软件之间的界线越来越模糊,很多加壳软件除具有较强的压缩性能,同时也有了较强的保护性能。
    如何分辨加密壳压缩缩壳,通用特点,Od载入时有入口警告或询问是压缩程序吗?普通压缩壳Od调试时候没有异常加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常。所以调试的时候需要注意!

4、加密壳找OEP
对于加密壳,我的方法一般是用最后一次异常法~
    OD载入,钩掉所有异常(不忽略任何异常,除了忽略在KERNEL32 中的内存访问异常打勾。有时由于异常过多可以适当忽略一些异常),运行,数着用了多少次Shift+F9程序运行,显然最后一次异常后,程序会从壳跳到OEP开始执行,这就是我们寻找OEP的一个关键,如果程序Shift+F9后直接退出,很明显加密壳检测调试器,最简单的应付方法就是用插件隐藏。
    单步异常是防止我们一步步跟踪程序,即F8,F7,F4等,Int3中断是检测调试器用的,仅在Win9x系统中有效,2000/XP就会出现断点异常,其它的异常主要是干扰调试。这一系列的异常虽然干扰我们调试,但也给我们指明了一条通路,就是Shift+F9略过所有异常,然后找到最后一处异常,再它的恢复异常处下断点,跟踪到脱壳入口点。确定从所有SEH异常中走出来,如果前面有大量循环,逐段解压。
    当然你也可以用另一个好东西--Trace,在Command里来个tc eip<42b000 (42b000是当前段的起始位置,滚动条拖到最上面就能看到了,一般程序编译的基地址为400000),42b000只是例子,如果你的下模拟跟踪时机很准,确定没有Seh异常,稍等一会我们就会停在OEP处(对特别加密壳需要大量时间跟踪,因为它的循环极多,但比手动跟踪快,大部分时候是的。)详细跟踪情况可以点运行跟踪看OD跟踪记录。


分享到:
评论

相关推荐

    零基础脱壳破解第二课

    零基础脱壳破解第一课,大家一起学习脱壳,不再被骗子欺骗。。

    脱壳经验谈之二-教会大家一些脱壳的基础知识

    脱壳经验谈之二本系列的目的在于教会大家一些脱壳的基础知识,分享个人的心得体会。 本篇不同于第一篇,内容相对少但是详细,力争把每个知识点讲清楚。我希望你能都看完,认真看!

    软件破解入门教程.txt

    第二章 破解软件的基础 第三章 破解windows 95软件的方法 第四章 特例分析的方法 提高篇(1) 提高篇(2) 提高篇(3) 提高篇(4) 提高篇(5) coolfly教程 破解入门第一集 破解入门第二集 破解入门第三集 破解...

    加密与解密》随书光盘(二)工具.rar

    加密与解密》随书光盘(二)工具 本书在第一版的基础上,更新了第一版中的过时内容。 本书共分三个部分。 第一部分介绍与加密和解密技术相关的基础知识。 第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态...

    加密与解密.第二版.part2

    第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,系列号,警告窗口,时间限制,加密算法MD5、SHA、RSA等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳、补丁...

    加密与解密.第二版.part1

    第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,系列号,警告窗口,时间限制,加密算法MD5、SHA、RSA等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳、补丁...

    加密与解密.第二版.part3

    第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,系列号,警告窗口,时间限制,加密算法MD5、SHA、RSA等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳、补丁...

    [加密与解密.第二版].pdf

    中文名: 加密与解密 第二版资源格式: 光盘镜像版本: 附配套光盘发行时间: 2003年地区: 大陆简介: 作者: 段钢编 译者: 书号: 7-5053-8648-4 页码: 519 开本: 16开 版次:1-1 丛书名: 出版社: 电子工业出版社 ...

    加密与解密 第二版 1

    第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,序列号,警告窗口,时间限制,加密算法MD5、SHA、RSA、EIGamal等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳...

    加密与解密(第二版) 看雪学院出版 第1部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密(第二版) 看雪学院出品 第2部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版] PDF扫描版

    第1章 基础知识 第2章 代码分析技术第3章 静态分析技术第4章 动态分析技术第5章 软件保护技术及其弱点第6章 加密算法第7章 反编译语言第8章 PE文件格式第9章 增加PE文件功能第10章 反跟踪技术第11章 加壳与脱壳第12...

    《加密和解密》(第二版) 前两章

    第1章 基础知识 第2章 代码分析技术第3章 静态分析技术第4章 动态分析技术第5章 软件保护技术及其弱点第6章 加密算法第7章 反编译语言第8章 PE文件格式第9章 增加PE文件功能第10章 反跟踪技术第11章 加壳与脱壳第12...

    [加密与解密.第二版]part2.rar

    中文名: 加密与解密 第二版资源格式: 光盘镜像版本: 附配套光盘发行时间: 2003年地区: 大陆简介: 作者: 段钢编 译者: 书号: 7-5053-8648-4 页码: 519 开本: 16开 版次:1-1 丛书名: 出版社: 电子工业出版社 ...

    [加密与解密.第二版].part4.rar

    中文名: 加密与解密 第二版资源格式: 光盘镜像版本: 附配套光盘发行时间: 2003年地区: 大陆简介: 作者: 段钢编 译者: 书号: 7-5053-8648-4 页码: 519 开本: 16开 版次:1-1 丛书名: 出版社: 电子工业出版社 ...

    [加密与解密.第二版].part3.rar

    中文名: 加密与解密 第二版资源格式: 光盘镜像版本: 附配套光盘发行时间: 2003年地区: 大陆简介: 作者: 段钢编 译者: 书号: 7-5053-8648-4 页码: 519 开本: 16开 版次:1-1 丛书名: 出版社: 电子工业出版社 ...

    【推荐】超全的移动安全自学资料精编合集(43份).zip

    Android安全应用逆向: 使用IDA Pro进行脱壳 Android安全应用逆向: 加密算法基础 Android安全Hook: Hook技术简介 Android安全Hook: Xposed源码分析(一) Android安全Hook: Xposed源码分析(二) Android安全Hook: ...

    汉化教程(共56M二分卷)分卷二

    在掌握了上述标准和非标的技术后再对字典技术进行全面了解,自此,基础知识才算扎实,再去弄什么脱壳、自校验才有意义。 有关工具方面,针对最常用对工具进行了分类归纳,因此可能会出现文章重复:比如有关VL的...

    加密与解密(第二版) 配套光盘

    第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,序列号,警告窗口,时间限制,加密算法MD5、SHA、RSA、ElGamal等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳...

    shark恒破解教程两季大全共20集

    shark恒破解教程两季大全共20集,最全最强大的脱壳破解教程 此教程为电子书版

Global site tag (gtag.js) - Google Analytics