hookktv

使用iosopendev来hook唱吧的一个函数。


ipod5,xcode6.1


使用Clutch把唱吧(ktv)破解成ipa,并移到mac上解压,再使用class-dump-z把类信息获取出来。


目标是ktv在搜索时执行的函数。
看应用的界面,对应dump出来的类,可以推测搜索界面的controller应该是SearchMusicViewController。
所以先hook这个类的一些函数来确认一下:


#import <UIKit/UIKit.h>


%hook SearchMusicViewController


-(void)goBack:(id)back
{
    NSLog(@"-----------ktv SearchMusicViewController goBack------------");
    %orig;
}


-(void)doSearch
{
    NSLog(@"-----------ktv SearchMusicViewController doSearch------------");
    %orig;
}


-(void)searchBarTextDidEndEditing:(id)searchBarText
{
    NSLog(@"-----------searchText:%@------------", (NSString*)searchBarText);
    %orig;
}


%end


创建一个Logos Tweak的项目。
在xm中加入上面的代码。
编译,profiling到手机。
注意:
1. 注意cpu指令集,我一开始只使用armv7s,结果编译到手机执行后总是hook不到信息(连springboard都hook不到),最后查看syslog,看到warning说加载hookKTV.dylib时cpu类型不对。把armv7/armv64/armv7s都加上好了。
2. 添加libsubstrate.dylib到项目,要加入/opt/iOSOpenDev/lib里面的libsubstrate.dylib。
3. hookKTV.plist的Root/Filter/Bundles里面增加一项,填上com.changba.ktv,让ktv启动时加载hookKTV.dylib。




socat到syslog,watch信息,可以看到操作搜索界面时的输出。
可以看到,搜索的请求链接在doSearch函数内部完成,问题是这个函数还有没有调用其它函数呢?
查看dump到的类,看到一个这样的类:ChangbaSecret。
hook这个类里面的函数,比如:
+(id)AppendSecretString:(id)string Device:(BOOL)device
{   
    id ret = %orig(string, device);
    
    NSLog(@"-----------ChangbaSecret AppendSecretString %@ %d %@------------", string, device, ret);
    
    return ret;
}
运行后,可以看到,这个函数在做检验的工作,输入的是http://www....&keyword=.. 输出的是http://www....&keyword=..&secret=...
而输出的链接(加上了secret检验),可以直接使用来请求数据了。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值