當前位置:首頁 » 編程軟體 » 反編譯工具Linux

反編譯工具Linux

發布時間: 2023-06-11 09:50:47

❶ 用什麼工具反編譯或者解壓縮 linux 下的 bin 文件

objmp -sd 文件

❷ 什麼是java代碼的編譯與反編譯

Java代碼的編譯與反編譯

2017-02-21Hollis數盟

一、什麼是編譯

1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。

2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

二、什麼是反編譯

計算機軟體反向工程(Reverseengineering)也稱為侍梁計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

三、Java類的編譯與反編譯

我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。

那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)

四、什麼時候會用到反編譯

1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼我們可以把它反編譯成我們可以看得懂的文件。

2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。

五、反編譯工具

1、javap

2、Jad:官網(牆裂推薦)

客戶端:

可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。

因為我使用的是linux操作系統,所以我下載的是Linux版本的工具,這個工具下載好之後會有一個執行文件,敗吵只要在執行文件所在目錄執行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網下載插件的jar包,然後將jar包放到eclipse的plugins目錄下『在打開Eclipse,Eclipse->Window->Preferences->Java,此時你會發現會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置察談侍即可。基本配置完畢後,我們可以查看一下class文件的默認打開方式,Eclipse->Window->Preferences->General->Editors->FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

❸ linux 反編譯下的apk報毒怎麼處理

2、反編譯過程
1)反編譯出資源文件
使用apktool工具,進入apktool所在的目錄下,使用如下的命令:
./apktool d ./xxx.apk(apk所在的路徑)

d表示decode,在當前目錄下就會生成一個名為xxx的目錄,裡面就是反編譯出來的各種資源文件,其中res表示資源文件,smali表示源代碼,不過是位元組碼,不能直接查看。
以本人的實驗為例子,如下圖所示:

此時會在當前目錄下生成一個目錄app-debug。

2)源代碼的反編譯
a)因為apk文件其實是使用zip進行打包壓縮生成的文件,所以先把xxx.apk文件改名為xxx.zip文件,並對其進行解壓
b)進入解壓後的目錄,其中有一個classes.dex文件,這個文件就是java文件編譯再通過dx工具打包而成的,源代碼就包含在這個文件中。
c)把前一步生成的文件classes.dex復制到dex2jar工具的根目錄中,並使用如下命令對其進行反編譯:
./dex2jar.sh d classes.dex
就會在當前目錄下生成一個classes_dex2jar.jar文件

d)點擊打開jdgui工具,這是一個圖形化的工具,然後打開上上述的classes_dex2jar.jar文件就可以看到apk對應的源代碼。
對於本人的實驗如下:

❹ linux下有能反編譯class文件的軟體嗎

  • 沒有完全可以的,想要代碼就自己寫 這種軟體多數是假的,要麼就是有毒的 .exe的可執行程序都是已經編譯過了,很難恢復為代碼

❺ 誰有linux下的QT反編譯軟體分享一個給我謝謝,objmp不行。

objmp -sd 文件可以的,是不是你沒裝好呢?

❻ 如何在Linux中反編譯java源代碼

之前看同事使用JD-GUI來反編譯java
.class文件,覺得很爽,不過一直以來也沒有再次接觸到這個問題,所以也沒有對這個工具進行深入的了解。

今天無聊看了些技術文檔,忽然想起這個工具來,上網一找。呼呼果真也有Linux的版本。
不過我網上資料顯示主頁上下載的gz包是32位的程序,我在64位的Fedora
12下可能有些問題,程序在運行時會調用不到關鍵的32位庫而失敗。幸運的是只要安裝幾個包即可:

yum install
libcanberra-gtk2.i686 PackageKit-gtk-mole.i686
gtk2-engines.i686

下載後:
tar -xzvf
jd-gui-0.3.2.linux.i686.tar.gz
sudo mv jd-gui
/usr/local/bin

至此jd-gui便可以在linux下運行,對於class或者jar文件都可以使用這個工具打開查看反編譯源碼
轉載,僅供參考。

❼ axure中製作手機app原型如何獲取素材

axure中製作手機app獲取素材,可以考慮從從手機應用中反編譯來獲取。
Android反編譯工具:Apktool,支持Linux 、Windows。
Android apktool是一個用來處理APK文件的工具,可以對APK進行反編譯生成程序的源代碼和圖片、XML配置、語言資源等文件,也可以添加新的功能到APK文件中。用該工具來漢化Android軟體然後重新打包發布是相當簡單的。
參考:http://www.91axure.com/?p=1576

❽ 如何在Linux下反編譯dll文件

linux反編譯dll?
dll文件只用在win下吧。linux用.so文件。
更何況DLL的很多文件庫使用的win的函數或頭文件。
反編譯都不會很好處理,無論是win還是linux。

❾ 我想反編譯linux下c語言生成的可執行文件!請大家幫個忙告訴我用哪個軟體或工具,不勝感激!

沒可能,工作量比重新把程序寫一遍還要大。

熱點內容
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892
梅花適合用哪些植物進行配置 發布:2025-02-11 08:30:54 瀏覽:252
安卓手機如何像蘋果一樣彈窗 發布:2025-02-11 08:26:33 瀏覽:912
壓縮文件掃碼 發布:2025-02-11 08:20:55 瀏覽:258
小米5安卓70怎麼分屏 發布:2025-02-11 08:00:58 瀏覽:140
訪問二維碼 發布:2025-02-11 08:00:11 瀏覽:883