vuivui 发表于 2015-3-27 13:21:14

au3防反编译、加密意见征求

本帖最后由 vuivui 于 2015-3-29 11:34 编辑

au3很容易被反编译,java、.net等语言也存在同样的问题,一般的办法是采用混淆,但那只是降低可读性加大反编译难度而已,不是最终办法。

在afan做au3代码精简程序时,我就准备做一个反编译程序,因为精简做到了,加密也就容易了。

单用au3自身加密是没意义的,应该有个dll来做加解密工作。dll用c来做最正统,但c容易被反汇编。vb被反编译、反汇编难度反而大,但vb不仅自身运行速度慢而且还有调用其他dll,不适合采用,所以还是用c合适。

目前,au3代码精简和变量名替换等我已完成,c语言的加密计算也已完成,加密机制就不介绍了,这样会降低破解难度。

对以下问题我想听听大家的想法:

一、是不是出简易和复杂等多版本?简易版本加密脚本打开速度快,适合在对密级要求不高的一般场合,复杂版本尽可能加大反汇编难度,但速度肯定会降低、体积会稍大些。如果出了简易版本,会暴露复杂版本的一些加密机制,因为简易版本相对容易被反汇编。

二、版本是不是不断更新?这样可避免出现傻瓜式破解软件,当然我在做软件时会努力避免被傻瓜式破解,但在高手面前我是没自信的,想想win系统都能被破解,我一个业余爱好者编的东东能幸免吗?版本不断更新,对试用者是很烦的,对我来说倒简单,只要调整一下算法就行。

三、是不是发布测试版?这是我最纠结的问题,基本的加密我已经实现了,但我不敢拿出来给大家用,在没达到反汇编的相当的难度,一旦被破解者了解到基本原理,基本框架要推倒重来,我是没这个精力的,本人业余时间不多。

四、要不要限定使用者的权限?我的想法是使用者必需打开本论坛,阅读权限在20以上,并在此下载软件,才能运行,这个我还没做过,只是个思路。加密很多的工作我准备通过au3来完成,因为反汇编高手深入了解au3的应该不多,即使注册了本论坛阅读权限在20以上不会太多,30以上更少,我09年初注册的,现在刚刚得到30阅读权限。

五、要不要结合混淆?简单的混淆实现是方便的,但本人不注重混淆,了解得不多,做起来反而累,目前是没有这个打算的。

其他的还有很多,希望大家多提些建议,不一定能实现,但有些看起来复杂的功能,往往容易实现。

————————————————————————————————————————
归纳一下大家的意见和我自己的想法:
一、直接出复杂的版本,速度上以后再优化。复杂版本有很多内容要做,要等待一段时间了,我过去反汇编没怎么研究,要好好研究一下。
二、等正式版本出来后,根据效果和反馈情况不断更新,起码能增加破解者的时间成本。
三、测试版等到一定成熟后发,因为总有人会把加密后的文件流出去,到时要收回是不可能的。
四、关于权限,大家误会了,我上面说的是运行,就是说软件会检查用户有没有登陆论坛、下载过此文件以及查看用户阅读权限,确认以后才能运行,这样避免非本论坛人员运行软件。
五、大家都说要混淆,那就混淆吧,多花些时间而已。

除了我讲到的,其他方面大家有哪些想法,很想听听。

虫子樱桃 发表于 2015-3-27 13:46:46

很难得楼主发这个帖子,讨论这个我们长期关注的问题~只是本人已经疲于生计,没得太多的精力折腾啦,不过可以帮忙测试~谢谢

afan 发表于 2015-3-27 13:48:15

终于要出了吗?呵呵~ (本帖就可以设置阅读权限)
1,直接上复杂版
2,更新当然好,使用者应该感谢
3,除非完美,不测试就没办法修正了
4,限制
5,精力可以的话当然混淆最好
p.s, dll被反了,是不是就意味着赤果果了? 我以前也想过这种方式,最后觉得还是增加迷惑更靠谱,被扒光了也面目全非了。毕竟好挑战反编的不少…

chzj589 发表于 2015-3-27 13:50:28

回复 1# vuivui
支持LZ的开发,我想应该出复杂版本,因写简单程序没必要防反编。

menfan1 发表于 2015-3-27 15:27:14

本帖最后由 menfan1 于 2015-3-27 15:36 编辑

支持防反编译工具,复杂版一步到位会更好,同时支持自动更新,另外同时加密+混淆就更好哈。

kk_lee69 发表于 2015-3-27 16:20:21

回复 1# vuivui

1.複雜版
2.不斷的更新
3. 發測試版主要是 可以收集大家的意見帖子 可設高點 或者 可以請 幾個主要的版主幫忙
4.混淆

seeking 发表于 2015-3-27 18:18:22

想知道复杂版比简单版慢多少,不多的话直接复杂版

zldfsz 发表于 2015-3-27 23:48:31

强烈支持,au3版权可以得到保护了

header 发表于 2015-3-28 12:42:52

楼主的想法不错 申请测试

bugmenot 发表于 2015-3-28 20:23:33

矛与盾的关系,混淆是肯定要的,相当于代码虚拟化的概念,增加破解者时间成本

vuivui 发表于 2015-3-29 12:02:50

p.s, dll被反了,是不是就意味着赤果果了? 我以前也想过这种方式,最后觉得还是增加迷惑更靠谱,被扒光了也面目全非了。毕竟好挑战反编的不少 ...
afan 发表于 2015-3-27 13:48 http://www.autoitx.com/images/common/back.gif


dll被反了,也不会赤果果的,现在我准备加密混淆同步进行,更可靠些。
反汇编需耐心加技术,反迷惑仅仅需要耐心就够了。
迷惑的好处是可读性差,直接引用不方便,有这个时间,还不如重新写一个。
迷惑最大的风险是编辑思想易暴露,关键语句易被窃取,字符串无法保密。

netegg 发表于 2015-3-29 12:43:19

回复 11# vuivui
底层的东西我不是很懂,如果用asm会不会好些

menfan1 发表于 2015-3-29 13:30:28

先出个测试版吧,大家可以帮你测试一下哈

樱花雪月 发表于 2015-3-29 20:22:15

强烈支持楼主,如果可以的话我愿意协助测试

mshuking 发表于 2015-3-30 02:00:42

楼主提得好 学习下……
页: [1] 2
查看完整版本: au3防反编译、加密意见征求