iOS Obj-C 挂钩将十六进制转换为字符串

iOS Obj-C Hooking Converting Hex to String

我正在尝试挂钩 Theos 中的一个简单函数:

- (_Bool)sendData:(id)arg1 {
    NSLog(@"%@", arg1);
    _Bool r = %orig;
    return r;
};

但是我得到的输出是十六进制的:

<3c736f61 70656e76 3a456e76 656c6f70 6520786d 6c6e733a 736f6170 656e763d>

我尝试了一些从堆栈溢出中找到的转换代码,但没有成功打印出 ASCII 文本。

感谢任何帮助。谢谢!

根据您的数据输出,您的回答是:<soapenv:Envelope xmlns:soapenv=

if ([arg1 isKindOfClass:[NSData class])
{
    NSString *string = [[NSString alloc] initWithData:(NSData *)arg1 encoding:NSUTF8StringEncoding];
}

我尝试了各种编码,NSUTF8StringEncoding 并不是唯一给出正确响应的编码。所以你可能想检查一下哪一个才是真正合适的。