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

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

2015-9-12 14:09
8699
一个简单的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();发生了异常。

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

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

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