利用C++编程,将hook(钩子)加到程序每一个函数,其中hook后跳转到自己自定义函数代码,实现函数打印功能

先用IDApython插件打印出程序(例如notepad,记事本)打印出函数名,地址,函数长度:代码如下:fromidaapiimport*fromidautilsimp... 先用IDA python插件打印出程序(例如notepad,记事本)打印出函数名,地址,函数长度:代码如下:
from idaapi import*
from idautils import*

outf = open("d:/func_list.txt", "w")
outf.write("Functionname start length\n")
try:
for i in range(get_func_qty()):
f = getn_func(i)
# print"Function%s at 0x%x"%(GetFunctionName(f.startEA),f.startEA)
outf.write("Function%s 0x%x 0x%x\n"%(GetFunctionName(f.startEA),f.startEA,f.startEA-f.endEA))
finally:
outf.close()

C++编程,利用打印的函数信息,将钩子加到每一个函数中,当程序运行到哪个函数,就会利用Api Hook 跳转到自定义的函数处,执行相应代码(函数功能为打印函数名,函数地址,函数调用次数,函数调用可能不止一次),最后打印出所有的调用函数,可以参考网址:http://www.cppblog.com/sleepwom/archive/2010/03/12/109536.html
希望高手帮帮忙,参考网址上的函数帮忙修改一下,O(∩_∩)O谢谢了
展开
 我来答
蒯雅容
2011-05-25 · TA获得超过628个赞
知道小有建树答主
回答量:833
采纳率:0%
帮助的人:510万
展开全部

用SetWindowsHookEx拦截QQ密码框,这个我也试过,拦截的是乱码。
原因据说是QQ用了nKey键盘保护。
QQ2011版的我没有试过,10版的我试过,用WinIO可以拦截密码。
不过WinIO加载了驱动,360会有提示,用DirectX监视键盘也拦截不下来。
谁知道11版的WinIO还管事不?,你可以从网上下一个WinIO。
WinIO包含一个库文件,一个动态链接库文件,一个驱动文件。

我告诉你个天下最好的办法吧:
1.将Kernel32.dll或者user32.dll替换成你的。
2.在键盘这个硬件上做手脚。
追问
貌似你的回到不着边啊,大哥
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式