找回密码
 加入
搜索
查看: 4486|回复: 5

[AU3基础] 大侠快来看,蛋疼啊,含有StringEncrypt加密函数且用了/cs字符串迷惑,360报木马

  [复制链接]
发表于 2013-5-20 23:37:02 | 显示全部楼层 |阅读模式
这两天我感觉程序写着怎么老报毒,于是乎从代码,到版权,再到压缩壳查,在版权齐全的情况下,不加壳,仍然报毒,真是怪。
于是一段一段地删代码来编译,果不其然,问题就出在StringEncrypt加密函数上。
包含这UDF且/cs 迷或字符串的情况下,360准报木马,如果去掉该函数,不管理迷不迷惑,都不会误报。
然后又一段一段删除,感觉问题出现在以下代码:

  1.         If $i_Encrypt = 1 Then
  2.             For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1
  3.                 $i_EncryptCountG = ''
  4.                 $i_EncryptCountH = ''
  5.                 $v_EncryptModified = Binary('')
  6.                 For $i_EncryptCountG = 1 To BinaryLen($b_EncryptText)
  7.                     If $i_EncryptCountH = BinaryLen($b_EncryptPassword) Then
  8.                         $i_EncryptCountH = 1
  9.                     Else
  10.                         $i_EncryptCountH += 1
  11.                     EndIf
  12.                     $v_EncryptModified = Binary($v_EncryptModified) & Binary('0x' & Hex(BitXOR(BinaryMid($b_EncryptText, $i_EncryptCountG, 1), BinaryMid($b_EncryptPassword, $i_EncryptCountH, 1), 255),2))
  13.                 Next
  14.                 $b_EncryptText = $v_EncryptModified
  15.                 $i_EncryptCountA = ''
  16.                 $i_EncryptCountB = 0
  17.                 $i_EncryptCountC = ''
  18.                 $i_EncryptCountD = ''
  19.                 $i_EncryptCountE = ''
  20.                 $v_EncryptCipherBy = ''
  21.                 $v_EncryptCipher = ''
  22.                 $v_EncryptSwap = ''
  23.                 $av_EncryptBox = ''
  24.                 Local $av_EncryptBox[256][2]
  25.                 For $i_EncryptCountA = 0 To 255
  26.                     $av_EncryptBox[$i_EncryptCountA][1] = Dec(StringTrimLeft(BinaryMid($b_EncryptPassword, Mod($i_EncryptCountA, BinaryLen($b_EncryptPassword)) + 1, 1),2))
  27.                     $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA
  28.                 Next
  29.                 For $i_EncryptCountA = 0 To 255
  30.                     $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256)
  31.                     $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0]
  32.                     $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0]
  33.                     $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap
  34.                 Next
  35.                 For $i_EncryptCountA = 1 To BinaryLen($b_EncryptText)
  36.                     $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256)
  37.                     $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256)
  38.                     $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0]
  39.                     $v_EncryptCipherBy = BitXOR(BinaryMid($b_EncryptText, $i_EncryptCountA, 1), $i_EncryptCountE)
  40.                     $v_EncryptCipher = Binary($v_EncryptCipher) & Binary('0x' & Hex($v_EncryptCipherBy, 2))
  41.                 Next
  42.                 $b_EncryptText = StringTrimLeft($v_EncryptCipher,2)
  43.             Next
  44.         Else
  45.             $b_EncryptText = $s_EncryptText
  46.             For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1
  47.                 $b_EncryptText = Binary('0x' & $b_EncryptText)
  48.                 $i_EncryptCountB = 0
  49.                 $i_EncryptCountC = ''
  50.                 $i_EncryptCountD = ''
  51.                 $i_EncryptCountE = ''
  52.                 $v_EncryptCipherBy = ''
  53.                 $v_EncryptCipher = ''
  54.                 $v_EncryptSwap = ''
  55.                 $av_EncryptBox = ''
  56.                 Local $av_EncryptBox[256][2]
  57.                 For $i_EncryptCountA = 0 To 255
  58.                     $av_EncryptBox[$i_EncryptCountA][1] = Dec(StringTrimLeft(BinaryMid($b_EncryptPassword, Mod($i_EncryptCountA, BinaryLen($b_EncryptPassword)) + 1, 1),2))
  59.                     $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA
  60.                 Next
  61.                 For $i_EncryptCountA = 0 To 255
  62.                     $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256)
  63.                     $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0]
  64.                     $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0]
  65.                     $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap
  66.                 Next
  67.                 For $i_EncryptCountA = 1 To BinaryLen($b_EncryptText)
  68.                     $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256)
  69.                     $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256)
  70.                     $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0]
  71.                     $v_EncryptCipherBy = BitXOR(BinaryMid($b_EncryptText, $i_EncryptCountA, 1), $i_EncryptCountE)
  72.                     $v_EncryptCipher = Binary($v_EncryptCipher) & Binary('0x' & Hex($v_EncryptCipherBy,2))
  73.                 Next
  74.                 $b_EncryptText = $v_EncryptCipher
  75.                 $i_EncryptCountG = ''
  76.                 $i_EncryptCountH = ''
  77.                 $v_EncryptModified = ''
  78.                 For $i_EncryptCountG = 1 To BinaryLen($b_EncryptText)
  79.                     If $i_EncryptCountH = BinaryLen($b_EncryptPassword) Then
  80.                         $i_EncryptCountH = 1
  81.                     Else
  82.                         $i_EncryptCountH += 1
  83.                     EndIf
  84.                     $v_EncryptModified = Binary($v_EncryptModified) & Binary('0x' & Hex(BitXOR(BinaryMid($b_EncryptText, $i_EncryptCountG, 1), BinaryMid($b_EncryptPassword, $i_EncryptCountH, 1), 255),2))
  85.                 Next
  86.                 $b_EncryptText = BinaryToString($v_EncryptModified, $i_Flag)
  87.             Next
  88.         EndIf
复制代码
测试时,如果将这段代码去除,迷惑后也不会报毒

现在头都大了,感觉不知道从何查起,感兴趣的大侠们请移步到这里出谋划策下,谢谢。
我将该UDF函数也完整地发个上来

本帖子中包含更多资源

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

×
发表于 2013-5-21 00:14:59 | 显示全部楼层
加密到X60不会分析时~X60说了~我报!

评分

参与人数 1金钱 +10 收起 理由
txm888 + 10

查看全部评分

发表于 2013-5-21 00:20:19 | 显示全部楼层
将变量名重命名也加上试试~
没有xx0环境,没法测试

评分

参与人数 1金钱 +10 收起 理由
txm888 + 10

查看全部评分

 楼主| 发表于 2013-5-21 02:10:41 | 显示全部楼层
回复 2# haijie1223


    谢谢,正在测试中
 楼主| 发表于 2013-5-21 02:14:30 | 显示全部楼层
回复 3# afan


    测试结果表明,360真贱,非得让我程序改个图标,换个新图标,包含字符串加密函数,且全迷惑
/cs /cn /cf /cv,不报木马了,但我估计这只是一时不报,等上几十分钟或几个小时说不定又报了,因为我什么都没改,就换个图标,怎么可能是图标的问题引起的误报,今晚先这样,明天观察结果,谢谢A版
发表于 2013-5-21 11:13:02 | 显示全部楼层
讨厌的360 用脚本发送邮件都提示 信息被泄露
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2026-9-20 23:13 , Processed in 0.080705 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

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