當前位置:編程學習大全網 - 源碼下載 - pc微信hook原理

pc微信hook原理

Pc微信HOOK的完成大概分成兩部分

內存HOOK

內存Call調用

內存HOOK的簡單介紹

Hook又被簡稱為鉤子 是在軟件沒有在調用改函數的之前 就先捕獲HOOK到該消息 並跳到我們寫的執行函數裏執行流程操作.

內存Call

CALL是匯編中的壹個指令,CPU執行這條指令會執行2個動作 壹:壓入EIP入棧 二:跳轉到後面的地址. 跟RETN指令配合就實現了匯編中子程序的作用,通常我們常說的寫CALL就是 調用遊戲中已經存在的功能子程序.

比如說

viod myadd (int a, int b)

{

int c=a+b;

}

這是壹個簡單的子程序,當我們用程序語言調用那麽就是 myadd(5,4);

而在匯編裏則是

push 4

push 5

call myadd

編譯好的程序不會存在什麽函數變量和子程序. 只有1和0 . 所以編譯器會給myadd 分配壹個地址.在反匯編裏就是

push 4

push 5

call ********

CALL ******* 並不單單就是子程序的調用,他還可以調用 函數 API.

如函數 send

send(

socket;

buf;

len;

flags;

)

在匯編裏調用就是

push flags

push len

push buf

push socket

call send

參數在反匯編裏表現形式.

在匯編或反匯編裏參數都是壓入堆棧來供CALL調用的.而CALL以[ESP+*]的形式讀取參數.

如:

viod myadd(int a,int b)

{

int c=a+b

}

myadd(4,5);

在反匯編參數 4 和參數 5 在反匯編裏的實現形式是

push 5

push 4

call ********

探討交流請加 var qq = '2974520784';

  • 上一篇:Sockit源代碼
  • 下一篇:瓜子的源代碼
  • copyright 2024編程學習大全網