代码加壳,混淆,加密都有什么区别

代码加壳,混淆,加密都有什么区别,第1张

代码混淆是对源码做处理,加壳是对打出来的iap包做处理。开发者把包上传到应用市场上的时候,苹果自动会为上传的iap包进行简单加壳。我有个金融类的项目,被检测出来没加壳,然后我问了检测机构,他们说 加壳估计需要专业机构来加,开发者向独立完成可能有点难度,这个没加壳的漏洞算初级的,最后金融机构也就同意不修复了。 2.具体什么是加壳(百度百科结果) 加壳的全称应该是可执行做穗盯程序资源压缩,是保护文件的常用手段。 加壳过的程序可以直接运行,但是不纯和能查看源代码.要经过脱壳才可以查看源代码。 概述:加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。 加壳的程序经常想尽办法阻止外部程序或软件对加壳程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。 加壳是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都族罩在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。

查看更多

看这里,直接下在源代码.

<br><a href="http://bbs.pediy.com/showthread.php?t=43229" target="_blank">http://bbs.pediy.com/showthread.php?t=43229</a>

<br>

<br>源码在vc7+xp-sp2下编译通过

<br>原理:对Pe文件的.data节袜行和,.text节进行XOR加密,然后将带解密的Loader写入文件头和第一个段的开头之间,修改Entry Point使其指向Loader.

<br>告盯测试用例:使用vc6.0自动生成的mfc对话框应用程序。

<br>参考文献:(1)def源码

<br> (2)黑客调试技术揭秘

<br> (3)yoda's protector源码

稍微看了一下,这个做得带正并不复杂,看代码应该可以整理出思路来的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12493634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存