文章** http://www.mcany.cn/article/289.htm
博主 沒落的殘陽
這節來學習下not求反指令和xor異或指令。這兩個指令以後用的也很廣泛,而且很多人都對這
個不是很了解。
not指令就是取反,那麼16進製取反我在上上節課在講解求數值的補碼的時候已經說過了。。
16進製制數值取反是用15-相應16進製制數值相應位。舉個例子
00403020h 取反 = ffbfcfdfh
15-0=f
15-0=f
15-4=b
15-0=f
15-3=c
15-0=f
15-2=d
15-0=f
就是用15減去相應的16進製制數值的相應位,大家是否想起來在上上節課時候我講解的取補碼的那節課程,取
補碼是取反後+1。
那麼not 指令也就是相應的取反。
假如此時eax = 00403020h
執行not eax後
eax = ffbfcfdfh
一般的格式 not 暫存器/記憶體單元
很簡單吧。
那麼我們來看下xor 異或語句,在上節免殺課程上,講解的「巧用演算法加密特徵碼」,就是簡單
的利用了異或演算法。。
xor 就是相同為0, 相異為 1。
舉例 al = 00001010b
執行 xor al, 11111111b後
al = 11110101b
那麼此時我們在將al的結果在同11111111b進行一次異或就可以取得之前的值。
al = 11110101b
xor al,11111111b
執行後
al = 00001010b
因為異或指令的這種特性,所以使有時候我們可以用它來加密一些資訊。
linux基礎學習14
14.linux中裝置的訪問 1.裝置訪問 1.裝置識別 dev xdxn 硬碟裝置 dev sda1 dev cdrom 光碟機 dev mapper 虛擬裝置 2.裝置的使用 fdisk l 檢視真實存在的裝置 cat proc partitions 系統能夠識別的裝置 blkid 系統能夠掛載...
彙編基礎學習5
文章 http www.mcany.cn article 280.htm 博主 沒落的殘陽 今天我給大家來講解下我們記憶體中資料的儲存以及訪問。這節課的基礎也是非常重要的。因為80386的資料位址線是32根,所以它一次可以傳送資料是4個位元組。所以我們記憶體單元是按照4個位元組來對齊的。用高階語言的...
彙編基礎學習7
博主 沒落的殘陽 這節來講解一下棧的延伸,堆疊 算是把昨天的整個理論基礎概念,給大家講解下。執行時棧 runtime stack 我們通常稱為 堆疊 這是由我們cpu硬體直接支援的,也是實現過程的呼叫和過程返回機制的基本組成部分。不知道大家是否知道rtl是什麼意思。如果學過程式的人都應該知道這個就是...