導航:首頁 > 源碼編譯 > 反編譯功能怎麼用

反編譯功能怎麼用

發布時間:2022-12-12 00:34:51

1. 反編譯是什麼意思

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,

某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

(1)反編譯功能怎麼用擴展閱讀

反編譯是一個復雜的過程,反編譯軟體有:

1、SWF相關的反編譯程序

Action Script Viewer

第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。

2、android相關的反編譯程序

SMALI/BAKSMAL

SMALI/BAKSMALI是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬松式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。

3、python相關的反編譯程序

uncompyle2

uncompyle2可以直接轉化為十分完美的python源碼,並可以將反編譯後的源碼再次生成位元組碼文件。

參考資料來源:網路-反向編譯

2. 如何反編譯exe文件

反編譯exe文件基本上是不可能的,因為反編譯過程由很多因素會干擾,反編譯過程:
1、檢測程序時候加殼了,如果加殼就必須先去殼。
2、去殼後需要猜測程序員採用的是什麼編程語言,編程語言有:java/c/c++/c#/vb/VC++等等。
3、猜測到程序員使用的語言後根據編程語言進行匯編,匯編需要考慮到語言中的語法問題,即使是同種語言,一種命令有多種說法,匯編成功率在20%左右。
4、匯編成功後基本就已經到反編譯的頂端了,要從匯編程序翻譯成源碼可能性為1%。

3. snowman反編譯代碼怎麼運行

使用反編譯軟體即可獲得源代碼。
反編譯獲得的是匯編格式的源代碼,讀懂需要較高的水平,大多反編譯軟體都具有生產C語言格式的功能,但是效果不同,而且並非是全部都能生成C語言,還有很多是匯編格式的。所以對已生成的程序進行反編譯需要足夠的耐心和經驗才能讀懂。
使用Reflector反編譯exe或dll文件都可能無法進行編譯(這里指已經對目的文件進行了脫殼處理),主要原因有以下幾點:1、如果對方使用了混淆技術,我們再反匯編會非常棘手,我常用的做法是把某個亂七八糟的名稱使用自己的命名規范重新批量重命名,這樣便於分析程序的結構。2、Reflector對枚舉類型的支持不是很好,它往往會把枚舉當做整數進行處理,這個需要你手動更正過來。3、對於自動屬性,你需要把不符合編譯語法的地方更正過來。自動屬性的私有欄位一般都含有等,需要手動更正一下。4、對於Winform,你需要重新編譯一下相關的資源文件,如果編譯過程提示找不到資源的話。5、對於靜態變數或者靜態類,這個你更要注意。

4. 怎樣反編譯 Android APK

APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar AndroidManifest.xml 解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。 1) APKtool軟體包 APKtool軟體包有2個程序組成:apktool.jar 和 aapt.exe 另外提供一個批處理文件:apktool.bat,其內容為: java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 運行apktools.jar需要java環境(1.6.0版本以上)。 apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。 2) APK文件的解包 下面以解開Contacts.apk為例。首先把Contacts.apk Copy到當前工作目錄下(例:Test)。在DOS下打入命令 apktool d Contacts.apk ABC 這里「d」表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。 3) APK文件的打包 在DOS下打入命令 apktool b ABC New-Contacts.apk 這里「b」表示要打包 ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。 New-Contacts.apk是打包後產生的新的APK文件。 4) Framework框架文件 在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是: apktool if framework-res.apk 安裝後就會得到:~\apktool\framework\1.apk 5) 解包、解包和簽名批處理 在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。 解包批處理命令: for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed! 打包和簽名批處理命令: for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files

5. 如何反編譯msi文件

wix 開源項目下載一個
安裝後將bin路徑加入環境變數

wixedit 開源項目下載一個,用於編輯wix反編譯的msi項目,反編譯後項目文件為wxs文件

使用wix反編譯
dark -x C:\SdkLog C:\SdkLog\2009.msi C:\SdkLog\a.wxs
就會將2009msi反編譯

使用wixedit打開a.wxs就可以看到相關內容。
其他功能未研究

6. eclipse怎樣進行反編譯

你好,這個需要相應的插件才可以。不過有很多優秀的小軟體都可以實現這個功能。沒有必要用eclipse。

7. 如何使用E書工廠來反編譯 CHM格式的電子書呀

E書工廠的操作界面,有反編譯的功能按鈕,直接操作就可以了。

8. anzhuo應用程序怎麼反編譯

讓我們先來認識下APK文件. Android的應用程序包為擴展名為.apk文件, 無論你是從手機市場里下載, 還是電腦中下載. 都是這類APK文件. APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別.


android


一個APK文件解壓開通常有這樣的文件夾:


META-INF 目錄:

MANIFEST.MF: manifest文件

CERT.RSA: 應用程序證書

CERT.SF: SHA-1資源簽名列表. 例如:

Signature-Version: 1.0

Created-By: 1.0 (Android)

SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=

...

Name: res/layout/exchange_component_back_bottom.xml

SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=

...

Name: res/drawable-hdpi/icon.png

SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=


lib: 這個目錄包含某些特定編譯代碼, 這個文件夾分成下面這些

armeabi: 只基於所有ARM處理器的編譯代碼.

armeabi-v7a: 所有ARMv7處理器的編譯代碼

x86: 僅針對x86處理器的編譯代碼

mips: 為MIPS處理器的編譯代碼

res: 包含資源的目錄不編譯到資源文件,看下面:

assets: 包含應用程序的資產,可以通過AssetManager進行檢索.

AndroidManifest.xml: 包含應用程序的元數據文件,描述名稱、版本、訪問許可權、引用應用程序的庫文件。此文件在Android二進制格式, 可被工具轉化為可讀的純文本XML工具,如 AXMLPrinter2,apktool,或Androguard。設置,可以通過AssetManager進行檢索

classes.dex: Dalvik位元組碼

resources.arsc : 一個包含預編譯資源文件,如二進制的XML.

有兩種方法反編譯APK, 如果是為了漢化程序, 可以使用apktool:


安裝過程

1.下載apktool1.5.2.tar.bz2和apktool-install-windows-r05-brut1.tar.bz2

2.把兩個文件都解壓放在同一個目錄,共三個文件

aapt.exe

apktool.bat

apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。


在命令行執行:


apktool d d:xxx.apk d:xxx


xxx 為你的輸出目錄, 然後你就可以看一些xml的資源文件, 以及Smali文件. 如下圖某APK文件反編譯輸出目錄:

由此可見,Android應用程序反編譯並不難, 加密與解密的斗爭一直會持續.

9. Java反編譯工具的用法

反編譯得出的代碼,是JAVA文件在生成CLASS文件時,做過優化的代碼。
所以跟你的原文件不一樣(比如:注釋全沒有,中文全變成Unicode碼,字元串連接全部用StringBuffer類來代替,自動增加else語句等等)。
所以,你要是想修改反編譯出來的代碼,可以:
1、將反編譯出的代碼復制到一個新建的類文件里
2、運行這個文件
3、根據錯誤提示,進行修改
以上是,我用過的方法。

10. 怎樣反編譯EXE文件

目前所能見到的逆向工具沒有EXE/DLL反編譯工具,幾位所提到的DUMPBIN、IDA、Ollydbg、DEBUG等都是反匯編工具,而不是反編譯工具。
反編譯工具的開發比反匯編要雜復得多的多。1992年Austin-Code公司曾寫過一個DOS下的EXE2C的反編譯工具,但反編譯效果極差,可以說就是簡單的把匯編變為C指令。2005年中國的劉濤濤又寫了一個EXETOC的反編譯工具,能實現簡單的反編譯,但也沒有最終完成。目前與反編譯功能較接近是的從最新的IDA從6.1開始添加了一個Hex-rays插件,可以完成一些反編譯的功能。

閱讀全文

與反編譯功能怎麼用相關的資料

熱點內容
程序員搞笑花名 瀏覽:501
dota2怎麼設置國服伺服器地址 瀏覽:212
單片機高電平驅動 瀏覽:115
ios多選文件夾 瀏覽:909
加強行車調度命令管理 瀏覽:243
伺服器已禁用什麼意思 瀏覽:150
部隊命令回復 瀏覽:755
神奇寶貝伺服器地圖怎麼設置 瀏覽:382
加密演算法輸出固定長度 瀏覽:862
程序員去重慶還是武漢 瀏覽:121
伺服器如何撤銷網頁登錄限制 瀏覽:980
微信公眾平台php開發視頻教程 瀏覽:628
怎麼看蘋果授權綁定的app 瀏覽:255
壓縮機單級壓縮比 瀏覽:380
linux測試php 瀏覽:971
什麼時候梁旁邊需要加密箍筋 瀏覽:40
微信清粉軟體源碼 瀏覽:717
matlabdoc命令 瀏覽:550
如何去ping伺服器 瀏覽:75
ecshop安裝php55 瀏覽:817