當前位置:首頁 » 編程軟體 » 逆編譯

逆編譯

發布時間: 2022-02-05 00:54:01

① EXE文件反編譯源碼

EXE文件可以通過步驟來反編譯成源碼,具體步驟如下:

1、在網路上搜索下載反編譯工具ILSpy,ILspy是一個開源的.net反編譯軟體,使用十分方便。解壓後如圖,雙擊.exe文件打開解壓工具。

(1)逆編譯擴展閱讀:

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

exe是編譯好的程序文件 要看結構就得反編譯 但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。 所以要要看結構不止要會反編譯 還得精通匯編語言。

② 如何反編譯IMG(內核)文件

先介紹一下編譯核心的選項,希望能對大家消除對內核的神秘感有所幫助。
1.代碼成熟等級
2..處理器類型和特色
3.對模塊的支持
4.基本的選擇
5.即插即用支持
6.塊設備支持
7.網路選項
8.電話支持
9.SCSI設備的支持
10.I2O介面適配器
11.網路設備支持
12.配置業余無線廣播
13.紅外支持
14.ISDN的文件系統
15.舊型的光碟機類型(非IDE界面的光碟機)
16.字元設備
17.USB支持
18.文件系統
19.控制台驅動
20.音效卡驅動
21.Kernel hacking
第二節 內核版本
由於linux的源程序是完全公開的,任何人只要遵循GPL,就可以對內核加以修改並發布
給他人使用。Linux的開發採用的是集市模型(bazaar,與cathedral--教堂模型--對應
),為了確保這些無序的開發過程能夠有序地進行,Linux採用了雙樹系統。一個樹是穩
定樹(stable tree),另一個樹是非穩定樹(unstable tree)或者開發樹(developm
ent tree)。一些新特性、實驗性改進等都將首先在開發樹中進行。如果在開發樹中所
做的改進也可以應用於穩定樹,那麼在開發樹中經過測試以後,在穩定樹中將進行相同
的改進。一旦開發樹經過了足夠的發展,開發樹就會成為新的穩定樹。開發數就體現在
源程序的版本號中;源程序版本號的形式為x.y.z:對於穩定樹來說,y是偶數;對於開
發樹來說,y比相應的穩定樹大一(因此,是奇數)。確定是以″ root ″的身份簽入,
然後cd 到 /usr/src 。uname -r 這個指令將會顯示版本。內核版本的更新可以訪問<h
ttp://www.kernel.org/>。
第三節 編譯原因
Linux作為一個自由軟體,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了
舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的
系統度身定製一個更高效,更穩定的內核,就需要重新編譯內核。
通常,更新的內核會支持更多的硬體,具備更好的進程管理能力,運行速度更快、更穩
定,並且一般會修復老版本中發現的許多漏洞等,經常性地選擇升級更新的系統內核是
Linux使用者的必要操作內容。

為了正確的合理地設置內核編譯配置選項,從而只編譯系統需要的功能的代碼,一般主
要有下面四個考慮:
---自己定製編譯的內核運行更快(具有更少的代碼)
---系統將擁有更多的內存(內核部分將不會被交換到虛擬內存中)
---不需要的功能編譯進入內核可能會增加被系統攻擊者利用的漏洞
---將某種功能編譯為模塊方式會比編譯到內核內的方式速度要慢一些
以上是針對成熟的Linux套件如Redhat Linux而言,我的目的是為建造嵌入式Linux操作系
統做准備,也是必由之路。
第四節 准備工作
第一部分 新版本內核的獲取和更新
Linux內核版本發布的官方網站是< http://www.kernel.org/>,國內各大ftp上一般都可
以找到某些版本的內核。新版本的內核的發布有兩種形式,一種是完整的內核版本,另
外一種是patch文件,即補丁。完整的內核版本比較大,比如linux-2.4.0-test8.tar.b
z2就有18M之多。完整內核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分別
是使用gzip或者bzip2進行壓縮的文件,使用時需要解壓縮。patch文件則比較小,一般
只有幾十K到幾百K,極少的會超過1M。但是patch文件是針對於特定的版本的,需要找到
自己對應的版本才能使用。
編譯內核需要root許可權。把需要升級的內 拷貝到/usr/src/下(下文中以2.2.16的內核
的linux-2.2.16tar.gz為例),命令為
#cp linux-2.2.16tar.gz /usr/src
先查看當前/usr/src的內容,注意到有一個linux的符號鏈接,它指向一個類似於linux
-2.2.14(對應於現在使用的內核版本號)的目錄。首先刪除這個鏈接:
#cd /usr/src
#rm -f linux
現在解壓下載的源程序文件。如果所下載的是.tar.gz(.tgz)文件,使用命令:
#tar -xzvf linux-2.2.16tar.gz
如果下載的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令
#bzip2 -d linux-2.2.16tar.bz2
#tar -xvf linux-2.2.16tar

現在再來看一下/usr/src下的內容,發現現在有了一個名為linux的目錄,裡面就是需要
升級到的版本的內核的源程序。還記得那個名為linux的鏈接么?之所以使用那個鏈接就
是防止在升級內核的時候會不慎把原來版本內核的源程序給覆蓋掉了。現在也需要同樣
處理:
#mv linux linux-2.2.16
#ln -s linux-2.2.16 linux

如果還下載了patch文件,比如patch-2.2.16,就可以進行patch操作(下面假設patch-
2.2.16已經位於/usr/src目錄下了,否則需要先把該文件拷貝到/usr/src下):
#patch -p0 < patch-2.2.16
第二部分 准備主機板和相關硬體的說明手冊
其實也不用太詳細,只要知道您的硬體是屬於哪一類型就行了。例如:有一張SCSI卡,
那就要知道這張卡的名字,有一台cd-rom,就要知道這台光碟機是哪一種牌子的,是否為標
準的IDE/ATAPI界面,還是另有專屬介面卡呢?或者,主機版是否有支持Triton晶元(通
常586以上的電腦常有),這些信息能幫助我們,使得設定變得清楚且容易。
因此,不管您有什麼使用手冊,准備好吧。即使現在不用,將來還是會用到的(設X-w
indow system時要顯示卡的手冊)。
第三部分 檢查音效卡的IRQ設定和其種類
如果配有一張音效卡,除了要知道卡的種類外(例如 Sound Blaster)還需要知道這張卡
的IRQ地址。一般來說,盧卡的IRQ地址是5或7而IO地址則為220。DMA則l,不過,有時不
同的音效卡可能會有不同的設定。因為稍後的選項里,就會要填入這些數字。
第四部分 編譯核心的硬體需求
在編譯核心時,確定您的RAM最好在8MB以上, 否則可能會很慢而且問題會很多,記得查
看swap有沒有打開(用free指令)。此外,最好不要超頻,不然很有可能會發生signal
11的錯誤,使得編到一半的核心停了下來,其實編譯核心就好比編譯程序一樣,只是因
為構成核心的程序太多了,因此我們能小心盡量小心。

③ 反編譯什麼意思,具體該怎麼用

反編譯:高級語言源程序經過編譯變成可執行文件,反編譯就是逆過程。計算機軟體逆向工程,又稱計算機軟體恢復工程,是指對其他軟體的目標程序(如可執行程序)進行「逆向分析和研究」,從而推導出設計思想、原理、結構、演算法、處理過程、操作方法等要素,等被其他軟體產品使用,在某些特定情況下可能會衍生出源代碼。反編譯可以作為開發軟體時的參考,也可以直接用於軟體產品中。

(3)逆編譯擴展閱讀:

如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程序的邏輯。

④ EXE文件反編譯成代碼後,能重新再生成EXE文件嗎

如下參考:

1.單擊「開始」菜單以選擇「運行」。

⑤ 什麼軟體可以反編譯HEX文件

HEX是機器碼文件,可以從晶元中讀出來。

反匯編工具「IDA」
IDA Pro 是一個世界頂級的互動式反匯編工具,它的使用者囊括了軟體安全專家,軍事工業,國家安全信息部門,逆向工程學者,黑客。從功能上它大大勝過了w32dasm。近來它的盜版已經在網上傳播開了,你可以很輕松得到它。 IDA PRO 簡稱IDA ,英文:Interactive Disassembler的縮寫。它是由HEX RAY SA 公司開發的,一家多年以來從事二進制代碼反編譯C的軟體安全公司,其公司的旗艦產品就是著名的Hex-Rays.Decompiler(是IDA PRO的插件)。 IDA有兩種可用版本。標准版(Standard)支持二十多種處理器。高級版(Advanced)支持50多種處理器。你可以訪問the supported processor list page查看細節。在這里可以看到關於申請表格和許可證的常見問題的答案。IDA不存在任何注冊機、注冊碼或破解版,除了測試版和一個4.9的免費版外,網路上能下載的都是包含用戶許可證的正版,因為所有的安裝包都是OEM出來的,所以IDA官網不提供軟體下載,並且軟體也沒有注冊的選項(完全可以正常使用,當然這也是一種盜版或侵權的行為,對此IDA公司會採取嚴厲打擊措施); 當你運行IDA Pro時,你所最先注意到的是它的界面比w32dasm更加專業,這里比w32dasm有更多的選項或更先進的地方。它的優點是可以更好的反匯編和更有深層分析。而缺點是使用IDA更困難。

⑥ 有什麼軟體可以直接反編譯軟體,而且還要可以回編譯。

工具/原料

電腦必須裝java

JAVA電腦環境教程

apktool


方法/步驟

1. 配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)

打開命令提示符,(開始-運行-輸入cmd)


2. 輸入:cd apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)


3. 使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面


4. 如果只是想反編譯framework-res.apk

輸入apktool if framework-res.apk(框架的建立)


5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk

(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)


6. 最後反編譯完成


7. 修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯


8. 如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復4-7步驟)

apktool if framework-res.apk

apktool if SystemUI.apk


9. 對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk

apktool if twframework-res.apk

apktool if SystemUI.apk


10. 回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

⑦ 任何程序都可以反編譯嗎為什麼有一些程序不可以反編譯

javap是用作反編譯的,但是javap只能給出你要反編譯的class的結構,比如有什麼方法,有什麼static或者非static的變數什麼,但不可能產生源代碼編譯後的文件不是原代碼文件,所以不能直接拿來編譯。希望樓主採納

⑧ 編譯系統的反編譯系統

高級語言源程序經過 編譯 變成可執行文件,反編譯就是逆過程。
但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。
計算機軟體反向工程(Reversepengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
反編譯是一個復雜的過程,所以越是高級語言,就越難於反編譯,但目前還是有許許多多的反編譯軟體:
VB: VBExplorer ;只能反編譯界面圖像,好像代碼不能完全反編譯
JAVA: JAD ;java的反編譯比較常見,所以反編譯比較完全C++ : eXeScope

⑨ 反編譯是什麼意思

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

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

(9)逆編譯擴展閱讀

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

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源碼,並可以將反編譯後的源碼再次生成位元組碼文件。

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

熱點內容
為什麼解綁卡還要密碼 發布:2025-01-08 12:13:51 瀏覽:69
反編譯得到源代碼的比例 發布:2025-01-08 12:12:36 瀏覽:617
蘋果手機7z怎麼解壓 發布:2025-01-08 12:11:55 瀏覽:117
租用的雲伺服器還需要流量么 發布:2025-01-08 12:11:30 瀏覽:584
為什麼手游對手機配置要求低 發布:2025-01-08 12:06:53 瀏覽:212
怎麼設置qq郵箱獨立密碼 發布:2025-01-08 11:58:14 瀏覽:387
公司建設網站怎麼搭建伺服器 發布:2025-01-08 11:45:43 瀏覽:307
dell存儲分類 發布:2025-01-08 11:40:02 瀏覽:715
遞歸sql語句 發布:2025-01-08 11:31:50 瀏覽:711
laravel緩存文件 發布:2025-01-08 11:31:46 瀏覽:632