需要对iPa进行自动化反编译,用户上传一个ipa文件,自动砸壳,使用classdump获取头文件。想问下Hopper支持命令行模式调用吗,直接反编译出所有的代码
貌似不支持,我也想查过。
有个应该支持的radare2
即使不支持, 也可以注入dylib自己实现啊
主要是获取汇编代码这块,还有生成伪代码的过程需要能够自动化,求大神给个思路!
感谢,我找下资料
这个还需要思路吗, 找到他的接口, 调用就是了, 跟外挂一个道理
谢谢!
Hopper确实有个命令行程序。不知道干啥用的
求详细介绍
好的,感谢!
为什么我找不到app文件里面的二进制文件呢?
显示包内容后,会有一个跟app同名的可执行文件
错了。二进制的名字是写在Info.plist里的,并不一定要跟app同名
我完全可以搞一个叫抖音的App,包名是傻逼.app
然后可执行文件叫 ByteDance
谢谢,我已经找到了,一个文件一个文件实验,就找到了
1 个赞
谢谢,我已经找到了,一个文件一个文件实验,就找到了
谢谢大佬指正,请问大佬怎么能 hook installd 中的方法?给 installd 写一个 tweak,hook [MIClientConnection _doInstallationForURL:withOptions:completion:]这个方法,想拿到参数的信息,但是没有执行hook方法
参考了AppSync,但是 hook 方法还是不执行,试过了 MSHookFunction 和 Logos
#import <substrate.h>
void * (*old_symbol1)(void *, void *, void *);
void * new_symbol1(void * arg0, void * arg1, void * arg2) {
NSLog(@"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
NSLog(@"Hook!!!!!!!!! %@", arg1);
return old_symbol1(arg0, arg1, arg2);
}
void (*old_symbol2)(void *, void *, void *);
void new_symbol2(void * arg0, void * arg1, void * arg2) {
NSLog(@"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
NSLog(@"Hook!!!!!!!!! %@", arg1);
old_symbol2(arg0, arg1, arg2);
}
%ctor
{
@autoreleasepool {
NSLog(@"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
MSImageRef image = MSGetImageByName("/usr/libexec/installd");
// void *symbol1 = MSFindSymbol(image, "__MIInstaller_initWithURL_options_forClient__");
void *symbol1 = MSFindSymbol(image, "initWithURL:options:forClient:");
if (symbol1) NSLog(@"Hook __MIInstaller_initWithURL_options_forClient__ !!!!!!!!!!");
MSHookFunction((void *)symbol1, (void *)&new_symbol1, (void **)&old_symbol1);
// void *symbol2 = MSFindSymbol(image, "__MIClientConnection__doInstallationForURL_withOptions_completion__");
void *symbol2 = MSFindSymbol(image, "_doInstallationForURL:withOptions:completion:");
if (symbol2) NSLog(@"Hook __MIClientConnection__doInstallationForURL_withOptions_completion__ !!!!!!!!!!");
MSHookFunction((void *)symbol2, (void *)&new_symbol2, (void **)&old_symbol2);
}
}
你确定你注入进去了?