導航:首頁 > 源碼編譯 > bin反編譯教學

bin反編譯教學

發布時間:2022-11-28 00:51:53

㈠ 如何反編譯android應用以及重編譯,簽名和對齊優化

首先,了解一下我們為什麼需要反編譯apk
大部分情況下,是由於想本地化一款優秀的應用,才需要做這事兒;又或者進行少量的smali修改以達到想要的效果(如添加歸屬地,使3G版Nexus 7支持Wi-Fi熱點)。

下面我們先准備運行環境和工具
建立工作目錄,如.\workspace\apktoolbox (下面同樣以此路徑為例)
必不可少的JDK:Oracle java下載,安裝完成後把<jdk-inst-path>\bin添加到$PATH環境變數中
反編譯和重編譯工具apktool:Google Code下載,按平台下載(一個apktool-install-<platform>-<ver>-tar.bz2,一個apktool<ver>.tar.bz2,下載完成後解壓至.\workspace\apktoolbox\bin
密鑰文件,共4組。test/shared/media/platform,從android source中獲取,分別對應不同共享用戶ID時簽名所需(查看應用AndroidManifest.xml第二行android:sharedUserId項 ),放到.\workspace\apktoolbox\bin下
test - 無android:sharedUserId項
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
簽名工具signapk.jar,放到.\workspace\apktoolbox\bin下
對齊優化工具zipalign(從android sdk中獲取,在tools目錄下),放到.\workspace\apktoolbox\bin下
准備工作完成

接下來我們就要開始工作了(以本地化工作為例)
把待反編譯的apk放到.\workspace\apktoolbox\apks下
命令行模式下進入.\workspace\apktoolbox\bin目錄,輸入以下命令進行解包(反編譯)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目錄(英文原版)和values-r<locale>目錄(本地化)就是我們需要的對象。
本地化工作完成後,在命令行中輸入以下命令進行重新打包(重新編譯)
apktool b ..\apks\<outdir>

.\workspace\apktoolbox\apks\<outdir>\dist目錄下會生成重新打包後的apk(未簽名,未對齊優化)
重新打包完成後,在命令行中輸入以下命令進行簽名(根據實際情況選用密鑰,這里以test密鑰為例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk

簽名完成後,在命令行中輸入以下命令進行對齊優化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk

<apkfile>_zipaligned.apk就是我們最終需要的apk了。
完成
部分apk需要系統框架資源,沒有的話在重新打包時會報錯,這種情況下我們只需要先安裝一下對應系統框架即可(從你目標ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中輸入以下命令進行安裝
apktool if ..\apks\framework-res.apk

㈡ 請教,如何反編譯dll文件

如何反編譯dll,如何將反編譯的文件生成dll。
反編譯dll
安裝vs,最好是最新版本的,如果要反編譯的dll使用新版本創建的,也能反編譯成功。下面是詳細的反編譯步驟。
1.打開C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,這個程序是微軟提供的反編譯軟體,打開要反編譯的dll。
2.然後選擇文件-轉儲,這時會彈出轉儲選項的對話框(一般按照默認即可),設定好以後選擇轉儲位置。
3.完成後會生成以res和il結尾的文件,還有可能包含以.resources結尾的文件。這樣我們就將dll反編譯完成。根據需要修改il文件。
如何反編譯.resources文件呢
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resources 1.resx,這樣resources文件變轉化成可以編輯的resx文件。
組合dll
先說如何將resx文件組合成resources文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resx 1.resources,這樣resx文件變轉化成可以編輯的resources文件。
將反編譯後的文件組合成dll文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改變,這樣就生成了想要的dll。
當然如果對生成的dll不放心,可以使用.net Reflector進行查看。希望你能成功

㈢ 怎麼把BIN文件轉換為ASM文件

C51的Bin也是標准LINK出來的,反匯編就需要一些技巧,工具只能做到一些基本的工作的,以前我做過一個簡單的時鍾,就想試試反匯編,結果發現好復雜,短短幾十行匯編,如果你沒有源代碼,幾乎是不太可能直接找到其所在位置的。而且LINK之後最大的一個問題就是偏移,你只要多添一句,大部分跳轉碼的偏移都要做修改,所以只能在等長代碼情況下修改。而且有一點我是絕對確定的,你所要求的工具以現在的技術而言是沒有的,大部分工作還是得人工。 把郵箱留下,我可以給你一個反編譯器,能把bin轉成asmasm變成bin你就只能找對應的編譯器了,如KEIL不過修改可能很困難的,如果是用c51寫的,改動較大,程序再大點基本無解

㈣ 如何將keil編譯後生成的.BIN .ASM .HEX 反編譯成C文件

明確告訴你,不可能。
如果是把.BIN或.HEX反匯編成匯編程序,那是可以的,因為機器碼與匯編命令是一一對應的,網上有這樣的工具。但如果想把匯編整理成C那就不現實了,每種C編譯器的編譯方式都是不一樣的,哪怕同一種編譯器採用不同的優化策略,生成的機器碼也不一樣,可想而知,這個難度有多大,因此,做逆向工程的都是研究匯編的。
另外,.ASM是匯編程序的擴展名

㈤ bin文件如何反編譯

用WinIso試試看

㈥ 編輯bin文件

這個是光碟的映像文件
1、用Bin2ISO將bin轉成ISO文件,然後用WinImage解開.
注意:有些BIN文件實際上就是ISO文件如果上面的辦法有問題可以直接將後綴改成iso,然後用WinImage解解看
2、用ISOBuster直接解
注意: 有幾種格式,多試一試
3、用daemon直接將BIN文件虛擬成光碟機
這個辦法最方便,推薦。

㈦ 請教下 怎麼反編譯 網站BIN文件下的 App_Code.dll文件我想修改裡面的東西 但是 不知道怎麼修改

沒有編程基礎就不要去瞎搞了

㈧ 關於真三國無雙OL里.bin格式的文件

額,LS的回答有些不負責任啊,不能隨便亂粘貼一段就做回答。

LZ你好,我是做程序設計的,同時也是《真三國無雙OL》的忠實愛好者,你的問題我可以解答部分。

首先,真三國無雙OL裡面的bin文件,是編譯工具將程序源代碼和資源進行編譯後生成的可由計算機直接解讀的文件(就是二進制文件)。例如用Visual Studio對C#語言所設計的WinForm程序進行編譯,軟體的主體部分就是各bin文件。

也就是說,你打開《真三國無雙OL》,所看到的眾多bin文件是經過IDE編譯之後的文件,文件內容都是給電腦直接讀取和解析的二進制代碼。想要讀取編譯過後的bin文件的內容,則需要一個反編譯過程,將bin的二進制內容還原為原本的內容。這就需要一個對應的反編譯的演算法支持。(不同的程序語言和IDE環境所使用的編譯演算法都不一樣)。

也就是說,bin文件裡面的內容不光只有圖片、聲音,同時還有各種數據模型、演算法、流程式控制制、3D貼圖和紋理等等。所以我假設你即使能將所有的bin文件全部反編譯成功,其中也有相當部分的內容是你不需要也看不懂的(例如各種類、介面、函數、通用類等等)。

而且各種內容即使被成功反編譯,其存儲類型也不一樣,例如圖片內容,他可能是GIF格式、PNG格式、或者是圖片集格式,例如3D紋理,他可能是我們目前通用的軟體所無法打開的格式。所以如果有這樣一個能將bin文件解析為圖片或者聲音之類的,那它必須具備反編譯的功能,和將反編譯後的內容轉換為非開發環境中也能正常識別的內容的功能。

這就是為什麼目前的解析bin文件的軟體,普通都無法讀取解析所有bin文件的原因。

目前網路上有款軟體,名字叫「真三國無雙OL資源提取器」,已經能正常讀取bin文件中的圖片資源文件,LZ可以自行搜索一下。

另,我其實是搞網路程序的,對於CS模式的開發理解也不是很深,以上可以理解為個人見解-,-如果有錯誤希望不要誤導到別人才好。

祝LZ玩得開心。

--------------------------------------------------------------------

其實說老實話,目前聲音、音樂、武器模型、武器貼圖、甚至人物、服飾等的貼圖都已經有人提取出來了。證據就是目前可以替換聲音、音樂、武器模型、人物和衣服的貼圖等。(話說替換武器模型以後玩游戲,那打擊感會覺得很惡心)。

不過這部分我並沒有過多研究,根據我以前修改KOEI其他單機游戲的經驗,個人估計還是先解析相關bin文件,將解析出來的資源進行修改,然後編譯為新的bin文件替換回去。應該會有相關的軟體。不過因為是流通性較低的軟體,所以搜索起來比較麻煩。

LZ可以以相關關鍵字在網上搜索,找到相關的文章和軟體。比如替換人物貼圖這個應該是最容易找的。至於武器模型么,如果《真三國無雙OL》找不到突入口,完全可以從《真三國無雙4S》和《無雙大蛇Z》這2個游戲上找,首先這3個游戲的武器模型基本都是一樣(建模沒有做太大修改),第二後兩個游戲因為是單機游戲,玩的人更多(說真的玩OL的人真的少得可憐),相關信息量也更大,第三也是最重要的一點,這兩個游戲很久以前就已經被改得面目全非了。。。

後兩個游戲的提取和修改信息,我推薦到3DM論壇上找找。

㈨ 路由器的固件能反編譯嗎

可以進行反編譯。

路由器的固件通常存儲在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一種二進制文件,存儲的是路由器的機器碼,通過反編譯,可以將其還原為匯編碼,以便進行分析。獲取、反編譯及分析固件通常按下列步驟:

獲取路由器固件需要的環境

  1. 常見路由器的SPI FLASH編程器;

  2. 最好是用Winows 筆記本來登陸到ubuntu系統的台式機上的方式 ;

  3. Windows 下的Putty、winhex、WinSCP軟體工具;

  4. TTL線、網線、萬用表及烙鐵,熱風槍等工具和線材;

分析步驟

  1. 拆開對應的路由器設備的外殼;

  2. 查看路由器內部的的介面標識;

  3. 用萬用表找到對應的地線GND標號;

  4. 通常為了調試或升級的方便,都會保留TTL引腳;

  5. 查看是否存在有TTL線的引腳或觸點;

  6. 用准備好的TTL線連接路由器的TTL引腳或觸點;

  7. windows下用putty中的串口項打開對應的TTL線連接的串口;

  8. 查看是否有路由器啟動的日誌信息,如果有,請仔細分析;

  9. 等路由信息啟動完畢後,看看是否有終端跳出來,是否有登陸窗口跳出;

  10. 如果有登陸窗口,但是無法輸入,或者無法猜測出對應的用戶名密碼;

  11. 用熱風槍或烙鐵取下路由器上的存儲FLASH晶元;

  12. 在Windows下用編程器提前存儲在FLASH晶元的全部固件;

  13. 用WinSCP工具將提取出的固件上傳到ubuntu系統中;

  14. 在ubuntu系統中安裝對應的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);

  15. 用這些分析工具進行分析,分析出來後,解壓對應的數據包,提前對應的關鍵性數據進行分析。

按以上步驟可以實現對路由器的分析。

㈩ java的反編譯怎麼使用,說具體點

使用SDK提供的反編譯器javap.exe可以將位元組碼反編譯為源碼

閱讀全文

與bin反編譯教學相關的資料

熱點內容
app易語言post怎麼學 瀏覽:963
地梁的箍筋加密區位置 瀏覽:300
二分法排序程序及編譯結果 瀏覽:677
日語命令形和禁止型 瀏覽:283
安裝軟體用管理員解壓 瀏覽:503
編譯原理代碼塊 瀏覽:398
小孩可以用壓縮面膜嗎 瀏覽:12
錐形倒角怎麼計演算法 瀏覽:880
java合並鏈表 瀏覽:505
pic單片機編譯器 瀏覽:803
麗水四軸加工中心編程 瀏覽:689
國產系統怎麼解壓 瀏覽:552
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852
java棧的元素 瀏覽:737
程序員與籃球事件 瀏覽:676
app反編譯不完整 瀏覽:788
電腦上的文件夾怎麼調整 瀏覽:8
伺服器無響應是什麼原因呀 瀏覽:985