msimg32.dll x64汇编劫持代码
本帖最后由 slzslz 于 2025-6-21 12:58 编辑format PE64 GUI DLL;
entry DllEntryPoint;
use64;
include 'win64a.inc';
section '.text' code readable executable;
; 淇瀵煎嚭琛ㄩ」
; 鍙傛暟: 妯″潡鍙ユ焺, 鍑芥暟鍚? 鍐欏嚭鍋忕Щ(qword 澶у皬)
macro apifix hMod,sz,fn
{
mov rdx, sz ; proc name
mov rcx, hMod ; hLib
call
mov qword, rax
};
; 鍒╃敤 VirtualProtect 淇敼鐩爣鍖哄煙涓哄彲璇诲啓鎵ц
; 淇敼瀹屽悗鍐嶆仮澶嶅叾淇濇姢銆?
; 鍙傛暟: 淇敼鍦板潃(鍦板潃鍋忕Щ), 淇濇姢闀垮害, 鍌ㄥ瓨鏃т繚鎶ょ殑鍦板潃,
; 鏁版嵁瀹藉害(byte/word/dword/qword), 鍐欏嚭鏁版嵁
macro fixCode lpAddr,len,oldProtect,dataWidth,data
{
lea rax, oldProtect
invoke VirtualProtect, lpAddr, len, PAGE_EXECUTE_READWRITE, rax
mov rax, lpAddr
mov dataWidth , data
lea rax, oldProtect
invoke VirtualProtect, lpAddr, len, dword, rax
};
; 淇瀵煎嚭鐨?API 鍦板潃
proc FixImport
local hModule:QWORD
local lpBuffer:QWORD
frame
invoke LocalAlloc, LPTR, MAX_PATH + 1
mov , rax
invoke GetSystemDirectory, rax, MAX_PATH
invoke strncat, , szTargetLibrary, MAX_PATH
invoke LoadLibrary,
mov , rax
invoke LocalFree,
apifix , szvSetDdrawflag, _vSetDdrawflag
apifix , szAlphaBlend, _AlphaBlend
apifix , szDllInitialize, _DllInitialize
apifix , szGradientFill,_GradientFill
apifix , szTransparentBlt, _TransparentBlt
endf;
ret
endp;
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
local hModule:QWORD
local oldProtect:DWORD
local lpBuffer:QWORD
cmp edx, 1
jnz skipPatch
; 妫 就算个 dll 名字?导出表都是 version 的?有点水吧?差评 PYG有你更精彩! 谢谢,收藏私一份,不错的 PYG有你更精彩! PYG有你更精彩! 学习了,多谢楼主分享 多谢楼主分享 汇编级,学习了,感谢{:handshake:} 谢谢楼主的分享。 感谢分享,看看源码,不写汇编
页:
[1]
2