返回列表 发帖

TOP

本帖最后由 tubaba 于 2017-4-24 15:09 编辑

回复 121# 131738


是不是说的代码标注行号?有点像```但我只是用来查错,没有其它用处

这个软件还不能处理双字节字符.外国人写的都不考虑这一点吧......

TOP

回复 122# tubaba

它分 2 部分, 首先是代码扫描, 这部分能兼容中文字符串,
之后是代码混淆加密,这部分我一直用纯英文脚本测试, 都没有成功, 因此不知这部分是否兼容中文...

TOP

本帖最后由 tubaba 于 2017-4-24 21:35 编辑

不再此贴谈此话题了,如果有兴趣我们可以私下聊.粗略看了一下,不支持中文是因为它使用asc函数,修改一下脚本,把所有asc换成ascw,把chr换成chrw应该可以正确还原
chr(asc('中文'))必定会产生乱码.使用chrw(ascw('中文')就不会了.

另外,此脚本查找字符串的方法是逐字载入,而我是采用正则匹配的方法判断字符串
$curchar=Asc(StringMid($linewithstrings,$rc,1)),有空好好学习一下,看看人家的思路.:)

刚刚没事看了一下脚本结构.有些地方不够严谨.比如下面这个函数,完全没有依据#include 的定义.没有考虑用户自定义库,没有考虑查找顺序.在很多系统库文件中,再一次包含的文件可能写法是 #include "XXXX.au3",根据定义,首先从此文件的所在的文件夹路径搜索.

搜索次序依赖于 AutoIt 使用 #include 的格式. 下面表格是两种使用 #include 形式时的搜寻次序.

使用 #include <>标准库 在解释程序(AUTOIT3.EXE)所在目录的 "\Include" 目录中搜索.
用户自定义库 在上述注册表中顺序搜索.
脚本目录 在当前执行脚本的目录中搜索.

使用 #include "" (与 #include <> 相反).脚本目录 在当前执行脚本的目录中搜索
用户自定义库 在上述注册表中反序搜索.
标准库 在解释程序(AUTOIT3.EXE)所在目录的 "\Include" 目录中搜索.
  1. Func _AddInclude($curfile,$linecount,$line)
  2. ; assumes first string in line identifies the #include file
  3. ; accepted delimiters: double-quotes, single-quotes, or angled brackets (paired, not mixed)

  4.         $include_index=-1
  5.         $params="<n\a>"
  6.         $pos1=StringInStr($line,'"',0,1)
  7.         $pos2=StringInStr($line,'"',0,2)
  8.         $pos3=StringInStr($line,"'",0,1)
  9.         $pos4=StringInStr($line,"'",0,2)
  10.         $pos5=StringInStr($line,"<",0,1)
  11.         $pos6=StringInStr($line,">",0,1)

  12.         Select
  13.                 case $pos1*$pos2>0 And $pos3*$pos4=0 and $pos5*$pos6=0
  14.                         $newinclude=StringStripWS(StringMid($line,$pos1+1,$pos2-$pos1-1),3)
  15.                         $bracketed=False
  16.                 Case $pos1*$pos2=0 And $pos3*$pos4>0 and $pos5*$pos6=0
  17.                         $newinclude=StringStripWS(StringMid($line,$pos3+1,$pos4-$pos3-1),3)
  18.                         $bracketed=False
  19.                 Case $pos1*$pos2=0 And $pos3*$pos4=0 and $pos5*$pos6>0
  20.                         $newinclude=StringStripWS(StringMid($line,$pos5+1,$pos6-$pos5-1),3)
  21.                         $bracketed=True
  22.                 Case Else
  23.                         Return -1        ; some other format we currently cannot deal with?
  24.         EndSelect
  25.        
  26.         If StringInStr($newinclude,"constants")=True Then
  27.                 If $includeConstants=False And $WriteMetaCode=False Then Return False
  28.         EndIf

  29.         ; extend path if need be
  30.         $curpath=StringLeft($curfile,StringInStr($curfile,"\",0,-1))
  31.         $expanded=False

  32.         If StringLeft($newinclude,2)=".\" Then
  33.                 $newinclude=$curpath & StringTrimLeft($newinclude,2)
  34.                 $expanded=True
  35.         ElseIf StringLeft($newinclude,3)="..\" Then
  36.                 $newinclude=StringLeft($curfile,StringInStr($curfile,"\",0,-2)) & StringTrimLeft($newinclude,3)
  37.                 $expanded=True
  38.         EndIf
  39.         If $bracketed=True Then
  40.                 If FileExists($AutoItIncludeFolder & $newinclude) Then
  41.                         $newinclude=$AutoItIncludeFolder & $newinclude
  42.                 Else
  43.                         For $rc=1 To $extrapaths[0]
  44.                                 If FileExists($extrapaths[$rc] & $newinclude) Then
  45.                                         $newinclude=$extrapaths[$rc] & $newinclude
  46.                                         ExitLoop
  47.                                 EndIf
  48.                         Next
  49.                         If $rc>$extrapaths[0] Then        $newinclude= $curpath & $newinclude        ; add sourcecode's path and hope for the best
  50.                 EndIf

  51.         ElseIf Not $expanded Then                                                        ; #include not angle-bracketed
  52.                 If FileExists($curpath & $newinclude) Then
  53.                         $newinclude=$curpath        & $newinclude
  54.                 Else
  55.                         For $rc=1 To $extrapaths[0]
  56.                                 If FileExists($extrapaths[$rc] & $newinclude) Then
  57.                                         $newinclude=$extrapaths[$rc] & $newinclude
  58.                                         ExitLoop
  59.                                 EndIf
  60.                         Next

  61.                         If $rc>$extrapaths[0] And FileExists($AutoItIncludeFolder & $newinclude) Then _
  62.                                 $newinclude=$AutoItIncludeFolder & $newinclude        ; add default autoit3\include path and hope for the best

  63.                 EndIf
  64.         Endif

  65.         ; add to list of includes if absent
  66.         $okay=(FileExists($newinclude)=True)
  67.         If $okay Then
  68.                 $include_index=_ArraySearch($includes,$newinclude,1)
  69.                 If $include_index<1 Then
  70.                         _ArrayAdd($includes,$newinclude,0,ChrW(0))
  71.                         $includes[0]=UBound($includes)-1
  72.                         $include_index=$includes[0]

  73.                         ; store separately if not in the default path
  74.                         If StringInStr($newinclude,$AutoItIncludeFolder)=0 Then
  75.                                 _ArrayAdd($myincludes,$newinclude,0,ChrW(0))
  76.                                 $myincludes[0]=UBound($myincludes)-1
  77.                         EndIf
  78.                         If $diagnostics=True Then ConsoleWrite("New include added to list: " & $newinclude & " (nr " & $includes[0] & ")" & @CRLF)
  79.                 EndIf
  80.         Else
  81.                 $newinclude=$line
  82.                 $params=$filenotfoundtag
  83.                 $include_notfound+=1
  84.                 If _ArraySearch($incl_notfound,$newinclude,1)<1 Then
  85.                         _ArrayAdd($incl_notfound,$newinclude,0,ChrW(0))
  86.                         $incl_notfound[0]=UBound($incl_notfound)-1
  87.                         If $diagnostics=True Then ConsoleWrite("New lost include added to list: " & $newinclude & " (nr " & $incl_notfound[0] & ")" & @CRLF)
  88.                 EndIf

  89.                 If $diagnostics=True Then _
  90.                         MsgBox(262144+8192+48,"Error","unable to find #include referenced in: " & @CRLF& @CRLF & _
  91.                                                                 "Source file: " & $curfile & @CRLF & _
  92.                                                                 "Line number: " & $linecount & @CRLF & @CRLF & _
  93.                                                                 "Content: " & @CRLF & $newinclude)
  94.         EndIf

  95.         ; keep track of where it is being referenced/defined
  96.         _AddRef($okay,$curfile,$linecount,"#include",$newinclude,$params)
  97.         Return $include_index

  98. EndFunc
复制代码

TOP

回复 1# tubaba


    我又回来了,看看是不是取消了注册机制

TOP

用了几次,觉得相当好用.
能否发个注册码?谢谢.
HTS721010A9E630JS10176200BMPYJB0OBFEBFBFF000306A9
Hi ...

TOP

回复 126# Alam


    T44B4-96YYG-4F2GY-RCPGJ-V9383

TOP

回复 127# tubaba


    收到.已成功注册.再次说声谢谢.
Hi ...

TOP

回复 127# tubaba


    反馈个小问题.
操作过的文件,有作记录.
但如果,此文件的路径存在空格,则在重启工具后,无法加载该文件,提示文件不存在.
Hi ...

TOP

回复 127# tubaba


    重装系统后,提示注册,输入原来的注册表注册失效~
重新申请一个注册码
SAMSUNG MZVLV256S27WNXAH2090475L0QBFEBFBFF000406E3

TOP

已经下载
机器码: WDC WD5000AADS-00S9B0WD-WCAV9604023401.00A01BFEBFBFF0001067A

TOP

回复 129# Alam


    测试了一下,似乎没发现你反映的问题.请把你的路径贴上来看看.或者把配置文件的内容贴上.即au3encode.ini



回复 130# austere


    PHDTB-FVWMK-3VWW2-X8CBF-T7VRF

回复 131# xzf680

BBBBR-DQVQ7-CWWX8-F7XQT-Q7H8K

TOP

返回列表