VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 979|回复: 29

随便聊聊怎么防破解。。。。。被破解了

[复制链接]
发表于 2017-8-23 17:50:39 | 显示全部楼层 |阅读模式
本帖最后由 admin6677 于 2017-8-23 17:54 编辑

没加壳的Dll和exe,用了网络的时间,所有字符串都加密了,还是被破解了。自己的licence文件被抛开也没有问题。

怎么样处理能简单的加密又不让人简单的破解。


QQ图片20170823174753.png

QQ图片20170823174747.png
QQ图片20170823174753.png
发表于 2017-10-5 20:34:49 | 显示全部楼层
试图破解了一次。。感觉xor并不是一个好的加密方式,因为异或有着太多好性质了。。。
没有完全摸透原理,对加密也不熟悉,所以过程可能有很大问题。。。
具体思路:pe文件为了对齐,会有大量的0或者相似的数据来填充(貌似大多数是0,delphi不太一样),那么完全可以用这堆0来找出来key
第一次尝试,直接从文件末尾找一点数据,在文件里搜索,结果没找到,,证明有可能是很长的密钥或者特殊的异或顺序。。。
然后进行调试。。。发现异或时候用了几组长度不相等的数据来循环加密。。。循环的周期貌似很长,没办法直接看出来。。。同一个那么如果只是缺少lic的话,猜测应该只会少一个key,那么循环的长度就大大降低,也许就能看出key
把lic用全0填充,然后貌似有个检查点直接把进程结束了。。。把那个检查爆破掉之后,成功得到附件里面dec那个文件,在末尾很明显有
  1. d3 66 29 2d 67 84 c6 5b 0b 7a 6c 4f d3 66 29 2d 67 84 c6 5b 0b 7a 6c 4f
复制代码

的循环,根据pe最前面是MZ两个字母,确定头是d3 66,把整个文件用这个key解密之后得到dec.dll那个文件,看起来有正常结构。用exescope能打开,但会报一个错,不知道是文件特殊还是怎么的。。。不过能成功加载,姑且算是搞到文件了吧。。不知道是不是真的成功了。
decode.rar (55.52 KB, 下载次数: 18)

点评

你分析得差不多了,唉,那就是怎么xor都会被人解密咯。  发表于 2017-10-9 16:12
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-8-24 16:38:25 | 显示全部楼层
我的思路是想着:把Dll加密之后放到Exe里边当资源文件,然后Exe内存加载解密后的Dll,但是没找到Exe内存加载Dll的代码。

VC 代码 百度找不到。
回复 支持 反对

使用道具 举报

发表于 2017-8-24 20:39:53 | 显示全部楼层

点评

Exe加载Dll都是加到Exe本身上的。有没有远程的啊,嘻嘻  发表于 2017-8-25 08:41
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-25 08:47:10 | 显示全部楼层
我自己参考网上的代码写了一个Dll内存加载Dll的中间件,但是这个中间件如果加壳了,就怎么注入都是非法操作的。

解压密码,老司机都知道,切头切尾留中间

zHAi.验证.rar (25.2 KB, 下载次数: 52)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-25 08:47:44 | 显示全部楼层
本帖最后由 admin6677 于 2017-8-25 08:48 编辑

怎么每次发帖子和回复都是提示错误的,然后又成功的?

点评

CHROME很久之前就有这个问题了,常见于discuz的论坛  发表于 2017-8-26 07:39
回复 支持 反对

使用道具 举报

发表于 2017-8-26 15:11:03 | 显示全部楼层
最简单有效又傻瓜的办法就是加强壳
回复 支持 反对

使用道具 举报

发表于 2017-8-26 15:42:10 | 显示全部楼层
dll加壳是没用的,需要做混淆

点评

我想用内存注入,然后Dll做xor的加密。但是好像都是可以被破解  发表于 2017-8-29 08:55
加壳本来不就是为了混淆代码?VM代码ing...  发表于 2017-8-28 09:12
回复 支持 反对

使用道具 举报

发表于 2017-8-28 09:17:36 | 显示全部楼层
重点为何不加壳。。。

点评

懒啊,我想着怎么会有人破解呢。结果就被人破解了  发表于 2017-8-29 08:54
回复 支持 反对

使用道具 举报

发表于 2017-8-29 17:30:32 | 显示全部楼层
假设对方是汇编大师
无论怎么搞都是没用的

尤其是时间这种随便
api搞个钩子就破了
网上查也可以伪造服务器

你的最终验证如果只是一个简单的等于判断
汇编直接就爆破了

既然用了licence,那就要做到对方没有你的licence就无法运行的程度
比如某块核心的代码就加密放在licence里,密钥是根据对方的机器序列号生成的

点评

大神啊,他直接把我的licence文件清空了,然后过滤我dll里边的检验。不过我的检验确实很简单。验证是否成功=True  发表于 2017-8-30 08:50
回复 支持 反对

使用道具 举报

发表于 2017-9-22 16:34:00 | 显示全部楼层
如楼上所言,让licence成为代码的一部分最为合适,而不是做简单的判断。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2017-11-18 14:40

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表