AU3代码迷惑工具 by seeking (150627更新)
本帖最后由 seeking 于 2015-6-27 10:24 编辑V2.3.3
支持参数大小写。
取消带参数命令行执行前的询问对话框。
V2.3.2 根据虫子樱桃的反馈进行了简单升级
完善程序,增加log开关
增加命令行开关,命令行规则:代码迷惑.exe [脚本路径 [-tidy/-obfusc [-log]]]
-tidy:清除所有注释、空行、无用函数和无用变量。
-obfus:在-tidy的基础上增加函数名处理和变量名处理,默认。
-log:输出日志,默认不输出。
命令行大小写敏感,开关顺序敏感
V2.3.1
完善调试log的输出
V2.3
新增支持命令行和脚本拖拽;
命令行:☆代码迷惑_V2.31.exe 脚本路径
V2.2,解决了虫子樱桃反馈的自动退出问题。
前段时间,编写了一个有点长的程序,想保护一下代码,就在论坛中学习了一番,总结了下比较好的办法就是代码迷惑。
于是,就用了AU3自带的Obfuscator、Afan的AuMFC标准版、论坛上的au3代码迷惑器(有源码),但因为脚本中用了一些诸如Eval、call、GUICtrlSetOnEvent等函数,导致迷惑失败。
也许我是不会使用上述的代码迷惑程序,但找了半天也没用完善的文档供参考,想来想去也没什么好的办法,自己就编了一个代码迷惑,尽管很不完善、效率也不高,但总归自己用用还是凑合的。
废话较多,如有问题,请大家及时反馈。
功能:
1、整合为一个脚本;
2、去除脚本注释;
3、精简未使用函数,函数名改名为无意义字符串;不会精简被call的函数,支持关联修改call、GUICtrlSetOnEvent等调用的函数名;单独选择函数名加密是无效的;
4、精简未使用变量,变量名改名为无意义字符串;单独选择变量名加密是无效的;
5、函数排除:#Obfuscator_Ignore_Funcs=func1,func2,func3
普通的call(“xxx”)不需要排除,但call(“xxx”&”yyy”)就需要排除xxxyyy函数;
6、变量排除:#Obfuscator_Ignore_Variables=$Var1, $Var2 , $Var3,特别注意$CmdLine、$CmdLineRaw等内置变量;
7、代码检测,检测当前脚本中含有call、execute、Eval等函数的行,便于进行函数或变量的排除。
注意:
1、 字符串字面量不能出现以下情况:
"abd””bbb” 在字符串中用两个引号或双引号实现一个引号或双引号
'abc’’zbc’ 在字符串中用两个引号或双引号实现一个引号或双引号
建议:"abd””bbb” 改为 'abd”bbb’ ‘abc’’zbc’ 改为"abc’zbc”
2、函数名不要与普通的字符串常量一致,因为在函数名改名时会将与函数名一致的字符串常量一起改掉。
3、尽量不要加上:#AutoIt3Wrapper_Au3Check_Parameters等预编译参数。
4、FileInstall后面的字符串不能进行加密,需要手动修改。 谢谢楼主分享,支持 看看效果咋样? 更新了一下,应该可以使用了{:face (356):} 回复 4# seeking
把源文件分享出来研究下 看看效果,谢谢楼主分享 謝謝樓主分享,看看效果先。 这个要绝对的支持啊,,顶上 回复 1# seeking
以前版本 好像一样能反出啊 谢谢楼主~~支持了 回复 9# ooxxgod
没明白什么意思,代码迷惑只让代码不容易读懂,不能阻止反编译。 程序闪退,可能是因为我的代码太长了~~ 回复 12# 虫子樱桃
闪退有无报错?具体现象是怎么样的?
我有个程序,代码行数70000+(加上包含文件后),代码大小3.3M,通过测试,没有问题。
如何有空,我们私下交流,排查问题。QQ:392342612 回复 13# seeking
我用了文件转码,不晓得是不是这个的原因 好久没有来了,来了一看这么好的东西。收下了。