第7章 除錯StackFrame

2022-03-09 03:59:23 字數 1585 閱讀 1717

在最開始除錯的時候毫無頭緒,不知道從**找到main函式(忽略401000).

看了書上的位址之後,才能找到,現在將進入main函式前的一些特徵提取出來,以便將來除錯c++程式時使用.

首先程式斷在系統**領空-- ntdll 處:

繼續在系統領空執行:

在call ntdll.778c587f中(不太理解為何要通訊):

下乙個call esi 中,呼叫 basethreadiintthunk,啟用乙個win32 api

然後下面的呼叫都是基本執行一些程序初始化的操作:

跟進到執行這個函式,此函式在程序建立之前必會呼叫,會修改某處的**,另一種用途是用作惡意**執行,即對此函式下hook,跳轉到shellcode:

函式內部可以看到:

執行完這個函式就可以看到ntcontinue函式了,使程式執行到使用者**領空.

執行完上述函式之後,跳轉到401155:

進入第乙個函式:

call 4030dc中, getenvironmentstrings 函式,得到作業系統、處理器、螢幕顯示等與系統相關的資訊

然後跳轉到 程序使用者**中的403131,之後釋放相關環境資訊:

引數傳遞時,用到了系統變數(不知為何),傳入了引數1,以及程式實際儲存的位址的指標的引用.

裡面即是main函式

學逆向,對作業系統的核心知識還是得要有了解掌握

第7章 函式 7

7.7 類的成員函式 函式原型必須在類中定義。但是,函式體則既可以在類中也可以在類外定義。7.7.1 定義成員函式的函式體 類的所有成員都必須在類定義的花括號裡面宣告,此後,就不能再為類增加任何成員。類的成員函式必須加宣告的一般定義。類的成員函式既可以在類的定義內也可以在類的定義外定義。編譯器隱式地...

第7章 排序

第7章 排序 任何通用的排序演算法均需要nlogn次比較 7.1 預備知識 略7.2 插入排序 插入排序思想 在已排序狀態插入新元素 插入排序的最壞情形和平均情形均為n的平方 7.3 一些簡單排序演算法的下界 通過比較和交換來進行排序的演算法本質上是消除序列中的逆序數,因此求解該演算法的時間複雜度時...

第7章 矩陣

矩陣主要用來描述兩個座標系統間的關係,通過定義一種運算而將乙個座標系中的向量轉換到另乙個座標系中。注意 向量是標量的陣列,矩陣則是向量的陣列。矩陣的維度被定義為它包含了多少行和多少列。用黑體大寫字母表示矩陣,如 a,需要引用矩陣的分量時,採用下標法,常使用對應的斜體小寫字母 注意 矩陣的下標是從1 ...