首页
社区
课程
招聘
[求助]安卓apk进行hook时,回调函数的地址保存
发表于: 2016-5-21 17:57 3204

[求助]安卓apk进行hook时,回调函数的地址保存

2016-5-21 17:57
3204
最近碰到一个问题,请大神给点方法或建议:
1.一个安卓的apk,其是用unity3d写的,C#语言
2.其中有一个函数,其原型如下:

   public void tcp_data (char msg[], CMsgHandler callback)
   msg:表示一个字符串,用其中前四个字符表示当前msg的消息类型(如聊天、交易等)
   callback:表示此消息的回调函数,其中 CMsgHandler的原型如下:
public delegate void CMsgHandler(CMsgResult result, CMsg msgRes, CMessenger messenger);不同的消息,有不同的回调函数

3.现在的问题是,当我去hook到这个tcp_data时,想把当前消息的回调函数地址保存下来,以便自己主动发包时使用。
   但我用一个void *p=callback去保存时,发现这个 p并不能把这个回调函数的地址保存下来,两次聊天消息,相同的内容,其保留下来的p的值都不一样(连续发两条同样内容的聊天消息)
  故请大神指导下,应该怎么搞?mono中有没有类似下面寻找类的函数,可以真正把这个回调函数callback的地址真正保存下来?
  备注:mono中寻找类的相关函数   mono_object_get_class(根据hook时的this指针找到相关类) ,get_class_method(得到相关类的中方法)

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
这个犀利啊前排带上饮料瓜子等大神来
2016-5-21 21:19
0
游客
登录 | 注册 方可回帖
返回
//