请教大家,能否hook入口点,就是那个main函数

逆向个app,有restrict段,我修改后,闪退,签名也没用。跟踪调试,发现entrypoint 里 做了很复杂的校验,最后exit了。 那我能不能hook他的入口点呢,再自己调用uiapplicationmain()?

1 个赞

可以哇。有符号直接hook没符号自己解析入口点

嗯嗯,谢谢张总,张总好棒!我来试试

张总,请问这是什么工具我之前没使用过

烂苹果 MachOView

已经hook了main函数,
%ctor
{
%init;
_dyld_register_func_for_add_image(_register_func_for_add_image);

//hook main
unsigned long _sub_B068 = (0x020BE10+g_slide)|0x1;
MSHookFunction((void *)_sub_B068, (void *)hook_myMethod1, (void **)&orig_testMethod1);
}
在hook_myMethod1中调用了:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

调试跟踪,确实进去了,不过执行了UIApplicationMain()那句之后,手机就一直黑屏了。

是不是传进去的参数不对?如果不对的话,似乎没有办法得到原参数啊:rofl:

张总好,再请教下:
我已经hook了main函数,
%ctor
{
%init;
_dyld_register_func_for_add_image(_register_func_for_add_image);

//hook main
unsigned long _sub_B068 = (0x020BE10+g_slide)|0x1;
MSHookFunction((void *)_sub_B068, (void *)hook_myMethod1, (void **)&orig_testMethod1);
}
在hook_myMethod1中调用了:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

调试跟踪,确实进去了,不过执行了UIApplicationMain()那句之后,手机就一直黑屏了。

是不是传进去的参数不对?如果不对的话,似乎没有办法得到原参数啊:

谢谢张总,麻烦张总

请问调用UIApplicationMain()时怎么处理参数NSStringFromClass([AppDelegate class])?不报找不到’AppDelegate’这个符号吗