main前乾的好事

2021-06-29 08:27:50 字數 1139 閱讀 2696

全域性變數?tls?……

kernel32.basethreadinitthunk

_security_init_cookie

crt庫的__security_cookie 的值就是default_security_cookie,在win32 下被定義為 0xbb40e64e,在 win64 下被定義為 0x00002b992ddfa232

但是使用者程序的 __security_cookie 值,需進行下面的設定:

獲得 system time

與 getcurrentprocessid() 異或

與 getcurrentthreadid() 異或

與 gettickcount() 異或

與 queryperformancecounter()異或

經過一系列異或使用者的 __security_cookie 值就出來,我們大概可以猜到 default_security_cookie 這個值就是根據這樣算出來的,因此如果算出來結果還是等於 default_security_cookie 那麼就需要加上1.

security cookie 機制(2)— 初始化___security_cookie

_tmaincrtstartup

__seh_prolog4

mov esi,offset _native_startup_lock

lock cmpxchg dword ptr ds:[esi],exc

cmp dword ptr ds:__native_startup_state,esi

_amsg_exit

ds:[has_cctor]

cmp dword ptr ds:[__native_startup_state],esi

msvcr110._initterm_e

or msvcr110._initterm

cmp dword ptr ds:[__dyn_tls_init_callback],0x0

isnonwritableincurrentimage

ds:[envp]

msvcr110.___winitenv

ds:[envp]

ds:[argv]

ds:[argc]

call wmain

又是運營商幹的「好事」

真的是好事,不加引號的好事。你可能沒有注意到,用搜尋時,瀏覽器位址列裡的 http 已經成為永遠的過去時,接棒的是更安全的 https。這家中國最大的搜尋引擎,於2015年3月份做出了乙個重要的決定 全站強制啟用 https 連線。此時距離 google 做這件事,過去了1年半。無獨有偶。同年10月...

類的定義和宣告必須放在main函式前

記住 類的定義和宣告必須放在main函式前 void funtest class test 完整定義放在前面 class test 只宣告不定義 int main void funtest 正如上例所示,如果 類中只有申明類而沒有定義,則只能定義指標 test test 如果不定義類而僅僅宣告類的話...

C語言中如何在main函式開始前執行函式

在gcc中,可以使用attribute關鍵字,宣告constructor和destructor,如下 cpp view plain copy print?include attribute constructor void before main attribute destructor void ...