2.test的乙個非常普遍的用法是用來測試一方暫存器是否為空:
test ecx, ecx
jz somewhere
如果ecx為零,設定zf零標誌為1,jz跳轉
lea是取變數的位址
lea有兩個運算元。
左邊是目的運算元,表示操作結果儲存在此,該指令目的運算元只能是8個通用暫存器之一。
右邊的是源運算元,該指令的源運算元只能是乙個儲存單元,表達儲存單元有多種定址方式。
示例:lea bx,[bx+si+0f54h]
[bx+si+0f54h]採用相對基址變址的定址方式表達儲存單元,它表示的儲存單元的有效位址是:bx內容加si內容加0f54h。這個結果被傳送到bx中。
sub_***x 位址***x處的子例程(過程/方法)
loc_***x 位址***x處的乙個指令
byte_***x 位置***x處的8位資料
unk_***x 位置***x處的大小未知的資料
.text:00401020 ; attributes: bp-based frame
.text:00401020
.text:00401020 ; int __cdecl sub_401020(char *)
.text:00401020 sub_401020 proc near ; code xref: sub_401005↑j
.text:00401020
.text:00401020 var_4c = byte ptr -4ch //ida提供的乙個摘要棧檢視,列出棧幀內被直接引用的每乙個變數,以及大小與幀指標的偏移量
.text:00401020 var_c = byte ptr -0ch // var_為區域性變數名稱的字首,後面表示變數與被儲存的幀指標之間距離
.text:00401020 var_4 = dword ptr -4
.text:00401020 arg_0 = dword ptr 8 // 函式引數名以arg_為字首,後面表示與最頂端引數之間的相對距離(十六進製制)
.text:00401020
dword 雙字 就是四個位元組ptr pointer縮寫 即指標
裡的資料是乙個位址值,這個位址指向乙個雙字型資料
比如mov eax, dword ptr [12345678] 把記憶體位址12345678中的雙字型(32位)資料賦給eax
小知識點2
find name svn exec rm rf find type d name svn xargs rm rf find type d name svn make otapackage j24 adb shell am start n 包名 類名 adb shell pm list packag...
介面知識點2
1.介面中常量的定義 public static final int num one 34 注意事項 前三個關鍵字可以省略,final定義的是不可變的量,名字盡量是用大寫,必須進行賦值。2.介面是沒有靜態 塊或者構造方法的。3.乙個類的直接父類只能有乙個,但是乙個類可以同時實現多個介面。格式為 pu...
框架知識點2
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title jquery 1.10.1.min.js script 注 jq是js封裝的乙個 庫。注 jq中相容js所有的寫法。注...