软件逆向学习入门
软件授权分类
一般分为以下几类::
- 【商业版】: 也就是正规的商业发行版,这种软件本应通过正规购买方式获得,但网络上一些朋友将这些软件进行技术处理之后以软件包的形式提供下载,一般来说在使用上和正规购买的版本没有什么区别;
- 【试用版】: 这类软件一般是商业软件开发商自己通过网络提供于大家下载的。但和正式商业版相比在功能上会有一定限制,比如原来在网络上提供的金山2003试用版。就有使用次数的限制;
- 【共享版】: 也就是正规的商业发行版,这种软件本应通过正规购买方式获得,但网络上一些朋友将这些软件进行技术处理之后以软件包的形式提供下载,一般来说在使用上和正规购买的版本没有什么区别;
- 【商业版】: 也就是共享软件,这类软件一般是由个人开发完成,只通过网络下载的方式发行,但软件开发者为了获取利益,会对软件进行技术处理,在未向作者正式购买该软件之前会在使用过程中受到一定限制,如只能使用30天,或者某些高级功能无法使用。当使用者向作者付款之后,会通过比如注册码方式对软进行解锁,从而能够无障碍使用该软件;
- 【免费版】: 和共享软件一样,大多由个人开发,但却是免费提供给大家使用,没有任何功能或时间、次数上的限制。但一般不允许对该软件进行二次开发或用于商业赢利目的;
6.【自由版】: 也就是自由软件,这类软件不但向使用者提供没有任何限制的使用权限,而且遵循相关的自由软件授权协议允许任何人对该软件进行二次开发或用于商业用途,甚至有时会提供软件源代码(LINUX软件大多属于此类); - 【破解板】: 严格来说这不属于一种授权版本,因为他是针对商业版、试用版、共享版这类有使用限制的软件进行二次开发之后形成的特殊版本,也就是说,使用者可以在没有任何经济付出的条件下无限制的使用该软件的全部功能。一般通过改写原软件、制作算号器、拦截注册信息等等方式实现;
工具介绍
- 查壳
PEID–功能强大的侦壳工具,自带脱壳插件(但是,效果不怎么样)
工作原理:核心是userdb.txt(大家看看就完全明白了)[通过壳的入口特征码进行辨认] - od
强大的反汇编工具,也是现在最常用的 - Dump
OD自带的脱壳插件–到达OEP之后右键。。。
LordPE、PeDumper–选择所调试的进程–右键–完整脱壳 - 修复
Import REConstructor 1.6
软件是否加密
- Microsoft Visual C++ 6.0
00496EB8 >/$ 55 PUSH EBP ; (初始 cpu 选择)
00496EB9 |. 8BEC MOV EBP,ESP
00496EBB |. 6A FF PUSH -1
00496EBD |. 68 40375600 PUSH Screensh.00563740
00496EC2 |. 68 8CC74900 PUSH Screensh.0049C78C ; SE 处理程序安装
00496EC7 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00496ECD |. 50 PUSH EAX
00496ECE |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00496ED5 |. 83EC 58 SUB ESP,58 - Microsoft Visual Basic 5.0 / 6.0
00401166 - FF25 6C104000 JMP DWORD PTR DS:[<&MSVBVM60.#100>] ; MSVBVM60.ThunRTMain
0040116C > 68 147C4000 PUSH PACKME.00407C14
00401171 E8 F0FFFFFF CALL <JMP.&MSVBVM60.#100>
00401176 0000 ADD BYTE PTR DS:[EAX],AL
00401178 0000 ADD BYTE PTR DS:[EAX],AL
0040117A 0000 ADD BYTE PTR DS:[EAX],AL
0040117C 3000 XOR BYTE PTR DS:[EAX],AL - BC++
0040163C &