反彙編指令與彙編指令的區別,反彙編與彙編一樣嗎?有什麼不同?

時間 2022-08-02 03:15:09

1樓:文刀舍予

你說的是類似下面這樣的吧?

0b4a:0100 5b pop bx

0b4a:0101 91 xchg cx,ax

0b4a:0102 26 es:

0b4a:0103 8b1d mov bx,[di]

0b4a:0105 8d365f91 lea si,[915f]

0b4a:0109 2e cs:

0b4a:010a 803c2f cmp byte ptr [si],2f

0b4a:010d 7436 jz 0145

0101a55f > $ 8bff mov edi,edi

0101a561 . 55 push ebp

0101a562 . 8bec mov ebp,esp

0101a564 . 83ec 44 sub esp,44

0101a567 . 56 push esi

0101a568 . 57 push edi

0101a569 . 6a 10 push 10

*********************************************

前面的十六進位制數表示的是指令的機器碼,沒有必要刻意的去記憶這些機器碼的.機器碼非常不好記憶和閱讀的,組合語言的出現就是為了解決機器碼難記憶,難識別的問題的

*********************************************

有的時候是需要看的,不然沒用的話顯示它有什麼用啊,有一句名言說的不是很好麼:存在即合理

不過初學者一般不用看,但初學者研究研究機器碼也不是件壞事

2樓:匿名使用者

基本上是一樣的,不過你王爽的書才看一半多很多指令還不懂,現在看不懂很正常,還有王爽的書只是入門而已,要更多的還要趣學別的書

反彙編與彙編一樣嗎?有什麼不同?

3樓:匿名使用者

彙編是最基礎的計算機程式語言,用作動詞時就是說用組合語言寫成的程式**經過編譯連線之後生成可執行程式的過程。而反彙編就是這個過程的逆過程,一般是針對商業軟體或病毒等不知道源程式是如何書寫的程式,經過反彙編,將由機器碼(即一條條01組成的指令)方向翻譯為彙編指令,這樣一定程度上可以讓人們理解認識程式的編寫方式,使用的演算法特點等,但是針對反彙編,有許多方法可以加大反彙編的難度,比如說在程式中加殼,使用大量跳轉等

4樓:匿名使用者

彙編是一種程式語言,反彙編是將機器碼轉換為組合語言。這樣就可以分析程式作者的程式設計思路等等,應該是這樣吧!一起討論吧?[email protected]

5樓:王只有

不一樣,是反過程和過程的關係

彙編指令和偽指令之間的區別是什麼?

6樓:匿名使用者

微控制器中指令是對應cpu的可執行**,在編譯時會分配儲存單元,執行時cpu按指令指引的方向和功能執行。偽指令是不可執行**,一般起輔助作用,是為編譯系統服務的,編譯時不會分配儲存單元,只是按偽指令的功能定位程式資料或指令位置。

7樓:匿名使用者

上面說的再明白不過了 頂~~

反彙編與逆向程式設計的區別

8樓:匿名使用者

反彙編僅僅是使用一些反彙編軟體把程式從機器碼翻譯成彙編語句,而逆向程式設計不僅要做完反彙編的工作,還要在此基礎上徹底理解這些彙編**是什麼意思,準確的說是這些**能夠實現什麼功能,然後用自己熟悉的語言寫出功能相似(不可能和原作者的**完全相同)的**或軟體

9樓:匿名使用者

.你應該指的是軟體程式的逆向和web安全裡的滲透測試方向。這不用問肯定是逆向更好就業。

我們本身就是做這方面培訓的,叫飛鬱網路,對這方面比較瞭解。針對這兩個方向給你分析一下:

1、逆向更偏重於技術,逆向在學習的過程中需要涉及程式語言,安全知識,windows原理方方面面,工具使用,核心操作分析等眾多方面。是一個技術含量,入門門檻都很高的技術崗位。而web安全主要方向是滲透測試,前端漏洞挖掘。

它側重的是工具指令碼的使用。對個人的思維和手段能力要求較高,對技術的要求性不高。

2、逆向能涉及到系統的底層、原理層方面的知識。web安全更多的是表層,應用層。你衡量一下哪一個含金量更高。工作的含金量直接體現在未來的發展和薪資待遇上。

3、全國的web安全人員眾多,水平也參差不齊,圈層略顯浮躁。而逆向人員僅數以千計(這不包括在民間的高手,只統計在職崗位)。在人才的供需上看,你覺得哪一個更有前景,浮躁只是暫時的,真才實用才能穩紮穩打。

4、安全的趨勢在向技術方面推進,現在的web安全,也不像前幾年了。這幾年用人單位對web安全人員的不僅需要你能做基本的工作,還要你能分析它,歸納總結他。而這也要依託於技術問題。

web安全的侷限性可見一斑。

所以就當下來說選逆向更靠譜一些,當然還有一種更靠譜的狀態就是web安全,逆向一起耍。

10樓:匿名使用者

我勸你去找飛鬱的課程

組合語言和反彙編的區別

11樓:好程式設計師

反彙編是分析已經有的程式的過程。

就是看這些程式的彙編**,看看這些程式是怎麼執行的。

因為是逆向過程,所以加了反字。

什麼是彙編與反彙編,具體用途在於什麼?

12樓:匿名使用者

組合語言(assembly language)是面向機器的程式設計語言。

通常,編寫程式是利用高階語言如c,pascal等語言進行程式設計的,後再經過編譯程式生成可以 被計算機系統 直接執行的執行檔案。反彙編即是指將這些執行檔案反編譯還原成 組合語言或其他 高階語言。但通常反編譯出來的程式與原程式會存在許多不同,雖然執行效果相同,但程式** 會發生很大的變化,非程式設計高手很難讀懂。

另外,有許多程式也可以 進行逆向操作即 反編譯 以求修改,例如flash的檔案生成的swf檔案,也可以被反彙編成flash原碼,但會發現與原程式有很大變化。

反彙編可以通過反彙編的一些軟體實現吧,好象debug也能反彙編的 debug 檔案位置 -u,這樣好象就能實現了吧...

彙編與反彙編

13樓:匿名使用者

可以的,但是反編譯的效果最常見的就是反編譯成組合語言,但是說你寫一個c的程式已經編譯程.exe檔案了,然後又想用工具對.exe檔案進行反編譯,那麼就只能反編譯到組合語言的狀態,不可能反編譯到c的狀態,雖然現在網上有些人能反彙編成c,但是效果也不好,有很多的錯誤。

編譯的過程是不可逆的,就好像你把豬殺了做成香腸,然後你又想把想把香腸變成豬一樣。最多能把香腸又變成肉末,變成豬你聽過嗎?道理就這樣

14樓:匿名使用者

最初人們使用二進位制機器語言寫程式以直接控制機器,但不方便,於是發明的組合語言。組合語言就是用助記符和地址標號來代替原來的二進位制機器語言,減少的記憶和計算(地址可由編譯程式計算),但仍有一一對應的特點,所以機器語言可以反彙編到組合語言。高階語言的編譯過程則是不可逆的,因為同樣一組機器語言可能對應著無數種高階源程式,又高階源**更接近自然語言,遠離機器語言,也可能因為編譯程式作過優化,更無法反編譯成高階源**。

就像tangqiyang008所說的殺豬一樣。

15樓:匿名使用者

編譯 把組合語言或其他高階語言翻譯成2進位制**..

反編譯就是反彙編,,把2進位制**翻譯成組合語言或其他高階語言

16樓:匿名使用者

一 樓的關於 香腸和豬的比喻太精妙!

17樓:匿名使用者

機器語言可以反彙編成組合語言,並且可以翻譯的很精確網上有很多類似的軟體,需要的話,我可以給你,qq313206852

組合語言原程式 ,彙編程式,程式的彙編三者有什麼區別?????

18樓:鬆語夢

組合語言源程式:將可執行檔案機器碼反彙編得到的彙編** 會得到一大堆簡單的 難懂的 組合語言指令

彙編程式:用組合語言編寫的程式

程式的彙編:指將高階語言編譯連線生成機器可以直接執行的**的過程

19樓:匿名使用者

組合語言源程式:將可執行檔案機器碼反彙編得到的彙編**。

彙編程式:用組合語言編寫的程式。

程式的彙編:將高階語言或者組合語言編寫的源程式連線生成機器可執行的機器語言的過程。

微控制器組合語言中,指令和偽指令有何區別?

20樓:匿名使用者

微控制器中指令是對應cpu的可執行**,在編譯時會分配儲存單元,執行時cpu按指令指引的方向和功能執行。偽指令是不可執行**,一般起輔助作用,是為編譯系統服務的,編譯時不會分配儲存單元,只是按偽指令的功能定位程式資料或指令位置。

21樓:

指令有對應的機器碼,直接指揮cpu幹活;偽指令沒有對應的機器碼,只是指示編譯器的編譯過程,編譯完成後在目標**(機器碼)中是沒有痕跡的。大多數偽指令只是為了寫程式方便和可讀性強而設定的,偽指令僅和編譯器有關,在cpu的指令系統中是沒有定義的。

22樓:做而論道

以前回答過:

23樓:匿名使用者

[指令語句]

每一條指令語句在源程式彙編時都要產生可供計算機執行的指令**(即目標**),所以這種語句又叫可執行語句。每一條指令語句表示計算機具有的一個基本能力,如資料傳送,兩數相加或相減,移位等,而這種能力是在目標程式(指令**的有序集合)執行時完成的,是依賴於汁算機內的**處理器(cpu)、儲存器、i/o介面等硬體裝置來實現的。

[偽指令語句]

偽指令語句是用於指示彙編程式如何彙編源程式,所以這種語句又叫命令語句。例如源程式中的偽指令語句告訴彙編程式:該源程式如何分段,有哪些邏輯段在程式段中哪些是當前段,它們分別由哪個段暫存器指向;定義了哪些資料,儲存單元是如何分配的等等。

偽指令語句除定義的具體資料要生成目標**外,其他均沒有對應的目標**。偽指令語句的這些命令功能是由彙編程式在彙編源程式時,通過執行一段程式來完成的,而不是在執行目標程式時實現的。

組合語言和反彙編的區別,學習組合語言有什麼好處

反彙編是分析已經有的程式的過程。就是看這些程式的彙編 看看這些程式是怎麼執行的。因為是逆向過程,所以加了反字。學習組合語言有什麼好處 組合語言更解決計算機的底層,彙編源程式執行效率高。一些高階語言都是先轉成彙編然後再轉成機器語言的。瞭解彙編可以幫組更好的瞭解高階語言,設計演算法啥的。如果你要是搞硬體...

關於組合語言中的loop指令,關於組合語言中的LOOP指令

這個程式迴圈一次,是由cx存放的。cx中存放的是迴圈的次數 程式設計計算2 12 assume cs code code segment mov ax,2 mov cx,11 s add ax,ax loop s mov ax,4c00h int 21h code ends end執行loop s時...

8086組合語言題目,關於ADD,指令的

mov al,40h al 40h,標誌位保持此前的值不變 add al,al al al al 40h 40h 80h,cf 0,of 1,zf 0,sf 0 adc al,al al al al cf 80h 80h 0 cf 00h,cf 1,of 1,zf 1,sf 0 adc al,al ...