婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > AutoIt腳本的反編譯和代碼格式化問題分析

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

熱門標簽:金融電銷公司怎么辦理外呼系統 電話智能外呼系統誠信合作 安徽400電話辦理 雷霆電話機器人電話 使用電話機器人電銷是否違法 真人和電話機器人對話 什么渠道可以找外呼系統客戶 湖州電銷防封卡 信陽話務外呼系統怎么收費

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

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


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

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

就這代碼格式……幾十行還可以忍,一兩百行已經是上限了……惡意代碼動不動幾千行,看著腦袋都大啊……本著磨刀不誤砍柴工的思想,果斷寫了一個自動格式化腳本(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()

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

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

您可能感興趣的文章:
  • Python+AutoIt實現界面工具開發過程詳解
  • python+selenium+autoit實現文件上傳功能
  • 使用AutoIT實現自動登錄/退出客戶端軟件,刪除日志
  • autoit 更改個人文件夾的小工具
  • AutoIt3和按鍵精靈的功能對比
  • autoit入門教程小結
  • autoit GUI相關知識
  • Python selenium使用autoIT上傳附件過程詳解

標簽:山南 湛江 運城 岳陽 六盤水 鶴崗 濟南 德州

巨人網絡通訊聲明:本文標題《AutoIt腳本的反編譯和代碼格式化問題分析》,本文關鍵詞  AutoIt,腳本,的,反,編譯,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《AutoIt腳本的反編譯和代碼格式化問題分析》相關的同類信息!
  • 本頁收集關于AutoIt腳本的反編譯和代碼格式化問題分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 商城县| 连云港市| 宁津县| 且末县| 普宁市| 凤翔县| 福清市| 商河县| 伊宁县| 三门峡市| 曲沃县| 马山县| 蒲江县| 于田县| 沧州市| 土默特左旗| 盐池县| 清原| 阳高县| 河津市| 肥乡县| 宁城县| 正定县| 平山县| 石嘴山市| 灵台县| 正安县| 江北区| 青河县| 三门峡市| 静乐县| 诸暨市| 三河市| 北川| 久治县| 福鼎市| 奉贤区| 集贤县| 峨边| 济阳县| 永城市|