原创 IDA Pro(Interactive Disassembler Professional)簡介

IDA的交互能力:對變量名、數組、結構等進行定義,人爲指定編譯器類型等。 IDA支持多平臺的多種文件類型:PE,DOS、UNIX、Mac、Java、.NET等。 IDA在反編譯程序後會創建一個數據庫(一個IDB文件),一旦創建成功,再次分

原创 c++實現內存池並應用到STL容器

  內存池:      爲了節省申請小塊內存與釋放小塊內存時的開銷,可以使用內存池,開始時根據需要申請一片較大的內存,在申請小塊內存的時候從內存池中獲取,在釋放小塊內存時,將內存放回內存池 內存池中的內存塊:     塊的大小可以由內存池

原创 OllyDbg調試器-動態調試

調試方式 OD有2種調試方式選擇:   第一種是“File”->"Open"打開選擇一個未運行的程序進行調試   第二種是“File”->"attach"附加到一個正在運行的程序進行調試 調試時常用快捷鍵 F7 單步步進,遇到 call

原创 超簡C++11 線程池

線程池的作用:和內存池一樣,減少內核態與用戶態之間的切換 用C++11新特性實現的超簡版線程池: #include<thread> #include<mutex> #include<condition_variable> #includ

原创 c++內存池的實現,模仿STL

  內存池:      爲了節省申請小塊內存與釋放小塊內存時的開銷,可以使用內存池,開始時根據需要申請一片較大的內存,在申請小塊內存的時候從內存池中獲取,在釋放小塊內存時,將內存放回內存池 內存池中的內存塊:     塊的大小可以由內存池

原创 重寫STL中的vector的內存配置器

Vector在創建時接受的參數 在c++STL中,容器類vector實際上在創建時可以接收兩個參數,第一個是存儲的元素的類型,第二個是內存配置器,第二個參數有默認值,但我們可以覆蓋這個默認值,但是默認值的覆蓋需要遵守一些規則,而這些規則則