當前位置:首頁 » 操作系統 » 機器碼轉源碼

機器碼轉源碼

發布時間: 2024-11-14 18:26:43

Ⅰ PIC單片機,我有機器碼,用什麼軟體能變成匯編

所謂的機器碼應該就是二進制文件吧?MPLAB IDE 可以進行反匯編(相信它也是最准確最全的PIC反編譯工具)。具體步驟如下: 1.啟動MPLAB IDE 執行Configure菜單下的Select Device選擇好晶元. 2. File菜單下Import導入要反編譯的HEX文件. 3.View菜單下Program Memory 查看程序存儲器的內容,在程序存儲器內容顯示窗口的左下角切換到Machine或Symbolic,在這個窗口上就可以看到每一個地址和HEX文件對應的ASM源程序. 「反編譯」就是察看源代碼,其實最佳的PIC「反編譯」工具就是MPLAB-IDE,也具有察看源代碼的功能。不過大家要注意,由於PIC採用分頁技術,「反編譯」後的源程序再次編譯後一般是不正確的,需要手工處理。 FILE-- IMPORT--IMPORT TO MEMORY --調入.HEX文件(你的機器碼應該是bin文件或者hex文件,都差不多了!) 然後再 WINDOW 中打開PROGRAM MEMORY窗口,就得到了源程序注意所有未用的程序段反匯編後全部成了XORLW 0FFH

Ⅱ C語言中已知機器碼如何求原碼

數值在計算機中表示形式為機器數,計算機只能識別0和1,使用的是二進制,而在日常生活中人們使用的是十進制,"正如亞里士多德早就指出的那樣,今天十進制的廣泛採用,只不過我們絕大多數人生來具有10個手指頭這個解剖學事實的結果.盡管在歷史上手指計數(5,10進制)的實踐要比二或三進制計數出現的晚."(摘自<<數學發展史>>有空大家可以看看哦~,很有意思的).為了能方便的與二進制轉換,就使用了十六進制(2 4)和八進制(23).下面進入正題. 數值有正負之分,計算機就用一個數的最高位存放符號(0為正,1為負).這就是機器數的原碼了.假設機器能處理的位數為8.即字長為1byte,原碼能表示數值的范圍為 (-127~-0 +0~127)共256個. 有了數值的表示方法就可以對數進行算術運算.但是很快就發現用帶符號位的原碼進行乘除運算時結果正確,而在加減運算的時候就出現了問題,如下: 假設字長為8bits ( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 顯然不正確. 因為在兩個整數的加法運算中是沒有問題的,於是就發現問題出現在帶符號位的負數身上,對除符號位外的其餘各位逐位取反就產生了反碼.反碼的取值空間和原碼相同且一一對應. 下面是反碼的減法運算: ( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10 (00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有問題. ( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正確 問題出現在(+0)和(-0)上,在人們的計算概念中零是沒有正負之分的.(印度人首先將零作為標記並放入運算之中,包含有零號的印度數學和十進制計數對人類文明的貢獻極大). 於是就引入了補碼概念. 負數的補碼就是對反碼加一,而正數不變,正數的原碼反碼補碼是一樣的.在補碼中用(-128)代替了(-0),所以補碼的表示範圍為: (-128~0~127)共256個. 注意:(-128)沒有相對應的原碼和反碼, (-128) = (10000000) 補碼的加減運算如下: ( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)補 + (11111111)補 = (00000000)補 = ( 0 ) 正確 ( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 補+ (11111110) 補= (11111111)補 = ( -1 ) 正確 所以補碼的設計目的是: ⑴使符號位能與有效值部分一起參加運算,從而簡化運算規則. ⑵使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計 所有這些轉換都是在計算機的最底層進行的,而在我們使用的匯編、C等其他高級語言中使用的都是原碼。

Ⅲ EXE文件怎麼反編譯

EXE文件可以通過專業的反編譯工具進行反編譯。


反編譯是將可執行文件轉換回其源代碼或高級語言代碼的過程。這一技術在軟體逆向工程、安全分析、以及在沒有源代碼的情況下進行軟體修改時非常有用。以下是反編譯EXE文件的基本步驟和注意事項:


選擇合適的反編譯工具:市面上有多種反編譯工具可供選擇,如IDA Pro、Ghidra、OllyDbg等。這些工具提供了強大的反匯編和反編譯功能,能夠將EXE文件中的機器碼轉換回更易於理解的高級語言代碼。選擇工具時,需要考慮工具的功能、支持的操作系統和文件格式、以及用戶界面等因素。


下載並安裝工具:在確定了合適的反編譯工具後,需要從官方網站或可靠的來源下載並安裝該工具。安裝過程中,請遵循安裝向導的指示進行操作。


載入EXE文件並進行分析:打開反編譯工具後,將需要反編譯的EXE文件載入工具中。工具會自動對文件進行分析,並顯示其反匯編或反編譯後的代碼。在此過程中,可能需要手動設置一些參數或選項,以獲得最佳的反編譯效果。


理解並修改代碼:反編譯生成的代碼可能並不完全等同於原始的源代碼,因為編譯器在將源代碼編譯成機器碼時進行了優化和轉換。因此,在理解反編譯後的代碼時,需要具備一定的編程知識和經驗。如果需要對代碼進行修改,請確保了解修改後的影響,並進行充分的測試。


需要注意的是,反編譯EXE文件可能涉及到法律和道德問題。在嘗試反編譯一個程序之前,請確保了解相關的知識產權法律,並避免將反編譯技術用於非法目的。此外,由於編譯器的優化和轉換,反編譯生成的代碼可能並不完全准確或完整,因此在理解和使用反編譯後的代碼時需要謹慎。

熱點內容
accesssql查詢參數查詢 發布:2024-11-22 11:03:57 瀏覽:718
華為共享密碼忘記了如何查 發布:2024-11-22 10:55:14 瀏覽:425
解壓捏星星 發布:2024-11-22 10:51:34 瀏覽:361
內存遍歷工具源碼 發布:2024-11-22 10:50:50 瀏覽:526
音量鍵凹進去怎麼修復安卓 發布:2024-11-22 10:37:45 瀏覽:542
不正確的c語言標識符是 發布:2024-11-22 10:16:01 瀏覽:108
戰術小隊什麼時候上線安卓版 發布:2024-11-22 10:11:46 瀏覽:11
甄嬛傳哪個播放器可以緩存 發布:2024-11-22 10:11:45 瀏覽:242
sql資料庫的連接方式 發布:2024-11-22 10:10:18 瀏覽:755
php轉go 發布:2024-11-22 09:49:57 瀏覽:132