找回密码
 加入
搜索
查看: 34001|回复: 84

[原创] Au3 防反编译器

 火... [复制链接]
发表于 2013-5-2 16:38:43 | 显示全部楼层 |阅读模式
本帖最后由 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
        [Au3_Compiler]
        # 指定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

原因是内置的常量检查会把后面的声明删掉(过多的在全局使用代码不是一个好习惯)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +50 收起 理由
lpxx + 50 谢谢分享,稍后测试。

查看全部评分

发表于 2013-5-2 16:41:38 | 显示全部楼层
回复一个,居然要我打8个字。
发表于 2013-5-2 16:42:00 | 显示全部楼层
前排支持下!
发表于 2013-5-2 16:43:06 | 显示全部楼层
大哥,你下载要钱。。
发表于 2013-5-2 16:43:12 | 显示全部楼层
防反编的,必须支持!!顶你!
 楼主| 发表于 2013-5-2 16:47:47 | 显示全部楼层
回复 4# xyhqqaa


    论坛征税,不关我事,找老潇论理去
发表于 2013-5-2 21:35:14 | 显示全部楼层
防反编的,必须支持!!顶你!
发表于 2013-5-2 21:44:56 | 显示全部楼层
部份源码
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
 楼主| 发表于 2013-5-2 21:50:03 | 显示全部楼层
回复 8# proteus


  很JB强大
   
发表于 2013-5-2 23:10:39 | 显示全部楼层
看看和老鬼那个相比效果怎样。
发表于 2013-5-2 23:24:07 | 显示全部楼层
如果上面那种情况(全局变量)怎么办呢~?
 楼主| 发表于 2013-5-2 23:35:58 | 显示全部楼层
回复 11# cvwyg


    放在函数中处理,只影响全局代码区域的常量,不影响函数内部
AAA()
Func AAA()
if XXXXX then
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
else
XXXXXXXXXXXXXXX
XXXXXXXXXX
endif
endfunc
 楼主| 发表于 2013-5-2 23:38:20 | 显示全部楼层
回复 10# lpxx


    谁是老鬼?  能给个下载链接否?   也许可以参考参考
发表于 2013-5-2 23:39:27 | 显示全部楼层
回复 12# Qokelate


    了解了~!谢谢~!
发表于 2013-5-2 23:49:03 | 显示全部楼层
回复 1# Qokelate

下载了测试
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-19 13:30 , Processed in 0.081877 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表