反彙編 函式指標

2022-03-13 22:48:04 字數 1135 閱讀 2958

函式指標的定義:

返回型別 (呼叫約定 *變數名)(引數列表);

例如:int (_cdecl *myfun)(int,int);

一般都用來呼叫非本身程式提供的函式來進行使用

**如下:

#includeint main()
反彙編如下:

5:        int (_cdecl *myfun)(int,int);

6:7: int i=10;

00401028 mov dword ptr [ebp-8],0ah //將當前的i變數的位址賦值給ebp-8指向的位址中

8:9: myfun = (int (__cdecl *)(int,int))&i;

0040102f lea eax,[ebp-8] //將當前定義好的函式指標的位址賦值給eax

00401032 mov dword ptr [ebp-4],eax // eax放到堆疊中 ebp-4的位置

10:11: myfun(1,2);

00401035 mov esi,esp //將當前棧頂的位址賦值給esi

00401037 push 2 //壓入堆疊 0x2

00401039 push 1 //壓入堆疊 0x1

0040103b call dword ptr [ebp-4] // 將當前位址+指令長度的值壓入堆疊,然後將函式指標指向位址中的值進行呼叫,eip改變

反彙編windows htonl 函式

因為自己在系統核心寫網路程式有時候需要呼叫htons htonl 這樣的函式進行轉換,但由於核心只能呼叫c執行庫,別的api不能呼叫。自己也接觸過一點彙編,從來沒有去學過。看過老碼識途這本書前幾章,如是自己反編譯試了一下,結果自己還真反出來,對於懂彙編的人確實非常容易。ulong myhtonl u...

跟據函式指標呼叫函式的反彙編

不說廢話,上來高階語言c 的源 int tmain int argc,tchar argv for int i 0 i 3 i 反彙編之後如下 text 004010a0 int cdecl wmain int argc,wchar t argv text 004010a0 wmain proc n...

C 遞迴函式反彙編

源 include using namespace std int sumrecursion int arr,int n return 0 int main int sum sumrecursion arr,5 cout sum sum endl 反彙編 重要部分已經注釋,可以看到.text 004...