首页
社区
课程
招聘
请高手出来讲讲(讨论)Remotesoft Protector的保护方式
2006-8-26 23:12 7943

请高手出来讲讲(讨论)Remotesoft Protector的保护方式

2006-8-26 23:12
7943
该改为国外的软件吧,所以把原来的MaxtoCode改为Remotesoft Protector,他们的保护机制是一样的,只是用的方法不同

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
一民 2006-8-28 10:01
2
0
现在.net的调试器还不成熟,所以C#中稍微用点sloten bety或PE32下壳的技术原理就很难对付了,怎么没人来讨论啊,晕死.
雪    币: 29414
活跃值: (18690)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2006-8-28 14:53
3
0
最初由 一民 发布
该改为国外的软件吧,所以把原来的MaxtoCode改为Remotesoft Protector,他们的保护机制是一样的,只是用的方法不同


你原帖写的MaxtoCode原理文章很好呀,没必要删除。
像这些保护类软件,国外、国内都欢迎讨论。
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
一民 2006-8-28 22:37
4
0
因为看了下论坛公告改为国外的了,原理是一样的,方法不同.类似PE32的壳文件
再把原理贴上来吧(这个是套用某个大侠的,具体是谁好象找不到了,得罪之处请见谅),我想大家都懂了
maxcode原理
被MaxToCode加密过的程序运行过程如下:

1.CRT加载加密Assembly。
2.程序调用加密Assembly中的类。
3.执行被调用加密Assembly中类的静态构造函数(这就是MaxToCode进行IL转换时候添加的,如果该类存在静态构造函数,则把该函数改名,然后添加自己的函数,再在函数末尾调用原来的函数。MaxToCode添加静态函数的原因就是,在执行加密的类代码之前,动态解密加密Assembly原来的IL代码,再将代码根据IL表恢复原有代码存放的内存地址,这时候CRT编译加密类的某个被调用的方法时,程序代码时已经是原有代码了,并不是加密过的代码。其主要应用的Win32API是MemoryWrite,MemoryRead)
经过第3步以后,内存中的代码已经是没有加密的代码了,这时候可以动态读取内存,得到源代码,OK!破解了。(我自己测试好象不行,呵呵)
4.程序按照原有的执行顺序执行。
………………

MaxToCode大体的执行过程就是这个样子的。可能会略有出入。不过思路应该是一致的,
游客
登录 | 注册 方可回帖
返回