需求:逆向目标app的方法名是中文,class-dump后的方法变成utf-8编码后的乱码,请问怎么%hook到该方法?
操作步骤1: %hook方法名填编码后的
代码1:
%hook AuthCenter
- (void)åæ¥ {
//…
}
%end
错误日志1:
Tweak.xm:2:11: error: non-ASCII characters are not allowed outside of literals
and identifiers
- (void)å<U+0090><U+008C>æ¥ {
^~~~~~~~
操作步骤2: %hook方法名填中文
代码2:
%hook AuthCenter
- (void)同步 {
//…
}
%end
错误日志2:
Tweak.xm:2:1: error: missing context for method declaration
- (void)同步 {
^
Logos的Bug,直接调用MSHookMessageEX可以
MSHookMessage的第一个参数是类,第二个参数是sel
分别可以通过 NSClassFromString(@"AuthCenter")
和NSSelectorFromString(@"同步")
获取
2 个赞
btw这个authcenter也是非常眼熟。是数据精灵还是?
一个朋友自己做的一个微商助手 他应该也是仿照别人做的
编写代码如下:
void *(*oldOne)(id self, SEL _cmd);
void *newOne(id self, SEL _cmd) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@“hook同步” message:nil delegate:self cancelButtonTitle:@“OK” otherButtonTitles:nil];
[alert show];
[alert release];
return 0;
}
MSHookMessageEx(
NSClassFromString(@“AuthCenter”), NSSelectorFromString(@“同步”),
&newOne,&oldOne
);
编译报错:
Tweak.xm:9:1: error: C++ requires a type specifier for all declarations
MSHookMessageEx(
^
本人不懂C++,Google了好久没找到解决方法,再次麻烦大神
我就知道您这个智力低下的水平只能是死妈微信黑灰产。
毫不吃惊