能力值:
( LV2,RANK:10 )
|
-
-
2 楼
现在.net的调试器还不成熟,所以C#中稍微用点sloten bety或PE32下壳的技术原理就很难对付了,怎么没人来讨论啊,晕死.
|
能力值:
(RANK:350 )
|
-
-
3 楼
最初由 一民 发布 该改为国外的软件吧,所以把原来的MaxtoCode改为Remotesoft Protector,他们的保护机制是一样的,只是用的方法不同
你原帖写的MaxtoCode原理文章很好呀,没必要删除。
像这些保护类软件,国外、国内都欢迎讨论。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
因为看了下论坛公告改为国外的了,原理是一样的,方法不同.类似PE32的壳文件
再把原理贴上来吧(这个是套用某个大侠的,具体是谁好象找不到了,得罪之处请见谅),我想大家都懂了
maxcode原理
被MaxToCode加密过的程序运行过程如下:
1.CRT加载加密Assembly。
2.程序调用加密Assembly中的类。
3.执行被调用加密Assembly中类的静态构造函数(这就是MaxToCode进行IL转换时候添加的,如果该类存在静态构造函数,则把该函数改名,然后添加自己的函数,再在函数末尾调用原来的函数。MaxToCode添加静态函数的原因就是,在执行加密的类代码之前,动态解密加密Assembly原来的IL代码,再将代码根据IL表恢复原有代码存放的内存地址,这时候CRT编译加密类的某个被调用的方法时,程序代码时已经是原有代码了,并不是加密过的代码。其主要应用的Win32API是MemoryWrite,MemoryRead)
经过第3步以后,内存中的代码已经是没有加密的代码了,这时候可以动态读取内存,得到源代码,OK!破解了。(我自己测试好象不行,呵呵)
4.程序按照原有的执行顺序执行。
………………
MaxToCode大体的执行过程就是这个样子的。可能会略有出入。不过思路应该是一致的,
|
|
|