是否有任何庫可從.NET調用,我可以在其中傳遞二進制數據並將其反彙編爲x86彙編代碼?x86 asm反彙編程序庫
回答
如果您不介意使用P/Invoke綁定到非託管dll,請查看beaengine,它是您可能找到的最佳反彙編程序庫。
+1我喜歡它,謝謝。 – karlphillip 2011-03-03 14:52:57
我認爲這是我要去的庫 - 非常易於使用,並且還有一個C#包裝。謝謝=) – 2011-03-03 20:35:52
我已經試用過BeaEngine和diStorm的.NET包裝,但它們要麼崩潰,要麼根本不拆解。我確實找到了一個受管理的LibDasm端口,作爲BlackStorms reverse engineering framework的一部分,到目前爲止它似乎工作。它還包含PE操作代碼,如果你需要的話。
我會檢查這一點 - 謝謝! =) – 2014-09-02 21:15:03
@cyanic你好,我已經更新了你的鏈接,因爲現在這個鏈接已經死了,現在發現這個框架非常困難,不是很難哈哈,但是從現在開始幾年後它會變得更加困難,所以我自己也對它進行了鏡像。 **這是唯一包含完全移植到C#.NET的LibDasm的C#軟件** – SSpoke 2015-09-09 03:51:36
由cyanic提供的鏈接似乎不再可用。
如果您使用的是100%的C#.NET而不是使用interop,則SharpDisasm會向英特爾和AT & T語法提供x86/x86-64反彙編程序。它將每條指令解碼爲一個對象,以訪問關於該指令的低級信息(例如指令大小,操作數編號和類型等)。
SharpDisasm是libudis86 C庫反彙編器的完整C#端口。
反彙編程序通過SharpDisam.Disassembler
類暴露。從提供的示例控制檯應用程序
輸出:
C:\>echo a1 c9 fd ff ff a1 37 02 00 00 b8 37 02 00 00 b4 09 8a
25 09 00 00 00 8b 04 6d 85 ff ff ff 89 45 f0| disasmcli 32
00000000 a1 c9 fd ff ff mov eax, [0xfffffdc9]
00000005 a1 37 02 00 00 mov eax, [0x237]
0000000a b8 37 02 00 00 mov eax, 0x237
0000000f b4 09 mov ah, 0x9
00000011 8a 25 09 00 00 00 mov ah, [0x9]
00000017 8b 04 6d 85 ff ff ff mov eax, [ebp*2-0x7b]
0000001e 89 45 f0 mov [ebp-0x10], eax
C:\>echo 488b05f7ffffff67668b40f06766035e1048030425ffff
000067660344bef04c0384980000008048a10000000000800000 | disasmcli 64
0000000000000000 48 8b 05 f7 ff ff ff mov rax, [rip-0x9]
0000000000000007 67 66 8b 40 f0 mov ax, [eax-0x10]
000000000000000c 67 66 03 5e 10 add bx, [esi+0x10]
0000000000000011 48 03 04 25 ff ff 00 00 add rax, [0xffff]
0000000000000019 67 66 03 44 be f0 add ax, [esi+edi*4-0x10]
000000000000001f 4c 03 84 98 00 00 00 80 add r8, [rax+rbx*4-0x80000000]
0000000000000027 48 a1 00 00 00 00 00 80 00 00 mov rax, [0x800000000000]
- 1. x86 asm:幫助反彙編代碼
- 2. Asm從反彙編程序中摘錄
- 3. 尋找一個好的x86彙編程序和反彙編程序庫
- 4. x86彙編程序問題
- 5. x86或x64反彙編LIB
- 6. x86反彙編反彙編到英特爾語法
- 7. 用於x86架構的反彙編程序
- 8. x86彙編程序無故卡住
- 9. GCC x86彙編程序函數表
- 10. 如何反彙編原始x86代碼?
- 11. 在x86反彙編中「EC」的含義
- 12. POPF x86彙編
- 13. 是否有可用的「往返」x86/64反彙編程序/彙編程序組合?
- 14. 從彙編語言(.asm,x86)執行shell腳本
- 15. 在x86彙編中實現反射(在運行時編輯程序)
- 16. x86彙編編程函數調用
- 17. x86彙編語言
- 18. x86-64 GNU彙編
- 19. 功率x86彙編
- 20. x86彙編錯誤
- 21. x86彙編添加
- 22. x86彙編代碼
- 23. 反編譯彙編程序到c
- 24. 拓撲排序asm x86
- 25. x86 Asm插入排序
- 26. 彙編x86中的Math.h庫函數?
- 27. .NET - NGEN編譯x86彙編
- 28. 彙編.asm時,它可以反彙編成相同的語法嗎?
- 29. 選擇排序在x86彙編
- 30. 一個簡單的x86反彙編程序開源內核使用
以什麼形式將您所期望的代碼?文本? – unwind 2011-03-03 13:26:13
文字很好,是 – 2011-03-03 13:27:05