Null
(Mr.Null)
1
手机没越狱,只能通过挂载dylib实现修改,然后问一下怎么写呢?
模版是有了,我连定义参数都有了,其实就是参照flex2的补丁文件的。
比如这个函数-(bool) isVipOrVipVisitor,没有参数值只有返回值,要怎么修改?
还有我需要同时修改5个函数,不会要我同时输出5个dylib吧?同时输出俩个就有一个挂载不了了。
模版在这
#import “CaptainHook.h”
CHDeclareClass(CMessageMgr);
//参数个数、返回值类型、类名、selector名称、selector的类型、selector对应的参数的变量名
CHMethod(1, void, CMessageMgr, onRevokeMsg,id,arg1)
{
CHSuper(1, CMessageMgr, onRevokeMsg,nil);
}
attribute((constructor)) static void entry()
{
CHLoadLateClass(CMessageMgr);
CHClassHook(1,CMessageMgr,onRevokeMsg);
}
需要修改的是QLVipManager.h里的,有的没有参数值只有返回值
-(bool) isVipVisitor
-(bool) isVipOrVipVisitor
-(bool) isVipOrVipVisitorWithCacheState
-(void) setIsVipVisitor:(bool)
-(bool) isVipCacheState
Null
(Mr.Null)
3
其中反编译出的文件里是这么写的
@property int isVip; // @synthesize isVip=_isVip;
- (BOOL)isVipOrVipVisitor;
- (BOOL)isVipOrVipVisitorWithCache;
- (BOOL)isVipOrVipVisitorWithNetworkState;
@property BOOL isVipVisitor; // @synthesize isVipVisitor=_isVipVisitor;
- (BOOL)isVipVisitorWithCache;
- (BOOL)isVipVisitorWithNetworkState;
- (BOOL)isVipWithCache;
- (BOOL)isVipWithNetworkState;
= =我新手,走到这一步不容易啊
Null
(Mr.Null)
7
还有就是,我注入了cycript和log查看器,现在就是不知道cycript怎么玩= =
Null
(Mr.Null)
8
cycript我都写出来了,就是不知道怎么写dylib= =因为这些变量是动态变量,所以cycript修改后还是失效= =
就差用动态库动态修改了= =
语句如下,求大神帮我修改= =
[QLVipManager sharedInstance].isVipOrVipVisitor = YES
[QLVipManager sharedInstance].isVipOrVipVisitorWithCache = YES
[QLVipManager sharedInstance].isVipVisitor= YES
[QLVipManager sharedInstance].isVipVisitorWithCache = YES
[QLVipManager sharedInstance].isVipWithCache = YES
[QLVipManager sharedInstance].isVip = -1
Dylan
(Dylan)
9
看小黄书,然后按照书上教的写 tweak,论坛里也有方法在不越狱手机上运行的。
Dylan
(Dylan)
12
来来来,把是什么程序名发上来,我直接写好 tweak 给你。