IAT Hooking、QT 库
我有一个 .dll 注入到另一个进程的地址空间中。目标应用程序使用 QT 库。我可以插入一条弯路,以便每次QT函数 ?rowsInserted@QListView@@MAEXABVQModelIndex@@HH@Z 被调用,我的函数被调用,然后调用被传递。但是,如何访问传递到 ?rowsInserted@QListView@@MAEXABVQModelIndex@@HH@Z 的参数?这个名字是不是乱码,这种情况下通常是什么?
谢谢。
I have a .dll injected into the address space of another process. The target app uses the QT library. I can insert a detour so that each time the QT function
?rowsInserted@QListView@@MAEXABVQModelIndex@@HH@Z is called my function is called instead and then the call passed on. However, how do I get access to the parameters passed into ?rowsInserted@QListView@@MAEXABVQModelIndex@@HH@Z? Is this name garbled, in which case what is it normally?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来该函数可能是
QListView::rowsInserted(const QModelIndex & ,整数,整数)
。函数参考中列出了参数。It looks like the function is probably
QListView::rowsInserted(const QModelIndex &, int, int)
. The parameters are listed in the function reference.您可以使用 undname 工具来取消修饰函数调用。它随 Visual C++ 一起提供。
Raymond Chen 在博客中对此进行了介绍:取消修饰名称以了解函数的用途找不到
You could use the
undname
tool to undecorate function calls. It ships with Visual C++.Raymond Chen blogged about it: Undecorating names to see why a function can't be found