易语言usp10劫持源码
系统结构:Dll入口函数,安装HOOK,卸载HOOK,初始化USP10,释放USP10,LpkPresent,ScriptApplyDigitSubstitution,ScriptApplyLogicalWidth,ScriptBreak,ScriptCPtoX,ScriptCacheGetHeight,ScriptFreeCache,ScriptGetCMap,ScriptGetFontProperties,ScriptGetGlyphABCWidth,ScriptGetLogicalWidths,ScriptGetProperties,ScriptIsComplex,ScriptItemize,ScriptJustify,ScriptLayout,ScriptPlace,ScriptRecordDigitSubstitution,ScriptShape,ScriptStringAnalyse,ScriptStringCPtoX,ScriptStringFree,ScriptStringGetLogicalWidths,ScriptStringGetOrder,ScriptStringOut,ScriptStringValidate,ScriptStringXtoCP,ScriptString_pLogAttr,ScriptString_pSize,ScriptString_pcOutChars,ScriptTextOut,ScriptXtoCP,UspAllocCache,UspAllocTemp,UspFreeMem,InLineHook_InStall,InLineHook_UnInStall,Jmp,LoadLibrary,FreeLibrary,GetProcAddress,VirtualAlloc,VirtualFree,RtlMoveMemory,RtlMoveMemory_写字节,RtlMoveMemory_读整数,RtlMoveMemory_写整数,VirtualProtect,GetModuleHandle,lstrlen,MultiByteToWideChar,WideCharToMultiByte,
======程序集
| |
| |------ _启动子程序
| |
| |------ Dll入口函数
| |
| |------ 安装HOOK
| |
| |------ 卸载HOOK
| |
| |
======USP10
| |
| |------ 初始化USP10
| |
| |------ 释放USP10
| |
| |------ LpkPresent
| |
| |------ ScriptApplyDigitSubstitution
| |
| |------ ScriptApplyLogicalWidth
| |
| |------ ScriptBreak
| |
| |------ ScriptCPtoX
| |
| |------ ScriptCacheGetHeight
| |
| |------ ScriptFreeCache
| |
| |------ ScriptGetCMap
| |
| |------ ScriptGetFontProperties
| |
| |------ ScriptGetGlyphABCWidth
| |
| |------ ScriptGetLogicalWidths
| |
| |------ ScriptGetProperties
| |
| |------ ScriptIsComplex
| |
| |------ ScriptItemize
| |
| |------ ScriptJustify
| |
| |------ ScriptLayout
| |
| |------ ScriptPlace
| |
| |------ ScriptRecordDigitSubstitution
| |
| |------ ScriptShape
| |
| |------ ScriptStringAnalyse
| |
| |------ ScriptStringCPtoX
| |
| |------ ScriptStringFree
| |
| |------ ScriptStringGetLogicalWidths
| |
| |------ ScriptStringGetOrder
| |
| |------ ScriptStringOut
| |
| |------ ScriptStringValidate
| |
| |------ ScriptStringXtoCP
| |
| |------ ScriptString_pLogAttr
| |
| |------ ScriptString_pSize
| |
| |------ ScriptString_pcOutChars
| |
| |------ ScriptTextOut
| |
| |------ ScriptXtoCP
| |
| |------ UspAllocCache
| |
| |------ UspAllocTemp
| |
| |------ UspFreeMem
| |
| |
======HOOK
| |
| |------ InLineHook_InStall
| |
| |------ InLineHook_UnInStall
| |
| |
======JMP
| |
| |------ Jmp
| |
| |------ _Jmp
| |
| |
======调用的Dll
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ VirtualAlloc
| |
| |---[dll]------ VirtualFree
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ RtlMoveMemory_写字节
| |
| |---[dll]------ RtlMoveMemory_读整数
| |
| |---[dll]------ RtlMoveMemory_写整数
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ lstrlen
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ WideCharToMultiByte
调用的DLL命令:
.DLL命令 LoadLibrary, 整数型, "kernel32.dll", "LoadLibraryA"
.参数 lpLibFileName, 文本型
.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary"
.参数 hLibModule, 整数型
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 VirtualAlloc, 整数型, "kernel32.dll", "VirtualAlloc"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 VirtualFree, 逻辑型, "kernel32.dll", "VirtualFree"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 dwFreeType, 整数型
.DLL命令 RtlMoveMemory, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_写字节, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 字节型, 传址
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_读整数, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_写整数, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型, 传址
.参数 Length, 整数型
.DLL命令 VirtualProtect, 逻辑型, "kernel32.dll", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 GetModuleHandle, 整数型, "kernel32.dll", "GetModuleHandleA"
.参数 lpModuleName, 文本型
.DLL命令 lstrlen, 整数型, "kernel32.dll", "lstrlenW"
.参数 lpstr, 整数型
.DLL命令 MultiByteToWideChar, 整数型, "kernel32.dll", "MultiByteToWideChar", , 将多媒体字符串映像为通配字符串
.参数 代码页, 整数型
.参数 标志, 整数型
.参数 双字节文本, 文本型
.参数 双字节文本长度, 整数型
.参数 宽字符文本, 字节集
.参数 宽字符文本长度, 整数型
.DLL命令 WideCharToMultiByte, 整数型, "kernel32.dll", "WideCharToMultiByte", , 将通配符映像为多字节
.参数 代码页, 整数型, , cp_开头常量
.参数 标志, 整数型, , 512
.参数 宽字符文本, 字节集, , 字节集
.参数 宽字符文本长度, 整数型
.参数 双字节文本, 文本型, , 字节集
.参数 双字节文本长度, 整数型
.参数 默认文本, 整数型
.参数 使用默认文本, 整数型, , 逻辑
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。