首页
社区
课程
招聘
[求助]MSHookFunction,发现能勾住,但是游戏却打不开了
2015-9-12 14:09 7959

[求助]MSHookFunction,发现能勾住,但是游戏却打不开了

2015-9-12 14:09
7959
一个简单的MSHookFunction示例
#import <CoreFoundation/CoreFoundation.h>
#import <UIKit/UIKit.h>
#import "substrate.h"

static int (*org_func)();

int replace_func()
{

    NSLog(@"this is the my hooked method");
   
    return org_func();
}

%ctor
{
  @autoreleasepool
  {

  // 此为Hook地址。能Hook住,但是游戏却打不开了
    unsigned long fuc_addr1 = 0x4AF840 | 0x01 ;
    MSHookFunction((void *)fuc_addr1,(void *)&replace_func,(void **)&org_func);
    }
}

以上Tweak代码,编译安装后,运行程序,每多打开一次,在syslog里能看到,会多打印一条“this is the my hooked method”,但是游戏却会自动退出。感觉是执行这句时return org_func();发生了异常。

请问各位大大,这是怎么回事呀?

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 8
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kevinmou 2015-9-12 14:32
2
0
还是由于游戏本身有MSHookFunction的检测技术?我是把Hook到梦换西游的IOS版本里。
雪    币: 8
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kevinmou 2015-9-13 16:26
3
0
低级错误,发现是我地址写错了。地址应该是要调用方法的方法头地址,而不是调用那个位置的地址。
雪    币: 40
活跃值: (557)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Dlnn 2016-8-30 23:52
4
0
我想问一下这些地址怎么找的直接是IDA中的?
游客
登录 | 注册 方可回帖
返回