- 关 键 词:
- windows操作系统
- 文件格式
- word
- 加密软件
- 执行文件
三、扭曲变换器
有了思想,就开始动手编码。原以为OBJ文件格式是有文档的,工程进度应该很快。没想到其中还是有很多内容需要考虑。每每说这是最后一个问题,解决了就没事了,却总是后延。
前前后后居然写了差不多半年时间。主要遇到的技术问题:
* 汇编器ML会把所有的代码放到一个段中,这是不可以的。CL则通常是一个函数一个段。
* 汇编器ML不能生成 COMDAT 段。尽管文档中讲它支持COMMON,但加了这个关键字无效果。
* 汇编器ML不支持 WEAKEXTERN
* 汇编器ML只支持 defaultlib 这一个 drectve 关键字,其它 export, include 等关键字不支持.总之,CL编译的OBJ其中有很多属性是ML无法生成的。微软的masm真的该升级了。
还有一些问题:
* 分不清代码与数据。数据段中肯定是数据,但代码段中却有可能不是代码,是数据。这时如果你试图反汇编它,就会出错。
* ?????不管怎样,这些问题都一一解决了(别问我怎么做的)。
采用的代码扭曲方法:
* 用 JMP 把代码打乱。这已经不是什么新鲜的招数了,但它依然有效。
* 用 JMP 把多个函数缠绕在一起。这样可以让分析者找不到函数从什么地方开始,到什么地方结束。
* 把 call 改掉。破解者对 call 是极敏感的,这举可以让他找不到一个 call。
比如,我可以把 call sub1改为:
|
* 把 ret 改掉。破解者对 ret 是极敏感的,这举可以让他找不到一个 ret。比如,我可以把ret写作:
|
再看这个,你能看懂是什么意思吗:
|
http://www.qqread.com/encrypt/p277132.html
更多内容请看加密与解密技术、常用软件加密宝典、杀毒软件专栏专题,或进入讨论组讨论。
相关专题
- 常用电脑密码破解实用技巧! (14811次浏览)
- 深入掌握网络加密及解密方法 (9144次浏览)
- 常见电子书格式及其反编译思路 (6502次浏览)
- 数据加密技术 (6242次浏览)
- openssl的man中文文档 (6192次浏览)
- 电脑中的十二种常用密码破解法 (5190次浏览)
- 详解加密技术概念、加密方法以及应用 (4968次浏览)
- 对称加密算法技术概述 (4666次浏览)
- 网络游戏封包基础 (4077次浏览)
- 加密:让你的文件人间蒸发 (4010次浏览)



