首页
社区
课程
招聘
[新人求助]hook一个函数时,参数类型的问题
发表于: 2019-1-27 10:22 2594

[新人求助]hook一个函数时,参数类型的问题

2019-1-27 10:22
2594

最近在逆向一个软件,我需要对里面的一个函数进行hook,这个函数大概是这样的:

MyStruct *__cdecl MyClass::MyFunction(MyStruct* a)

然后我使用IAT HOOK的方式实现了函数地址的修改,然后RealMyFuncion是原函数,OverrideMyFunction是我重写的函数。

MyStruct * OverrideMyFunction(MyStruct* a) {
    printf(a->MyOutputString());  // 已知MyStruct有一个函数MyOutputString
    return RealMyFuncion(a);
}

那么问题来了,是不是要给出MyStruct结构体的完整声明,才在OverrideMyFunction使用呢?如果是的话,有没有什么便捷的方法可以知道他的声明?(IDA的F5不知道为什么只能看到一行代码:struct MyStruct


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2019-1-27 10:36 被丶寒冬编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
你见过__cdecl的类函数?故意的?
2019-1-27 11:11
0
雪    币: 288
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
hzqst 你见过__cdecl的类函数?故意的?
这是我从IDA复制出来的,为什么类函数不能用__cdecl修饰?
2019-1-27 11:38
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
不懂
2019-1-27 18:07
0
雪    币: 5883
活跃值: (12394)
能力值: ( LV12,RANK:312 )
在线值:
发帖
回帖
粉丝
5
API对吧,msdn如果查找不到就是未公开,你可以找一份WRK的源码(里面找以下你的API一定会有吧.....),因为是老版本的,所以参数有所改变,这时候。你在分析的时候就根据ret(根据函数调用约定) 去判断有几个参数,IDA中分析参数的作用或则windbg里面就可以了,靠猜的吧... 
2019-1-27 20:23
2
雪    币: 781
活跃值: (1116)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
6
全部int类型 直接call回去就是了..声明什么的 压根不用啊.知道几个参数就行..
2019-1-27 20:53
2
游客
登录 | 注册 方可回帖
返回
//