Au3 防反编译器
本帖最后由 Qokelate 于 2013-5-6 14:14 编辑目前可以兼容于官方和ACN的版本,如有其它民间版本请自测,不保证有效
能逃过大分部常见的反编译工具(反编译工具仍然能反,只是反出来的不是真实源码), 用法 放AutoIt安装目录调用 Au3_Compiler.exe<AU3 文件> [图标文件]
例 Au3_Compiler.exe c:\a.au3 c:\aaa.ico
内置代码精简功能(调用迷惑的精简功能),因此过大的文件可能会导致精简时间漫长~~~~~
如果发现编译后不能运行,请重新编译一下看是否正常(理论上每次编译得到的EXE都是不一样的),确认不能正常工作请上传 %TEMP%\Au3_Compiler.exe.log 并报告BUG,我会尽快的检查修正
内置自动处理全局常量重复声明问题,但也带来了新的小问题,见BUG1
出于某些因素考虑,请保证同时只有一个 Au3_Compiler.exe 在运行, 以保证最佳效果
如果你的工具能把 http://www.autoitx.com/thread-38265-1-1.html 这个例子反出来,那么恭喜你,你不用下载了,因为也许对你没有效果,当然我也很乐意了解你的工具是如何工作的(如果你愿意的话)^_^
在被编译的Au3文件中添加以下设置可以改变默认的设置,大部分编译失败都是AutoItDir目录获取不正确(每个人的安装情况不一定相同),当然也可以使用默认
#cs
# 指定AutoIt安装目录,留空为读取注册表路径
AutoItDir=D:\xTool\AutoIt
# 指定EXE图标文件,仅当参数未指定ICON文件时有效
ICON=D:\xTool\AutoIt\Qiu.ico
# 是否使用代码迷惑 0/1,默认1
MaxProtect=1
# 是否使用UPX压缩 0/1,默认1
UPX=1
#ce
读取注册表如下路径
RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'ChmDir')
RegRead('HKLM\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt', 'ChmDir')
需要如下目录结构
AutoIt\Aut2Exe\Aut2Exe.exe
AutoIt\SciTe\Obfuscator\Obfuscator.exe
Min 版删了,没什么用
已知BUG:
1.如果在全局代码区域使用类似如下结构的常量声明,将可能出错
if XXXXX then
global const $XXXX
Else
global const $XXXX
endif
原因是内置的常量检查会把后面的声明删掉(过多的在全局使用代码不是一个好习惯) 回复一个,居然要我打8个字。 前排支持下! 大哥,你下载要钱。。{:face (361):} 防反编的,必须支持!!顶你! 回复 4# xyhqqaa
论坛征税,不关我事,找老潇论理去 防反编的,必须支持!!顶你! 部份源码Local $SZTEMPAU3 = AU3FILEMAKERADOMCODE()
Local $SZEXE = MAKETEMPFILENAMEWITHMD5($SZFILEAU3, ".exe")
AU3FILEMAKEEXEFILE($SZTEMPAU3, $SZEXE, $SZICON)
Func AU3TEXTMAKERANDOMCODE($DWLENGTH = Default)
Local $SZBINARY = ""
$SZBINARY &= "#NoTrayICON" & @CRLF
$SZBINARY &= 'MsgBox(16,"AutoIt v3","Error allocating memory.")' & @CRLF
$SZBINARY &= "Exit" & @CRLF
Return SetError(0, $DWLENGTH, $SZBINARY)
EndFunc ;==>AU3TEXTMAKERANDOMCODE
Func AU3FILEMAKERADOMCODE($SZFILE = Default)
If Default = $SZFILE Then $SZFILE = MAKETEMPFILENAME(".au3")
Local $STR_CODE = AU3TEXTMAKERANDOMCODE()
OVERWRITEFILE($SZFILE, $STR_CODE)
Return $SZFILE
EndFunc ;==>AU3FILEMAKERADOMCODE 回复 8# proteus
很JB强大
{:face (207):} 看看和老鬼那个相比效果怎样。 如果上面那种情况(全局变量)怎么办呢~? 回复 11# cvwyg
放在函数中处理,只影响全局代码区域的常量,不影响函数内部
AAA()
Func AAA()
if XXXXX then
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
else
XXXXXXXXXXXXXXX
XXXXXXXXXX
endif
endfunc 回复 10# lpxx
谁是老鬼?能给个下载链接否? 也许可以参考参考 回复 12# Qokelate
了解了~!谢谢~! 回复 1# Qokelate
下载了测试