aaayun 发表于 2023-12-17 10:36

求问apihook中关于HttpOpenRequestA函数的写法。。

子程序名        返回值类型        公开        备 注
wininet中专        整数型              
参数名        类 型        参考        可空        数组        备 注
hConnect        整数型                               
lpszVerb        整数型                               
lpszObjectName        整数型                               
lpszVersion        整数型                               
lpszReferer        整数型                               
lplpszAcceptTypes        整数型                               
dwFlags        整数型                               
dwContext        整数型                               
变量名        类 型        静态        数组        备 注
WinInet请求句柄        整数型                      
页面地址        文本型                      
APIhook.暂停 (“wininet.dll”, “HttpOpenRequestA”)
页面地址 = 指针到文本 (lpszObjectName)
' 信息框 (“wininet模式” + 页面地址, 0, , )
如果真 (页面地址 = “/servers/gateway/authentication/api.key819200”)
信息框 (“wininet模式” + 页面地址, 0, , )
WinInet请求句柄 = Winhttp请求句柄 (“WinInet请求句柄 (“http://api.accc.pro/servers/gateway/authentication/servers/gateway/authentication/api.key819200”)
APIhook.继续 (“wininet.dll”, “HttpOpenRequestA”)
返回 (WinInet请求句柄)


原本的get请求hook转向之后变成了post请求。然后服务器返回405错误。求告知该如何让他hook修改之后还是保持get请求?

弃天帝520 发表于 2023-12-17 11:06

你先这样,再这样,最后在那样,就hook成功了

aaayun 发表于 2023-12-17 11:26

弃天帝520 发表于 2023-12-17 11:06
你先这样,再这样,最后在那样,就hook成功了

{:5_184:}我把它区分了,反正只要返回的数据是对的就行,直接写了个php在服务器上读取静态文件的内容然后返回。转向的句柄写成php的访问路径。

boot 发表于 2023-12-17 15:15

同求,学习一下怎么Hook API。{:5_121:}

Eric 发表于 2023-12-17 17:16

你HOOK的目的是替换地址, 那既然被你HOOK了就不走原API了, 你自己要调用HttpOpenRequestA来传递新的信息, 把返回值再传递给HOOK地址

温酒书生 发表于 2024-3-8 12:28

本帖最后由 温酒书生 于 2024-3-8 12:30 编辑

先这样 然后这样 最后这样

boot 发表于 2024-3-8 13:00

温酒书生 发表于 2024-3-8 12:28
先这样 然后这样 最后这样

这个111.exe样本的易语言源码能否发一份?{:5_121:} 要的是111.exe的源码,而不是winspool.drv的源码。

温酒书生 发表于 2024-3-8 15:09

boot 发表于 2024-3-8 13:00
这个111.exe样本的易语言源码能否发一份? 要的是111.exe的源码,而不是winspool.drv的源码。 ...

就精易模块的网页_访问,不加s,不加对象
页: [1]
查看完整版本: 求问apihook中关于HttpOpenRequestA函数的写法。。