- UID
- 69065
注册时间2010-7-17
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 怒 前天 08:57 |
---|
签到天数: 1021 天 [LV.10]以坛为家III
|
发表于 2017-11-24 12:31:17
|
显示全部楼层
麻烦问下超版,
<1>
系统有一个DLL默认加载列表,各系统不同。
虽然各系统不同,但是加载的顺序第一个就是当前目录下的DLL吧。
<2>
各系统同模块的导出表可能不同,需要分区去编译生成。
WIN7 64位下sysWOW64文件夹下的32位的LPK
#pragma comment(linker, "/EXPORT:LpkTabbedTextOut=_AheadLib_LpkTabbedTextOut,@1")
#pragma comment(linker, "/EXPORT:LpkDllInitialize=_AheadLib_LpkDllInitialize,@2")
#pragma comment(linker, "/EXPORT:LpkDrawTextEx=_AheadLib_LpkDrawTextEx,@3")
#pragma comment(linker, "/EXPORT:LpkEditControl=_AheadLib_LpkEditControl,@4")
#pragma comment(linker, "/EXPORT:LpkExtTextOut=_AheadLib_LpkExtTextOut,@5")
#pragma comment(linker, "/EXPORT:LpkGetCharacterPlacement=_AheadLib_LpkGetCharacterPlacement,@6")
#pragma comment(linker, "/EXPORT:LpkGetTextExtentExPoint=_AheadLib_LpkGetTextExtentExPoint,@7")
#pragma comment(linker, "/EXPORT:LpkInitialize=_AheadLib_LpkInitialize,@8")
#pragma comment(linker, "/EXPORT:LpkPSMTextOut=_AheadLib_LpkPSMTextOut,@9")
#pragma comment(linker, "/EXPORT:LpkUseGDIWidthCache=_AheadLib_LpkUseGDIWidthCache,@10")
#pragma comment(linker, "/EXPORT:ftsWordBreak=_AheadLib_ftsWordBreak,@11")
xp下system32下的32位LPK
#pragma comment(linker, "/EXPORT:LpkInitialize=_AheadLib_LpkInitialize,@1")
#pragma comment(linker, "/EXPORT:LpkTabbedTextOut=_AheadLib_LpkTabbedTextOut,@2")
#pragma comment(linker, "/EXPORT:LpkDllInitialize=_AheadLib_LpkDllInitialize,@3")
#pragma comment(linker, "/EXPORT:LpkDrawTextEx=_AheadLib_LpkDrawTextEx,@4")
#pragma comment(linker, "/EXPORT:LpkEditControl=_AheadLib_LpkEditControl,@5")
#pragma comment(linker, "/EXPORT:LpkExtTextOut=_AheadLib_LpkExtTextOut,@6")
#pragma comment(linker, "/EXPORT:LpkGetCharacterPlacement=_AheadLib_LpkGetCharacterPlacement,@7")
#pragma comment(linker, "/EXPORT:LpkGetTextExtentExPoint=_AheadLib_LpkGetTextExtentExPoint,@8")
#pragma comment(linker, "/EXPORT:LpkPSMTextOut=_AheadLib_LpkPSMTextOut,@9")
#pragma comment(linker, "/EXPORT:LpkUseGDIWidthCache=_AheadLib_LpkUseGDIWidthCache,@10")
#pragma comment(linker, "/EXPORT:ftsWordBreak=_AheadLib_ftsWordBreak,@11")
@1,@8序号导出的函数就不一样,
估计WIN7 64上,sysWOW64文件夹下的msimg32.dll和XP上的msimg32.dll,导出函数也不一样,
如果对一个32位的程序做补丁劫持,而这个msimg32.dll要在WIN7 64和XP上都能劫持,,
按您所说,需要生成两份劫持补丁吗?论坛飘老大的劫持补丁神器,在生成msimg32劫持的时候,
就生成了一份msimg32.dll,这个就能在XP下和WIN7上都能劫持成功,它不可能智能判断是
WIN7还是XP吧。
望超版解惑,谢谢。
|
|