亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

AutoIt腳本的反編譯和代碼格式化問題分析

 更新時間:2015年10月19日 12:53:41   投稿:mdxy-dxy  
這篇文章主要介紹了AutoIt腳本的反編譯和代碼格式化問題分析,需要的朋友可以參考下

最近集中冒出一波AutoIt的惡意腳本來,也就多看了幾個這類的樣本。AutoIt腳本是以“.au3”為擴展名的明文腳本,但病毒作者自然不會把明文的腳本放出來。所以自然用到了AutoIt自帶的這個Au2Exe的工具:

可以看到AutoIt允許用戶將au3的明文腳本編譯成exe文件或者a3x文件。exe文件自不必贅述,就是我們平時熟悉的PE文件,但如果編譯成exe文件,則失去了AutoIt腳本在惡意程序領(lǐng)域的優(yōu)勢(懂的自然懂,不細說),所以目前捕獲的大多數(shù)惡意樣本都是將腳本編譯成a3x文件。


網(wǎng)上比較多的是Exe2Au3的反編譯工具(據(jù)說早期版本的AutoIt是自帶這個工具的,后來不帶了),但下了幾個,都很耿直——真的都只能反編譯Exe文件,而對a3x文件表示無力。最后才找到了一個叫做Autoit3 Decompiler GUI的工具(http://chabaoo.cn/softs/390596.html):

用這個工具,就能很簡單的將a3x文件反編譯成au3的明文腳本了。BUT——為什么萬事總有個BUT——反編譯出來的腳本看著有些憂桑……

就這代碼格式……幾十行還可以忍,一兩百行已經(jīng)是上限了……惡意代碼動不動幾千行,看著腦袋都大啊……本著磨刀不誤砍柴工的思想,果斷寫了一個自動格式化腳本(by Python),貼出來和大家分享下。

說明:對AutoIt了解不多,僅針對我目前見過的腳本,做一個比較粗陋而暴力的格式化工作而已

#!/usr/bin/env python2.7
#-*- coding: utf-8 -*-
 
_AU3 = ';./sample.au3';
_AU3_OUT = ';./format.au3';
_INDENT = '; '; * 4
 
def au3formater(line, indent):
  line = line.strip().lower()
  
  next_indent = indent
  if (line.startswith(';end';) or
    line.startswith(';until';) or 
    line in (';next';, ';wend';)):
    indent -= 1
    next_indent -= 1
  elif line.startswith(';if';) and line.endswith(';then';):
    next_indent += 1
  elif (line.startswith(';func';) or 
     line.startswith(';for';) or 
     line.startswith(';select';) or
     line.startswith(';switch';) or
     line.startswith(';while';) or
     line == ';do';):
    next_indent += 1
  elif line.startswith(';else';) or line.startswith(';case';):
    indent -= 1
  new_line = _INDENT * indent + line
  
  return new_line, next_indent
 
def main():
  with open(_AU3, ';r';) as fp:
    with open(_AU3_OUT, ';w';) as fpw:
      indent = 0
      line = fp.readline()
      while line:
        new_line, indent = au3formater(line, indent)
        fpw.write(';%s\n'; % new_line)
        line = fp.readline()
 
if __name__ == ';__main__';:
  main()

格式化完成后,看著就舒服多了(不確定是否是我個人的強迫癥而已……):

當然,即便是看著舒服些了,即便是明文腳本,幾千行的代碼看著也是很憂桑的

相關(guān)文章

  • Aut2Exe編譯au3腳本為可執(zhí)行文件

    Aut2Exe編譯au3腳本為可執(zhí)行文件

    把AutoIt的.au3腳本文件編譯成可獨立運行的程序當然是可實現(xiàn)的,這樣就可以使得編譯后的程序得以在沒有安裝AutoIt(或者說沒有AutoIt3.exe這個解釋程序)的機器上運行。
    2008-06-06
  • 使用AutoIT實現(xiàn)自動登錄/退出客戶端軟件,刪除日志

    使用AutoIT實現(xiàn)自動登錄/退出客戶端軟件,刪除日志

    最近在測試新版客戶端時發(fā)現(xiàn),會不定時的出現(xiàn)登錄失敗,提示信息是“連接登錄服務器失敗...”。經(jīng)過一番嘗試,發(fā)現(xiàn)在安裝客戶端后登錄,錯誤出現(xiàn)的幾率較高。
    2009-03-03
  • autoit 命令行參數(shù)說明

    autoit 命令行參數(shù)說明

    命令行參數(shù) AutoIt 腳本程序可通過命令行調(diào)用,當我們傳遞命令行參數(shù)到腳本中的時候會有一個特殊的數(shù)組 $CmdLine 保存相關(guān)數(shù)據(jù)。
    2008-06-06
  • 飛信的CMD命令行接口批量發(fā)送信息

    飛信的CMD命令行接口批量發(fā)送信息

    最近在用AU3開發(fā)一款用來調(diào)用飛信發(fā)送短信的小東東 飛信是個很好的東西,可惜用的人少,很多不厚道的同學注冊之后就不再登錄了.
    2008-09-09
  • 用autoit編寫第一個腳本(Hello World)

    用autoit編寫第一個腳本(Hello World)

    此頁將介紹創(chuàng)建并運行AutoIt腳本的一些基本方法。我們假定您已經(jīng)使用我們提供的安裝程序安裝好了AutoIt v3。
    2008-06-06
  • autoit 更改個人文件夾的小工具

    autoit 更改個人文件夾的小工具

    功 能:更改個人文件夾的位置 原 理:找到注冊表中的相應位置,顯示出來,并通過修改對應的鍵值來指定路徑。 注意事項:本程序不移動文件夾,只是指定路徑;修改完成后,請馬上重新啟動。
    2008-07-07
  • autoit3最新漢化版下載

    autoit3最新漢化版下載

    想運行.au3的朋友必備,因這個東西,確實不錯,我們提出程序的最低版本都基本是autoit3
    2008-06-06
  • Au3截取騰訊天氣的腳本

    Au3截取騰訊天氣的腳本

    騰訊的天氣是相當?shù)臏恃?而且還有實時天氣, 今天把它給應用上了,附上源代碼拋磚引玉.
    2008-09-09
  • autoit入門教程小結(jié)

    autoit入門教程小結(jié)

    對于聽說過autoit腳本的朋友,下面的入門教程是個不錯的教材,建議大家看看
    2008-06-06
  • AutoIt腳本的反編譯和代碼格式化問題分析

    AutoIt腳本的反編譯和代碼格式化問題分析

    這篇文章主要介紹了AutoIt腳本的反編譯和代碼格式化問題分析,需要的朋友可以參考下
    2015-10-10

最新評論