易語言KMP算法內(nèi)存特征碼搜索源碼是一款易語言KMP算法實現(xiàn)內(nèi)存快速搜索特征碼源碼,KMP算法是一種改進的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同時發(fā)現(xiàn),因此人們稱它為克努特·莫里斯·普拉特操作(簡稱KMP算法)。
算法說明
KMP算法的關(guān)鍵是利用匹配失敗后的信息,盡量減少模式串與主串的匹配次數(shù)以達到快速匹配的目的。具體實現(xiàn)就是實現(xiàn)一個next()函數(shù),函數(shù)本身包含了模式串的局部匹配信息。時間復雜度O(m+n)
易語言KMP算法搜索定位內(nèi)存特征碼源碼
系統(tǒng)結(jié)構(gòu):DecimalToHex,Hex2Bin,HextoDecimal,Kmp_Search,Kmp_SearchEX,VirtualQueryEx,ReadProcessMemory_Data,wvsprintf,
======程序集1
| |
| |------ _啟動子程序
| |
| |------ DecimalToHex
| |
| |------ Hex2Bin
| |
| |------ HextoDecimal
| |
| |------ Kmp_Search
| |
| |------ Kmp_SearchEX
| |
| |
======調(diào)用的Dll
| |
| |---[dll]------ VirtualQueryEx
| |
| |---[dll]------ ReadProcessMemory_Data
| |
| |---[dll]------ wvsprintf
調(diào)用的DLL命令:
.DLL命令 VirtualQueryEx, 整數(shù)型, , "VirtualQueryEx"
.參數(shù) hProcess, 整數(shù)型
.參數(shù) lpAddress, 整數(shù)型
.參數(shù) info, MEMORY_BASIC_INFORMATION, 傳址
.參數(shù) dwLength, 整數(shù)型
.DLL命令 ReadProcessMemory_Data, 整數(shù)型, , "ReadProcessMemory"
.參數(shù) hProcess, 整數(shù)型
.參數(shù) lpBaseAddress, 整數(shù)型
.參數(shù) lpBuffer, 字節(jié)集, 傳址
.參數(shù) nSize, 整數(shù)型
.參數(shù) lpNumberOfBytesWritten, 整數(shù)型
.DLL命令 wvsprintf, 整數(shù)型, "user32.dll", "wvsprintfA", 公開
.參數(shù) lpstr, 文本型
.參數(shù) lpcstr, 文本型
.參數(shù) OptionalArguments, 長整數(shù)型, 傳址