當前位置:首頁 » 編程語言 » ida反匯編成c語言快捷鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ida反匯編成c語言快捷鍵

發布時間: 2022-05-08 14:19:50

❶ 如何用VC6 將c語言轉成匯編語言

可以直接用IDA反匯編VC用C生成的.exe文件,這個是專業的結構清晰。要用VC也行,不過裡面含有調試信息不實純粹的匯編,如果你的C語言已經通過,能編譯成功,按F10就進入調試界面,然後點擊「調試」小窗口下面一行的Disassembly就可以看到匯編的代碼了

❷ ida pro能反匯編成c語言嗎

不能反編譯成c
不過能反編譯成非常類似c的偽碼,和源碼還是有很大差別的,不過有經驗還是可以讀懂

❸ dll文件如何反匯編成源碼,C++語言編寫

DLL 屬於可執行文件中的一類,又稱為動態鏈接庫,不能直接用DEBUG載入,一般由應用程序因使用該庫中的函數,而由操作系統在應用程序載入的同時被載入入特定地址,這個地址一般是DLL在鏈接時指定的。當DLL被載入到運行空間,根據輸出函數表,可以得到各個函數的入口地址,然後用DEBUG在各個入口下斷點,調用該函數時DEBUG將跟蹤進入該函數,從而實現反匯編。
反匯編屬於逆向工程,逆向工程的主要手段有兩大類,其中一類是動態分析,另一類是靜態分析。
前面提到的方法屬於動態分析,由DEBUG實現反匯編,該方法不容易得到完整的代碼,一般只能形成一段一段獨立分散的代碼,同時由於DEBUG的局限性,反匯編的代碼質量多不高,生成的代碼不能直接使用,原因在於DLL在載入時若沒有載入到指定地址空間,操作系統將對代碼進行重定向,所以DEBUG只能得到重定向後的代碼,這類代碼必須修改每一個重定向點,才能形成可執行代碼。作為WINDOWS32位操作系統, OLLYDBG是最為優秀的調試、跟蹤、反匯編工具,多窗口運行,可以方便的通過窗口操作完成各類動作,而不需要像一般DEBUG那樣由命令行來完成,OLLYDBG還有許多一般調試器不具備的功能,同時由於每一代高手不斷的修改,使其具有多種功能,同時帶來的就是混亂,誰也不知道有多少版本,誰也不清楚每個版本到底增加了什麼功能,但就這樣,也是瑕不掩疵, OLLYDBG任然是DEBUG中最強大,最好使用的。
靜態分析和動態分析不同,靜態分析直接打開原程序,載入而不運行,然後直接分析載入的代碼。目前靜態分析工具,最強大的當屬IDA,IDA支持幾乎所有種類的匯編語言。
IDA載入應用程序有許多選項,可以選擇完整的載入整個程序,也可以選擇載入程序的某個塊,一般可選擇的是否載入文件頭、資源表、輸入表、輸出表等等。
IDA還支持調試,也就是說,當你在進行反匯編過程時,可以直接使用IDA來調試跟蹤,以分析代碼的動態執行情況,不過就動態跟蹤來說,OLLYDBG更為強大。
IDA反匯編的正確率和代碼的復雜程度有關,對於正規開發的代碼,尤其是如果能夠獲得源程序的調試文件,即所謂的PDB文件,IDA可以讀取PDB文件中的信息,使得反匯編的效率和准確度大為提高,生成的代碼甚至比源代碼易讀。IDA將反匯編生成的結果存入IDB文件中。當你確認反匯編的結果達到你的要求,可以讓IDA輸出匯編源代碼,IDA也提供其他格式的輸出,例如HTML文件,便於用戶閱讀。樓主主要是用於分析DLL文件,一般來說這類文件更適合做靜態分析,所以推薦使用IDA來進行。
IDA對於分析那些加殼或含有大量花指令、混淆代碼、垃圾代碼的程序,反匯編的正確率會大為下降,因為IDA無法正確的確認當期位置上的數值是屬於代碼,還是屬於數據,是普通C字元,還是DELPHI的字元串,還是UNICODE字元串,是結構數據還是數組還是類表(DELPHI生成的代碼中含有大量的類表)等等。遇到這種情況,就需要使用者掌握許多技巧,例如可以通過使用者對當前數據的認識,指導IDA如何處理當前的數據。對於大批量的,具有某些規律的數據,IDA還提供了腳本語言(文件尾位idc),通過對腳本的執行來指導IDA如何進行反匯編。對於更為復雜的情況,例如程序是自解壓運行的,這時IDA就沒有任何能力來進行正確的分析,通常都會用OLLYDBG動態跟蹤,等程序完成自解壓後從內存中將解壓後的代碼完整的挖下來形成文件,再由IDA進行靜態分析。
對於成功進行反匯編的代碼,IDA根據代碼的入口、調用、轉移等指令,可以為使用者提供各種格式的程序的流程圖,IDA提供許多格式由用戶選擇,便於用戶理解程序的結構。

匯編語言的科學定義,其實就是介於機器碼(各種01)和高級語言(如C)之間的一種語言。你用C語言寫一段程序,其實要在機器上運行的話,機器是不懂的,要經過編譯器、匯編器編譯,變成匯編,最終再變成機器碼,機器根據這些機器碼的01可以控制硬體電路完成你程序想執行的操作。

❹ 哪位高手幫我把匯編語言程序轉換成c語言程序啊(對了是51單片機程序)

受人以魚不如受人以漁,有個工具叫做:ida,裝好插件後就可以直接反匯編為C語言,
http://www.pediy.com/tools/Disassemblers/ida/ida.htm
IDA PRO 簡稱IDA ,英文:Interactive Disassembler的縮寫。它是由HEX RAY SA 公司開發的,一家多年以來從事二進制代碼反編譯C的軟體安全公司,其公司的旗艦產品就是著名的Hex-

❺ 如何將c語言程序轉成匯編語言程序。

如果是VC則在編譯器命令行參數再加 /FA 則會生成匯編代碼。如果參數是 /FAs 則會同時將源碼和匯編代碼。
/FA 程序集代碼;.asm
/FAc 機器碼和程序集代碼;.cod
/FAs 源代碼和程序集代碼;.asm
/FAcs 機器碼、源代碼和程序集碼;.cod

/Fa的用法

/Fa 為編譯中的每個源代碼文件創建一個源文件.asm。
/Fa文件名 將文件名.asm 放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa文件名.擴展名 將文件名.擴展名放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\ 為編譯中的每個源代碼文件創建一個源文件.asm,並將其放到指定目錄中。請注意必須有後綴反斜杠。只允許使用當前磁碟上的路徑。
/Fa目錄\文件名 將文件名.asm 放到指定目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\文件名.擴展名 將文件名.擴展名放到指定目錄中。僅在編譯單個源代碼文件時有效。

如果你是用gcc 或 g++編譯器,如dev c++則加入命令行參數 -S 即可

❻ CC1100匯編的代碼怎麼寫啊

受人以魚不如受人以漁,有個工具叫做:ida,裝好插件後就可以直接反匯編為C語言,
IDA
PRO
簡稱IDA
,英文:Interactive
Disassembler的縮寫。它是由HEX
RAY
SA
公司開發的,一家多年以來從事二進制代碼反編譯C的軟體安全公司,其公司的旗艦產品就是著名的Hex-

❼ ida pro生成類c語言代碼的怎麼操作

就是偽代碼,也就是就是用常規語言或文字元號(即非編程語言寫的)代碼演算法,叫偽代碼 只是為了直觀的表達出演算法,才用偽代碼,還有相應的偽代碼語言等,這些代碼無法運行,只有通過按照偽代碼所表達的演算法或操作,編好程序,才能運行.

❽ 如何查看DLL中的函數原型

主要工具有三個
1、VC自帶的 mpbin,用法如:mpbin /exports mspft80.dll
2、可以depends來查看依賴項
3、可以用IDA反匯編工具來查看,載入你需要的dll,按F5就可以查看函數反匯編成C語言的代碼了
註:以上方法也可以用來查看exe中的函數原型

❾ C語言寫的程序 怎麼反匯編成匯編語言

在keilc中,單片機的C語言程序可以再DEBUG模式中得到對應的匯編程序。步驟如下:

1、建立工程,導入C文件代碼,編譯生成hex文件。

3、點擊View--Disassembly Window調出匯編窗口,如上圖。

通過以上步驟就可以看到與C對應的匯編程序了。

❿ 我是反匯編出來了asm怎麼轉C語言啊 高手幫幫忙好嗎 誰能幫我重新寫好嗎

建議:
1、如果你有實力,則可以自己寫一下,或者直接把一些代碼__asm關鍵字,內聯到C代碼中。這比較適合演算法分析的。
2、可以使用IDA5.5及以上的版本來反匯編,發現匯編代碼,可以直接F5 鍵,生成C語言的偽代碼。 這個是IDA的強項哦。