導航:首頁 > 源碼編譯 > lib反編譯

lib反編譯

發布時間:2022-02-05 15:38:42

1. 如何對VC中的lib進行反編譯

反編譯vc的程序幾乎是不可能的,,因為vc編譯的程序,用的是C/C++,裡面可能調用了好多指針,編譯的原理不一樣,反編譯的結果也不同的

2. C語言lib文件用什麼工具反編譯

反匯編 ,基本要按匯編去看待的了

3. 如何對一個lib靜態庫保護起來不被反編譯

這個太麻煩了吧,除非他反編譯成匯編,讀懂全部匯編語言,然後用c去實現。逆向工程量太大。我們做一般是加花指令,迷宮函數來混淆代碼。

4. 如何看懂lib文件里的東西

想用一個靜態庫必須要裡面函數的聲明,就是頭文件。有些動態庫都需要頭文件呢~沒有頭文件絕對不可能。

完全看懂是不可能的。要是看懂了相當於反編譯了!
如果只要使用,找出一部分函數是有可能的。
你去網上搜索一下「lib 文件結構」

其實可以看到一部分,看到一些函數,你用記事本打開lib。可以看到
xxx@yyy@@zzz 之類的東西。
zzz代表函數名,yyy代表該函數所在的類名,zzz代表參數類型。

可以猜到一部分`~,這個是C++寫成的庫,C語言寫的庫是沒有類名和參數名的(因為不支持類也不支持重載)。

你再把相映的頭文件自己補寫上,

再#include "頭文件"
#pragma comment(lib,"lib文件");

祝你好運了~~

5. erlang 反編譯工具+方法

編譯好的erlang 的debug版本程序反編譯步驟如下(比如 a.beam):
1、{ok, {_, [{abstract_code, {_, Ac}}]}} = beam_lib:chunks(code:which(a), [abstract_code]).
2、io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(Ac))]).
這樣我們就得到的a.beam的預處理之後的程序。
如果我們想查看beam文件的匯編程序erts_debug:df(a). 執行完畢會得到a.dis文件,裡面就是對應的匯編程序
注意只有debug版本才能反編譯

6. 安卓app360加固怎麼反編譯

1 對比

上傳demo進行加固,解包後對比下原包和加固包,發現加固包在assets文件夾下多了libjiagu.so,libjiagu_x86,lib文件夾下多了libjiagu_art.so,同時修改了dex文件和androidManifest文件

打開manifest文件,看到xxx加固對Application標簽做了修改,添加了殼入口,也就是我們反編譯後看到的StubApplication.smali這個文件。

相比於之前版本的加固,自從1.x.x.x加固版本之後,多了幾次反調試,使得動態難度稍微增大了一些,不過針對脫殼機脫殼,再多了反調試也是無用。或者通過修改系統源碼,也能達到消除反調試的作用。


2 動態調試

(1)把app安裝到手機,以調試模式打開app

(2)以shell模式root許可權打開IDA的android_server監聽

(3)tcp轉發

(4)打開IDA,修改配置為在進程開始時下斷

(5)搜索到進程後jdwp轉發,pid值即為我們進程號,並在命令行下附加。

成功附加後,可以下段了,打開Debugger Option

我們選擇在線程開始和庫載入時下斷,修改成功後,jdb附加,點擊運行

程序會斷在elf頭處,按下G鍵,搜索mmap,在mmap函數的段首和斷尾下段

F9運行,來到斷尾時F8單步,

來到此處時,在 BLunk_5C999C2C下斷,F9一下,F7跟進去

跟進去今後在BLX LR處進行下斷,此處就是進行反調試的地方,原理依然是獲取TracePid的值判斷當前是不是處於調試狀態,建議第一次調試的人在fgets和fopen處下斷,再f7跟進此調用就可以看到TracePid的值了。

跟進去之後,我們直接把方法移到最下方,就可以看到kill符號了,這就是殺進程的地方,如果當前處於調試狀態,則直接結束進程。

我們在此函數的所有cmpR0,#0處下斷,F9一下後即斷在斷點處,觀察寄存器窗口的R0值,實質就是當前的TracePid的16進制的值

不確定的可以使用cat /proc/pid/status進行對比一下,我們直接把R0置0,右鍵選擇Zero Value即可清0,繼續F9

我們看到程序又來到了mmap處,繼續f9

當繼續斷在調用反調試功能的方法時,繼續F7跟進,依然在所有的cmp R0,#0處下斷,斷下後把R0清0後繼續F9運行

目前的規律是,調用BLXLR的第一次,第二次和第四次是進行反調試判斷的,第三次並不影響,可以直接f9跳過去,三次反調試搞定後,就可以愉快的F9運行並觀察堆棧窗口了

當看到出現如下所示時:

說明殼已經開始解密並釋放dex文件了,我們直接F8單步十幾步,最後F9一下就可以看到我們需要的dex頭了

直接腳本mp出來即可,最後把libjiagu的所有文件刪除,並修復下Application標,如果存在則修復,不存在刪除即可

7. 反編譯設置有成功的嗎

一、dexmp方法dexmp是emulator自帶提供的查看dex文件的工具,可使用類似這樣的命令將dex文件mp到txt文件中:D:\ProgramFiles\android-sdk-windows-1.6_r1\platforms\android-1.6\tools>dexmp.exe-dclasses.dex>spk.mp.txt得到的文件內容,描述了類的信息,但實在是不好讀啊~~~~二、dex2jar+XJad方法該方法是使用dex2jar.jar包,將classes.dex文件解包成jar,在通過XJad(或者其他class反編譯工具)進行java反編譯。如:1、dex2jar.batd:\play\classes.dex默認的輸出路徑同classes.dex,生成的文件名為classes.dex.dex2jar.jar2、使用XJad反編譯該jar包之後的使用方法,大家都懂的:)該方法的好處在於,通過XJad反編譯後,大家可直接開到java源文件,缺點在於只能反編譯出開發時的java文件,而開發時使用的lib包不能反編譯出來。三、AXMLPrinter2.jar+baksmali.jar+smali.jar方法這個方法就強大了,AXMLPrinter2是還原AndroidManifest.xml和main.xml的工具,直接打開這兩個xml文件是亂碼,而通過還原之後,可以很明白的看到裡面的內容(我猜測還是使用了位元組異或的方式加的密)。

8. 如何把.LIB文件反編譯成C

目前的做法是轉換成匯編,然後自己翻譯成C語言。我之前做過PIC的機器碼核心演算法用翻譯成了C語言

9. 怎麼打開lib中的包

lib下的包是.jar文件,改為。rar或者。zip就好了就能解壓了,或者直接導到eclipse里打開,不過都是經過反編譯過的

10. 如何從lib中破譯出代碼

很簡單,直接解壓,用java 開發工具,idea ,MyEclipse 什麼的,打開就可以看到代碼了。也可以用反編譯打開。

閱讀全文

與lib反編譯相關的資料

熱點內容
植發稀少加密多少錢一根 瀏覽:687
無法接伺服器是什麼情況 瀏覽:210
壓縮褲的尺寸如何選擇 瀏覽:469
伺服器命令如何下載文件夾下 瀏覽:548
交叉編譯工具的安裝位置 瀏覽:587
linux命令ping本地地址 瀏覽:214
方舟編譯器和超級文件管理 瀏覽:118
81年的程序員 瀏覽:32
技能人才佔比演算法 瀏覽:55
s8文件夾忘記密碼怎麼辦 瀏覽:918
大家的日語中級pdf 瀏覽:438
編譯與運行什麼區別 瀏覽:841
死或生5PS3解壓 瀏覽:244
pdf怎麼刪字 瀏覽:54
買壓縮面膜注意什麼 瀏覽:111
新加坡玩什麼伺服器好 瀏覽:140
加密金融科技發展 瀏覽:565
易學java編譯器 瀏覽:59
克隆usb加密狗 瀏覽:882
動態代理編譯器 瀏覽:65