软件破解常见的问题-逆向工程的应用
来源:互联网 发布:肇庆市民网络问政平台 编辑:程序博客网 时间:2024/06/05 10:15
摘要:通过分析几种常规软件破解的方式,以破解出发,并提出了编写应用程序需要注意和改进的地方。
关键词:软件破解技术;加壳软件;逆向工程
1引言
软件破解主要从两个方面人手,第一是脱掉保护软件的壳,现在的软件出厂一般都使用了加密壳、压缩壳、伪装壳、多层壳等技术,脱掉软件的壳是能进行跟踪调试的前提条件。第二是根据软件的注册性质决定采取什么对策进行序列号推算,暴力破解等。
2.1壳概述
在一些计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。当加壳后的文件执行时,壳一这段代码先于原始程序运行,它把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。软件的壳分为加密壳、压缩壳、伪装壳、多层壳等
类,目的都是为了隐藏程序真正的OEP(人口点,防止被破解)。
2.2加壳软件
作者编好软件后,编译成exe可执行文件。有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等,即为了保护软件不被破解,•通常都是采用加壳来进行保护。若需要把程序压缩小一些,从而方便传输,于是,需要用到一些软件,它们能将exe可执行文件压缩。另外在黑客界给木马病毒等加壳以躲避杀毒软件。能实现上述功能的这些软件称为加壳软件,如ASPACK,UPX,PEcompace等。
2.3侦壳软件
侦测壳和软件所用编写语言的软件为侦壳软件。脱壳之前必须要查它的壳的类型。常用侦壳软件有peid,fi等。
2.4脱壳软件
常用的脱壳工具如下:
(1)文件分析工具(侦测壳的类型):Fi,Get-Typ,peid,pe—scan;
(2)OEP人口查找工具:peid;
(3)调试工具:SoftICE,TRW,ollybdg;
(4)Dump工具:IceDump,TRW,PEditor,ProcDump32,lmrdPE;
(5)PE文件编辑工具:PEditor,Proc.Dump32,LordPE;
(6)重建ImportTable工具:ImportREC,Re-Virgin。
2.5手动脱壳方法
软件脱壳有手动脱壳和自动脱壳之分,下面仅介绍手动脱壳。
手动脱壳的主要步骤是寻找人口点,转储(dump)程序,修复引人函数表(ImportTable),修复pe文件。现在的壳分压缩壳,加密壳,伪装壳,多重壳。压缩壳的目的是使文件由大小变小,便于在网上传播。并有一定的保护作用,他人无法反汇编加壳程序;加密壳的目的是用各种手段保护软件壳不被脱掉、跟踪,文件大小不是它的目的,有时候甚至变大;伪装壳其实也还是一种加密壳,只不过它先是伪装成一些开发工具的头部,如VC,使得侦壳工具无法准确地侦察出它加壳的种类;多重壳技术是采用多种壳加密技术,不光加一层壳,加多重不一样的壳达到保护的目的。
判断加壳程序和普通程序很容易,用Ollydbg(简称Od)载入程序,没加壳软件无任何提示。加密壳有些Od载人时会提示压缩,用运行后,Od提示程序异常。普通加壳Od载人时一般都会发现,提示软件被加壳,是否继续分析。若脱壳没有脱干净,Od载人时也会提示加壳。手动脱壳时,用OUdbg载人程序,脱壳程序里面就会有很多循环。对付循环时,只能让程序往前运行,基本不能让它往回跳,要想办法跳出循环圈。单步跟踪,找到程序的人口地址。
关键词:软件破解技术;加壳软件;逆向工程
1引言
软件破解主要从两个方面人手,第一是脱掉保护软件的壳,现在的软件出厂一般都使用了加密壳、压缩壳、伪装壳、多层壳等技术,脱掉软件的壳是能进行跟踪调试的前提条件。第二是根据软件的注册性质决定采取什么对策进行序列号推算,暴力破解等。
2.1壳概述
在一些计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。当加壳后的文件执行时,壳一这段代码先于原始程序运行,它把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。软件的壳分为加密壳、压缩壳、伪装壳、多层壳等
类,目的都是为了隐藏程序真正的OEP(人口点,防止被破解)。
2.2加壳软件
作者编好软件后,编译成exe可执行文件。有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等,即为了保护软件不被破解,•通常都是采用加壳来进行保护。若需要把程序压缩小一些,从而方便传输,于是,需要用到一些软件,它们能将exe可执行文件压缩。另外在黑客界给木马病毒等加壳以躲避杀毒软件。能实现上述功能的这些软件称为加壳软件,如ASPACK,UPX,PEcompace等。
2.3侦壳软件
侦测壳和软件所用编写语言的软件为侦壳软件。脱壳之前必须要查它的壳的类型。常用侦壳软件有peid,fi等。
2.4脱壳软件
常用的脱壳工具如下:
(1)文件分析工具(侦测壳的类型):Fi,Get-Typ,peid,pe—scan;
(2)OEP人口查找工具:peid;
(3)调试工具:SoftICE,TRW,ollybdg;
(4)Dump工具:IceDump,TRW,PEditor,ProcDump32,lmrdPE;
(5)PE文件编辑工具:PEditor,Proc.Dump32,LordPE;
(6)重建ImportTable工具:ImportREC,Re-Virgin。
2.5手动脱壳方法
软件脱壳有手动脱壳和自动脱壳之分,下面仅介绍手动脱壳。
手动脱壳的主要步骤是寻找人口点,转储(dump)程序,修复引人函数表(ImportTable),修复pe文件。现在的壳分压缩壳,加密壳,伪装壳,多重壳。压缩壳的目的是使文件由大小变小,便于在网上传播。并有一定的保护作用,他人无法反汇编加壳程序;加密壳的目的是用各种手段保护软件壳不被脱掉、跟踪,文件大小不是它的目的,有时候甚至变大;伪装壳其实也还是一种加密壳,只不过它先是伪装成一些开发工具的头部,如VC,使得侦壳工具无法准确地侦察出它加壳的种类;多重壳技术是采用多种壳加密技术,不光加一层壳,加多重不一样的壳达到保护的目的。
判断加壳程序和普通程序很容易,用Ollydbg(简称Od)载入程序,没加壳软件无任何提示。加密壳有些Od载人时会提示压缩,用运行后,Od提示程序异常。普通加壳Od载人时一般都会发现,提示软件被加壳,是否继续分析。若脱壳没有脱干净,Od载人时也会提示加壳。手动脱壳时,用OUdbg载人程序,脱壳程序里面就会有很多循环。对付循环时,只能让程序往前运行,基本不能让它往回跳,要想办法跳出循环圈。单步跟踪,找到程序的人口地址。
- 软件破解常见的问题-逆向工程的应用
- 逆向工程破解软件的一些汇编命令
- 逆向工程的应用
- 软件逆向的应用
- 软件逆向工程的前世今生
- 安卓逆向工程--针对授权key方式的破解
- Android平台的防破解及逆向工程心得
- PowerDesigner的汉化破解安装到逆向工程(ORACLE)
- PowerDesigner15.1逆向工程的一个问题
- 逆向破解的基础
- 常见破解软件的优秀替代免费软件
- 下资源网站”逆向工程,软件破解学习资料汇总
- Android逆向工程-破解
- MFC的逆向工程
- mybatis 的逆向工程
- mybatis的逆向工程
- mybatis的逆向工程
- mybatis的逆向工程
- Debian 安装程序时出现要求加载cd,可修改安装源
- Android Layout 之 RelativeLayout
- 值得学习的源代码
- 【linux】 swap swappiness相关
- 关于Android LCD和键盘背光亮度 .
- 软件破解常见的问题-逆向工程的应用
- IT网站导航
- 项目管理是一种服务
- 访问Appache服务器最多的那个ip
- 有一位花贩告诉我
- 雨晨QQ2013beta2(5865) 双显IP纯净完整自选版
- 使用pthread做线程控制,锁版
- 杭电OJ——1230 火星A+B
- 乱序算法及C++函数