objdump D 輸出的東西可以經修改後再編譯嗎?如果可以請指點?

時間 2021-05-30 00:02:48

1樓:

用IDA反彙編過乙個8M的so鏈結檔案,花了乙個月,手動改了很多指令來使之相容並通過編譯,以C語言函式為單位,做成了內嵌彙編,編譯成功且執行與之前相同。

2樓:

剛好最近有想做這件事,首先上答案,理論上完全可以。

下面推薦一些資源

objdump的結果不符合組合語言編譯器的語法,不過objconv可以,並且支援多種語法。

cfi這工程是為了對二進位制程式加control flow integrity (CFI),所以有一次反彙編然後再編譯的過程,裡面指令碼實現了轉換過程,並且反彙編就是來自objdump的輸出,詳細過程可以看工程裡的dump2asm.pl

Patcherex這個工程為了給二進位制程式打patch,裡面有兩個後端,乙個的方式就是比較傳統的detour,另乙個方法是利用angr中的reassembler(https://

3樓:zephyr z

取決於什麼樣的修改。如果只是簡單替換幾條指令並且新指令長度和原來的一樣,那麼是有可能的

如果修改後長度不同那麼基於PC的相對定址就變了如果不做相應修改的話很大可能無法正確執行

人類的火力輸出可以有多猛?

人類火力很猛 但只能和人比 和自然母親比一下,提鞋都不配 隨便乙個很小很小的火山,就是看著像個土包一樣的只要冒著煙的,其能量就超過人類能夠造出的火力,之和好像沒有那麼誇張畢竟這要啥力量才可以讓你在地表看到冒煙,要知道地球的直徑。毛子挖到10000多。連菸都沒冒出來 阿涼 我想起來某動漫 超神學院 裡...

如何正確的理解漏極開路輸出跟推挽輸出?

linzw 當初我看到漏極開路跟推挽兩種結構時候,就想為什麼會有這兩種的設計存在?肯定不是閒的沒事蛋疼。如果能理解這兩種設計的目的,個人覺得非常有助於記憶!對於驅動裝置的IO來說,在不知道被驅動裝置是多少V作為邏輯高收入,0V為邏輯低大多數情況下通用,OD是個非常好的選擇,因為可以自由選擇外部上拉電...

有什麼專業可以不斷看書並輸出自己的觀點?

一棵柿子砸頭上 歷史學呀,天天就幹這個。除了畢業不好找工作,找了工作不怎麼賺錢,搞研究學著學著迷茫我是誰我在哪我在幹什麼,掉頭髮,容易出現掉書袋變油膩傾向 好像完美符合要求 不應該以給別人帶去價值為起點,然後去看書,然後用書中的知識來創造價值嘛。單純的看書輸出觀點,但是給別人帶去不了價值,帶去不了價...