gdb檢視記憶體中所有的資訊

2022-04-13 21:22:08 字數 1006 閱讀 8058

他們會把做核心的人當成無所不能的,認為你們對反編譯啥的都應該會。

俗話說的好,人要活成別人想要的樣子嘛:

看下如何停止程序,讓大家看到記憶體中到底是啥樣子;

簡單的print globala當然能輸出來變數globala的位址以及這個位址中的值,但是如果這裡是乙個鍊錶,能通過程式設計的方法把這裡的數值給dump出來麼,直接就dump函式麼,兩個思路吧,要麼是**中自己寫乙個函式供呼叫,要麼是我自己寫乙個外掛程式去呼叫。

第一種方法:

第一種方法可以,借助gdb的call 功能,就能讓程式去執行特定的調測函式,測試程式:call shownode(root)就可以了

第二種方法:gdb能不能開乙個外觀呢?gdb自己寫函式去呼叫

還是先從最簡單的動態庫開始,我先在動態庫中作函式

#include

int max(int a, int b)

int min(int a, int b)

------->

000000000000070c :

70c:    55                           push   %rbp

70d:    48 89 e5                 mov    %rsp,%rbp

710:    48 8d 3d 12 00 00 00     lea    0x12(%rip),%rdi        # 729 <_fini+0x9>

717:    e8 a4 fe ff ff           callq  5c0

71c:    90                       nop

71d:    5d                       pop    %rbp

71e:    c3                       retq   

編譯其看到這裡的5c0會咋整?

內容很多,下面一篇詳細介紹吧

檢視域中所有的使用者

前言 我們在新增域使用者時,有時會有使用者沒有新增,或者已新增的使用者名稱拼寫錯誤。這時,我們想查一下目前域中所有的使用者,使用如下命令。net user domain 其他一些命令 查詢域管理員使用者 net group domain admins domain 查詢域使用者 net user d...

檢視oracle中所有使用者資訊

以下不知道從哪抄的內容,分享給大家。1.檢視所有使用者 select from dba users select from all users select from user users 2.檢視使用者或角色系統許可權 直接賦值給使用者或角色的系統許可權 select from dba sys p...

C 中所有的符號

算術運算子 加 x y z 減 x y z 乘 x y z 除 x y z 賦值運算子 賦值 x 10 賦值與和 x 10 等於x x 10 賦值與減 x 10 賦值與乘 x 10 賦值與除 x 10 賦值位與 x 0x02 賦值位或 x 0x02 邏輯操作符 邏輯與 if x 0xff 邏輯或 i...