Banny
Banny
参考 https://github.com/zhkl0228/unidbg/commit/3c73988f5ea7378531a43bfe15f1462f860e945a
这种方式不支持修复堆栈中的参数,好像也不需要修复栈中的参数,所以值是正确的。如果对于CallXXXA以及CallXXXV的可能情况不一样。64位的参数支持到X7,所以一般的情形也够用。看图中setR4是错误的,setR3应该也是多余的,具体情况具体分析
vm.resolveClass("Param").newObject
需要提供样本代码才能检查
ProxyDvmObject.createObject
IpaLoaderTest以及SubstrateTest
目前iOS模拟还很多没有完善
需要根据所加载的ipa去完善,iOS依赖都是按需添加,具体可参考src/main/native/ios/Frameworks/build.sh 依赖的导出符号也要按需增加,可参考src/main/native/ios/Frameworks/UIKit
如果传的参数是NSString的话,要先创建NSString对象 On Thu, Sep 24, 2020 at 12:04 ejiaogl wrote: > ObjC objc = ObjC.getInstance(emulator); ObjcClass oSignatureGenerator = > objc.getClass("SignatureGenerator"); ObjcClass cNSDictionary = > objc.getClass("NSDictionary"); ObjcObject dict = > cNSDictionary.callObjc("dictionary");...
调用 setValue:forKey:方法,传入的参数是NSString On Thu, Sep 24, 2020 at 12:53 ejiaogl wrote: > NSMutableDictionary *dict = [NSMutableDictionary dictionary]; > > [dict setValue:@"local" forKey:@"app_type"]; > > [dict setValue:@"4" forKey:@"build_id"]; > > [dict...