易語言反編譯工具(E-Code Explorer),是一款易語言文件的逆向工程工具,可以幫助用戶對易語言編寫的軟件程序進行拆包、修改;主要用于破解、代碼提取等方面。是非常不錯的使用工具!
應(yīng)用簡介:
本軟件的功能:反匯編調(diào)試由易語言編譯生成的易格式可執(zhí)行文件,分析內(nèi)部結(jié)構(gòu),查看其中的各項數(shù)據(jù)。
使用說明:
1、【“文件”菜單】
(1)打開文件:
選擇打開文件后,會出現(xiàn)選擇打開對象窗口,你可以選擇從磁盤中載入文件或從進程附加兩種方式進行分析。選擇窗口右下角的設(shè)置按鈕,可以立即進行分析設(shè)置。
在選擇從進程載入后出現(xiàn)的進程列表窗口里,可以查看、載入或結(jié)束進程,也可以查看或結(jié)束被選擇進程中的某個模塊。
在選擇要載入的文件后,會詢問是否使用多線程技術(shù)進行分析。一般來說只要不是配置很低的機器,就不需要使用多線程分析,選擇“否”即可。
稍等片刻,窗口下面的信息欄顯示“報告信息已全部生成”表示分析完成。
(2)關(guān)閉文件
關(guān)閉正在分析的文件。
(3)導(dǎo)出分析報告
將當(dāng)前的分析結(jié)果以報告文件方式保存在磁盤上。生成的報告文件為標(biāo)準(zhǔn)的文本文件。
(4)退出
退出E-Code Explorer。
2、【“查看”菜單】
選擇各個選項,即可查看當(dāng)前分析的易格式可執(zhí)行文件的結(jié)構(gòu)信息。分析易格式可執(zhí)行文件的總體結(jié)構(gòu),查看對應(yīng)項的數(shù)據(jù)。分別對PE骨骼(PE頭)和易格式原體分析,以樹形結(jié)構(gòu)清晰的顯示,同時輔以詳細的分析表格。
(1)選擇“易格式頭信息”,可以查看當(dāng)前分析的易格式的頭信息。
(2)選擇“附加數(shù)據(jù)信息”,可以查看當(dāng)前易格式頭信息的附加數(shù)據(jù)信息。其中包括易格式所調(diào)用的所有DllCmd和支持庫信息。點擊“查看全部”,可以查看所有被調(diào)用的DllCmd的詳細信息。
(3)選擇“程序數(shù)據(jù)段信息”,可以查看易格式所包括的所有數(shù)據(jù)段的信息。雙擊列表中的某一項,將顯示此數(shù)據(jù)段的附加信息,包括所有重定位項和輸出符號信息。選擇“查看內(nèi)容”,將顯示當(dāng)前選擇的數(shù)據(jù)段的實際內(nèi)容。比如“@const”段顯示所有常量數(shù)據(jù),“@form”段顯示窗體資源”。目前此功能只支持顯示“@const”段的常量數(shù)據(jù),在以后的版本將加入對其他段的支持。選擇“查看數(shù)據(jù)”,將以十六進制方式顯示當(dāng)前選擇的數(shù)據(jù)段中的數(shù)據(jù)。單擊列表項的表頭,將在下方的狀態(tài)條中顯示此項的解釋。
(4)選擇“重要裝載信息”,可以查看當(dāng)前可執(zhí)行文件和易格式在裝入過程中需要用到的各種重要數(shù)據(jù)。選擇項目后面的“>>”按鈕,將直接顯示此地址所指向的數(shù)據(jù)內(nèi)容。
(5)選擇“查看調(diào)用的支持庫”,可以查看當(dāng)前程序在運行中所使用到的所有的支持庫信息。
(6)選擇“查看動態(tài)鏈接庫命令”,可以查看當(dāng)前程序在運行中所使用到的所有的動態(tài)鏈接庫函數(shù)信息。
(7)選擇“查看常量資源”,可以查看當(dāng)前程序在運行中所使用到的所有的常量資源。
(8)選擇“查看服務(wù)接口”,可以查看當(dāng)前程序在運行中所使用到的所有服務(wù)接口信息。
(9)選擇“查看PE導(dǎo)入表”,可以查看當(dāng)前程序的導(dǎo)入表信息。
(10)選擇“查看PE導(dǎo)出表”,可以查看當(dāng)前程序或DLL的導(dǎo)出表信息。雙擊導(dǎo)出函數(shù),可以對這個函數(shù)進行反匯編分析。
(11)選擇“查看樹形視圖”功能,可以以樹形視圖模式清晰的查看當(dāng)前被分析文件中所包含的各種結(jié)構(gòu)。
(12)選擇“查看文件內(nèi)容”功能,可以以十六進制方式查看當(dāng)前文件的內(nèi)容。選擇工具欄上面的“地址轉(zhuǎn)跳”功能,可以直接轉(zhuǎn)跳到您輸入的地址處。選擇“顯示中文”,可以顯示中文的字符信息。
注意:如果不明白某一項分析內(nèi)容的含義,可以將鼠標(biāo)懸停在當(dāng)前項的提示文字上或者單擊分析列表的表頭,在下面的提示欄中將出現(xiàn)此處分析內(nèi)容的詳細解釋。
3、【“分析”菜單】
(1)反匯編分析
快速的靜態(tài)反匯編易格式可執(zhí)行文件。提供方便的跳轉(zhuǎn)、調(diào)用目標(biāo)地址的代碼預(yù)覽功能。
只有經(jīng)過加載的程序才能進行反匯編分析。如果尚未被加載,會進行訊問。
開始加載后,等待被分析的文件加載成功,選擇等待對話框的確定按鈕。
注意:如果在進程分析設(shè)之中啟用了“以DEBUG模式加載進程”,將不會出現(xiàn)這個提示。程序會以調(diào)試模式創(chuàng)建進程并自動中斷到入口點進行加載。
進入反匯編窗口后,左上方是轉(zhuǎn)跳跟蹤列表,左下方是轉(zhuǎn)跳預(yù)覽框,右面就是反匯編結(jié)果。
主要功能通過頂部的工具欄和右鍵菜單來實現(xiàn)?梢酝瓿伞稗D(zhuǎn)跳”、“轉(zhuǎn)跳返回”、“轉(zhuǎn)跳位置”、“刷新”、“到入口點”、“到開始處”、“單行復(fù)制”、“全部復(fù)制”等功能。
在反匯編結(jié)果區(qū)域,鼠標(biāo)雙擊轉(zhuǎn)跳命令,可以進行轉(zhuǎn)跳跟蹤。同時Ctrl+方向鍵右、Ctrl+方向鍵左也可以方便的實現(xiàn)跟蹤轉(zhuǎn)跳,轉(zhuǎn)跳返回的功能。PageUp鍵、PageDown鍵、方向鍵上、方向鍵下可以進行翻頁。
選擇轉(zhuǎn)跳跟蹤列表的任一項,可在轉(zhuǎn)跳預(yù)覽框看到當(dāng)前選擇地址的反匯編結(jié)果預(yù)覽。雙擊即可轉(zhuǎn)跳到選擇的位置進行反匯編分析。
在某一個常量處懸停鼠標(biāo),可以看到該常量的詳細數(shù)據(jù)情況。雙擊該常量,可以進行十六進制代碼查看。
(2)窗體數(shù)據(jù)分析
對易格式可執(zhí)行文件中包含的窗體數(shù)據(jù)分析。以樹型結(jié)構(gòu)清晰的顯示窗體單元的從屬結(jié)構(gòu)。詳細的控件屬性顯示、準(zhǔn)確的事件處理函數(shù)定位、與反匯編模式便捷的切換,讓使用者可以立即進入要調(diào)試的事件函數(shù)領(lǐng)空,避免在runtime的空間里四處打轉(zhuǎn)浪費時間。這一點對于調(diào)試非線性事件驅(qū)動類型的程序是必須的。
打開要分析的文件后,即可查看窗體數(shù)據(jù)分析結(jié)果?梢燥@示當(dāng)前程序中窗體成員的使用情況、屬性和事件處理函數(shù)。
雙擊某一窗體單元,可以立即預(yù)覽到這個窗體,使分析更加直觀。
雙擊列出的窗體單元的成員,可以查看選擇的窗口成員的屬性和事件處理函數(shù)信息,并在預(yù)覽窗口中以明顯的方式被標(biāo)示出來。事件欄可以看到當(dāng)前窗口成員所處理的事件名稱和對應(yīng)的函數(shù)地址。雙擊事件項,即可反匯編顯示此事件處理函數(shù)。
(3)詳細的反匯編分析
導(dǎo)出保存詳細反匯編分析報告。詳細反匯編分析可以反匯編出程序中絕大部分的函數(shù),同時進行符號修飾。
(4)生成MAP文件
生成標(biāo)準(zhǔn)格式的MAP文件?梢怨┢渌{(diào)試軟件加載使用。如果使用OllyDbg作為調(diào)試器,建議使用forever[RCT]為EcE特別定做的OllyDbg插件LoadMapEx來加載MAP文件。此插件在EcE安裝目錄下的Tools文件夾中可以找到。
4、【設(shè)置”菜單】
(1)分析設(shè)置
分析對象設(shè)置:設(shè)置要分析的文件類型,其中包括“標(biāo)準(zhǔn)PE可執(zhí)行文件”、“標(biāo)準(zhǔn)Linux可執(zhí)行文件”(目前尚不支持)、“易格式原體文件”、“其他包含易格式的文件”。同時還可以設(shè)置從某一具體偏移處開始分析(針對“其他包含易格式的文件”選項)。在0.70以上版本中,加入了對“易格式捕捉者”的支持!耙赘袷讲蹲秸摺笨梢愿鶕(jù)設(shè)定的易格式特征碼,從當(dāng)前被分析的數(shù)據(jù)中自動分析易格式的基址。選擇了“啟動易格式捕捉者”,在打開要分析分析文件的時候,會彈出“易格式捕捉者”的窗口?梢赃x擇從哪一個疑似易格式基址進行分析,也可以查看疑似基址附近的數(shù)據(jù)。如果有多個分析結(jié)果,即為疑似基址,需要用戶自己進行選擇。在這里可以選擇是否要啟動“易格式捕捉者”,同時也可以配置易格式特征碼,供“易格式捕捉者”分析用。只有當(dāng)“分析對象類型”為“其他包含易格式的文件”時,才能夠使用這項功能。
進程分析設(shè)置:選擇在“從進程加載”模式下,是否要自動分析進程的參數(shù)?梢允謩釉O(shè)定加載參數(shù),如進程基址和進程尺寸。在DLL加載設(shè)之中,可以設(shè)置DLL加載程序。被選擇的程序?qū)⒂脕碚{(diào)用被分析的DLL供加載分析使用。默認(rèn)情況下,使用內(nèi)置的LoadDLL程序進行加載。在調(diào)試加載設(shè)置中,可以選擇是否以調(diào)試模式加載被分析的程序。通過設(shè)置可以用DEBUG模式創(chuàng)建被分析的程序進程,并在真正的入口點中斷運行并加載。
符號分析設(shè)置:設(shè)置符號庫相關(guān)的參數(shù)。如符號庫的加載目錄。可以顯示當(dāng)前已經(jīng)加載的符號庫列表及其詳細信息。也可以手工添加或卸載加載的符號庫。進行相關(guān)操作后,按下“更新”按鈕能使操作立即生效。EcE使用的符號庫是標(biāo)準(zhǔn)的易語言帶編輯信息的支持庫,可以手工為EcE添加符號庫。直接把相應(yīng)的fne文件復(fù)制到EcE的安裝目錄下Symbol目錄即可。
符號修飾設(shè)置:設(shè)置是否開啟相應(yīng)的符號修飾功能。也可以選擇關(guān)閉全部的修飾。在高級修飾設(shè)置中,可以選擇是否使用實時常量分析算法(開啟后可以更精確的分析程序中使用到的常量),是否使用智能冗余代碼檢測,是否使用DLL接口自動分析(開啟后在DLL導(dǎo)出函數(shù)的分析中可以直接定位到真正的入口點)。
服務(wù)分析設(shè)置:設(shè)置服務(wù)指針表分析算法的參數(shù)?梢赃x擇“自動解析服務(wù)指針”還是“手動解析服務(wù)指針”!白詣咏馕龇⻊(wù)指針”使用了步進算法,在這里可以設(shè)置是否開啟這個算法。同時還可以設(shè)置自動解析的分析起始偏移和解析范圍。修改“手動解析列表”中服務(wù)制針對應(yīng)項后,需按“更新”按鈕才能生效。此設(shè)置比較復(fù)雜,不正確的設(shè)置會嚴(yán)重影響到反匯編的修飾效果,請謹(jǐn)慎修改。
如果您對無意中修改了某些設(shè)置而又不知道應(yīng)該如何恢復(fù),可以按下“默認(rèn)”按鈕,即可把設(shè)置項更新為最初的內(nèi)容。
(2)顯示設(shè)置
設(shè)置和顯示相關(guān)參數(shù)?梢酝瓿煞磪R編器顯示的色彩、十六進制查看器顯示的色彩、是否在任務(wù)條顯示子窗口等設(shè)置。
(3)插件管理
對當(dāng)前加載的插件進行管理?梢詣討B(tài)加載、卸載插件,也可以禁用或恢復(fù)某個插件。選擇一個插件,可以看到關(guān)于這個插件的描述。
5、【“工具”菜單】
提供了若干個默認(rèn)加載的實用工具和插件功能。
(1)導(dǎo)出易格式原體
把當(dāng)前分析的文件中包含的易格式原體導(dǎo)出保存為原體文件。
(2)易格式原體植入PE骨骼
把易格式原體重新封裝為標(biāo)準(zhǔn)的PE可執(zhí)行文件。
(3)易格式重定位信息修復(fù)
如果是從正在執(zhí)行的文件中直接導(dǎo)出的易格式原體,如果要進行重新封裝的操作,必須要先進行重定位信息修復(fù)。輸入重定位基址(導(dǎo)出易格式原體前易格式的基址),即可進行修復(fù)。
(4)插件
自動加載EcE安裝目錄下PlugIns文件夾中的保存的插件。可以在“設(shè)置”菜單的“插件管理”功能中管理所有加載的插件。
6、【“幫助”菜單】
打開幫助文檔、快捷的進入EcE的網(wǎng)站、與作者聯(lián)系、查看關(guān)于信息。