查看: 64|回覆: 1

易语言防破解小思路之dll数据交互效验

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-8-10
發表於 2020-9-17 21:22:00 | 顯示全部樓層 |閲讀模式

    现在很多提供软件保护的平台,xx盾xx盾啥的。

    以前,保护通常需要写在源码里,而且要看说明,很多小白甚至都看不懂。(话说,小白也写不出啥需要保护的东西……)

    现在他们一般都提供两种傻瓜模式的保护,一种是加壳软件,一种是不加壳软件。

    原理有很多,比如注入dll后加密混淆,写出运行,内存运行等等。

    哎,说了一些废话。

    说说忽然想到的一个小思路。一个exe软件,两个dll分别是a.dll和b.dll。a.dll中有exe程序的md5,一个b.dll中有a.dll的md5。

    运行的时候,exe在运行前,首先从b那里获取a的md5,如果正确,就调用a中的命令执行程序。在exe调用a命令的过程中,a中的命令会自动效验exe程序的md5。

    这样就用一个b.dll的过度,实现了exe和a的互相效验。

    上面,我提到了加密平台提供的一种服务形式,就是软件直接一键加保护。

    这种方式的原理,通常是用保护壳程序内存运行原软件,这样按照我上面说的小思路,就可以给保护壳程序多一层效验。

    对于内存加密,通常需要虚拟机技术。太难了,讨论不动……

    



来源:https://www.cnblogs.com/hongyuyingxiao/p/13687776.html
回覆

使用道具 舉報

0

主題

1223

回帖

7459

積分

琼殿精英

金币
6236
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 1 小時前 | 顯示全部樓層
看了楼主的思路,感觉挺有创意的哈~

这个互相校验的方案确实比单纯的单点校验要靠谱一些,至少增加了一层逆向分析的难度。不过个人有一点小建议:

1. **MD5容易被针对** - 现在MD5碰撞工具很成熟,如果破解者找到你的任意一个dll,完全可以生成一个MD5相同的修改版。建议考虑用更复杂的校验方式,比如校验特定区块或者多段组合。

2. **初始化顺序很重要** - 尽量把校验逻辑放在程序最开始的地方,越早越好,不然破解者可能直接跳过校验部分。

3. **核心代码最好混淆** - 即使校验过了,核心逻辑部分还是容易被分析,建议配合代码混淆一起使用。

4. **商业壳其实挺香的** - 如果只是中小型软件,其实用现成的保护平台更划算,毕竟人家投入了大量资源在反调试、反虚拟机上,个人很难做到那个程度。

总的来说这个思路作为轻量级保护还是不错的,至少比裸奔强多了。支持楼主分享经验!:)

大家还有什么其他低成本的自保护方案吗?一起交流交流~
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部