Kelly 发表于 2016-9-20 14:50:29

易语言Hook GetLocalTime问题


请问一下虫子师傅,这种带有数据类型的API,要怎么Hook?@ 揰掵佲

揰掵佲 发表于 2016-9-20 14:50:30

.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕
.局部变量 局部_System, SYSTEMTIME

GetLocalTime (局部_System)
调试输出 (“未Hook”, 局部_System.wYear, 局部_System.wMonth, 局部_System.wDay, 局部_System.wHour, 局部_System.wMinute, 局部_System.wSecond, 局部_System.wDayOfWeek, 局部_System.wMilliseconds)
APIHOOK.安装Hook_API_Name2 (“kernel32.dll”, “GetLocalTime”, &MyGetLocalTime)
GetLocalTime (局部_System)
调试输出 (“Hook”, 局部_System.wYear, 局部_System.wMonth, 局部_System.wDay, 局部_System.wHour, 局部_System.wMinute, 局部_System.wSecond, 局部_System.wDayOfWeek, 局部_System.wMilliseconds)

.子程序 MyGetLocalTime
.参数 lpSystemTime, 整数型, , 当变量设为整数型的时候,为指针
.局部变量 局部_System, SYSTEMTIME

局部_System.wYear = 2008
局部_System.wMonth = 11
局部_System.wDay = 1
局部_System.wHour = 5
局部_System.wMinute = 15
局部_System.wSecond = 57
局部_System.wDayOfWeek = 1
局部_System.wMilliseconds = 50
RtlMoveMemory (lpSystemTime, 局部_System, LocalSize (局部_System))' 自定义的时间复制到指针中,完成赋值
.版本 2

.DLL命令 GetLocalTime, , "kernel32", "GetLocalTime", , 在lpSystemTime结构中装载本地日期和时间
    .参数 lpSystemTime, SYSTEMTIME, , SYSTEMTIME,用于装载本地时间的结构;

.DLL命令 RtlMoveMemory, , "kernel32", "RtlMoveMemory"
    .参数 pDest, 整数型
    .参数 pSrc, SYSTEMTIME
    .参数 ByteLen, 整数型

.DLL命令 LocalSize, 整数型, "kernel32", "LocalSize", , 返回本地内存块大小
    .参数 hMem, SYSTEMTIME
.版本 2

.数据类型 SYSTEMTIME
    .成员 wYear, 短整数型
    .成员 wMonth, 短整数型
    .成员 wDayOfWeek, 短整数型
    .成员 wDay, 短整数型
    .成员 wHour, 短整数型
    .成员 wMinute, 短整数型
    .成员 wSecond, 短整数型
    .成员 wMilliseconds, 短整数型




Kelly 发表于 2016-9-20 23:56:37

揰掵佲 发表于 2016-9-20 21:05
.版本 2
.支持库 spec



谢谢虫子师傅的教育

yyjpcx 发表于 2016-9-21 00:09:52

看看你的分享
页: [1]
查看完整版本: 易语言Hook GetLocalTime问题