導航:首頁 > 編程知識 > iL文件如何轉換成匯編程序

iL文件如何轉換成匯編程序

發布時間:2022-09-18 20:37:07

① 用Visual studio可以開發非託管代碼(即本地代碼)嗎即不是將源碼編譯為IL,而是直接編譯成為匯編。

可以、在文件->新建->項目 Visual C++ 中不選擇 CLR (託管代碼)項目就行了、其它的VC下的都是本地代碼的開發、比如MFC、ATL、Win32、常規....都行、
VS下的C#和VB(VS2003以上)都只能開發託管的代碼、

② C語言怎樣轉換成匯編語言

如果你用TC 那麼就是tcc -S -I(你的include文件夾) -L(你的lib文件夾) (你的文件)
例如,include在C:\tc\include lib在C:\tc\lib 要編譯文件hello.c
tcc -S -IC:\tc\include -LC:\tc\lib hello.c 會在當前目錄下生成一個hello.asm文件直接打開即可
(注意!!!-S -I -L 全都是大寫,區分大小寫)

如果你用gcc 那麼就是gcc -S (你的文件)
例如hello.c gcc -S hello.c
會在當前目錄下生成一個hello.S文件,直接用記事本打開不好看,最好用word打開(windows下的gcc,如果是linux直接vi hello.S 或 cat hello.S 或 less hello.S即可)
(注意!!!-S 是大寫,區分大小寫)

③ 如何將C語言代碼轉換為對應的匯編代碼

VC6.0下有兩種方法:
(1)增加參數/FA:Project->Setting...,C/C++選項卡中的Project Options中增加參數/FA,編譯後debug目錄中將會增加對應源文件的匯編文件(*.asm)。
(2)如果想查看C語句對應的匯編代碼的話,可以這樣:F11單步調試,在debug工具欄中選擇「disassembly」即可。每行C代碼下面就是對應的匯編代碼。
如果debug工具欄不見了,可在VC上方空白菜單處右鍵,選擇「debug」即可彈出debug工具欄。

例如:
C代碼程序
int main()
{
int a = 3;
int b = 4;
int c = a + b;
printf("c=%d/n", c);

return 0;
}

對應的匯編代碼程序(部分)如下:
5: int a = 3;
00401028 mov dword ptr [ebp-4],3
6: int b = 4;
0040102F mov dword ptr [ebp-8],4
7: int c = a + b;
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-8]
0040103C mov dword ptr [ebp-0Ch],eax

gcc下編譯加參數-S,如gcc a.c -S,編譯後會自動生成匯編文件a.asm。

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

問題分兩個部分答:
..................................................
第一:僅僅是需要看C語言的每一句執行與匯編語言的對照,可如下來做:
舉例:最簡單的C程序:
void main()
{
int a = 1,b = 2,c;
c = a+b;
}
在VC中輸入程序:
點擊菜單[編譯]->[開始調試]->[Step Into] 或直接按[F11]進入單步調試,
然後再點擊[調試工具欄上的 Disassembly]即顯示匯編語言對照.就可以
看到以上最簡單的C程序的對應的匯編語言.看到的情況如下:
3: int a = 1,b = 2,c;
00401028 C7 45 FC 01 00 00 00 mov dword ptr [ebp-4],1
0040102F C7 45 F8 02 00 00 00 mov dword ptr [ebp-8],2
4: c = a+b;
00401036 8B 45 FC mov eax,dword ptr [ebp-4]
00401039 03 45 F8 add eax,dword ptr [ebp-8]
0040103C 89 45 F4 mov dword ptr [ebp-0Ch],eax
...................................................
第二:
用IDA 3.74反匯編DOS下的可執行文件和WIN32的NE,PE格式的文件。
在反匯編C語言變的文件時,可以自動辨認出 C語言的庫文件。
可找到_main()函數一下子就找到了,能識別VC5.0編寫的程序,
識別MMX指令。
下載具體地址為:202.115.9.33\incoming\program\ida
大約為10兆,安裝完後,將patch.exe拷到安裝目錄下,執行一遍
即可去掉64k內存的限制。

⑤ 關於DLL與IL的轉換

反編譯的一般只是看看,能再次編譯成功挺困難的,你可以轉成C#,這樣方便讀,有錯誤可以手動改。

⑥ 怎樣將C語言語句轉換成匯編指 用什麼軟體或有沒有相關的書籍

你可以像他們說的那樣,用反編譯工具對目標程序進行反編譯,好處是直接針對目標,而且無須源碼,當然咯,壞處就是你看到的匯編指令引用變數是直接引用的地址,所以可讀行比較差,最好的辦法也是最簡潔的辦法就是不用反編譯程序,而直接用C語言的編譯器,在幾乎所有的編譯器中都有專門的參數可以直接得到C語言對應的匯編指令,因為大部分C語言內部會有一個匯編程序,C程序先轉化為匯編再匯編成可執行程序的,所以你只許指定編譯器的生成匯編文件的參數即可,比如Gcc用參數-S指定,具體可參照相應的編譯器

⑦ 單片機程序用什麼軟體轉匯編程序

直接用proteus。

用c語言的程序,但轉換的結果不是太理想,跟反匯編差不多,需要自己去整理,其轉移的標號需要自己重新定義,轉換結果里是用行地址替代的。

先將匯編語言編譯成HEX或BIN文件,再通過相應的下載手段把文件下載進去,編譯的話比如WAVE軟體就可以,很多的,下載的話要看什麼型號的單片機了,有些支持在線ISP下載,那麼電腦裝個軟體,通過232串口連接到板子上,就可以了,有些呢,是需要買專門的燒寫器的。

簡單匯編程序

簡單匯編程序 又稱「裝入並執行」式匯編程序。由於簡便而得到廣泛使用。這種匯編程序的特點是匯編後的機器語言程序直接放在內存之中准備執行。目標程序所佔據的存儲位置是在匯編時固定的,並且以後不能改變,所以這種工作方式不能將多個獨立匯編的子程序合並為一個完整的程序,而且只能調用位置與目標程序不沖突的程序庫中的子程序。

以上內容參考:網路-匯編程序

閱讀全文

與iL文件如何轉換成匯編程序相關的資料

熱點內容
哪個文件存在最安全 瀏覽:199
淘寶導航欄分割線代碼 瀏覽:271
win10開不了機按f8沒用 瀏覽:12
河南營銷網站推廣多少錢 瀏覽:135
華為暢享6手機文件管理 瀏覽:939
linux驅動環境 瀏覽:893
ae用什麼打開文件 瀏覽:877
湖南嶽陽大數據中心 瀏覽:710
DSP大數據公司 瀏覽:510
win10檢測不到u盤啟動 瀏覽:941
電腦文件怎麼重命名文件 瀏覽:507
哪個協議用來傳輸文件協議 瀏覽:61
ce改股票教程 瀏覽:513
如何做一個數據統計資料庫 瀏覽:181
手機內存書旗小說是哪個文件夾 瀏覽:879
蘋果6plus怎麼能拍照片更快 瀏覽:55
同步步進電機如何編程 瀏覽:341
手機自動刪文件 瀏覽:565
南京市婦幼app如何查看體檢報告 瀏覽:603
術士新版本平民卡組 瀏覽:236

友情鏈接