swift相比OC来说,难度要大一些,其方法调用类似于C++,反汇编出来都是sub_xxx之类的调用,但是swift工程的底层还是Cocoa,而iOS系统的Cocoa层目前还是OC开发的,并且大部分swift App也都是混编的工程,虽然难度比起OC工程来说,会稍微大一点,并且资料也不多,但是只要牢牢掌握swift对象的内存模型,以及方法调用的参数传递,就不会是什么难事。
1.砸壳,并创建MonkeyDev工程
下面我们找一个swift App来练练手,已知丰巢App是swift开发的,那我们就以该App来做实验吧:
1.首先就是frida砸壳,创建MonkeyDev工程,添加Lookin的pod依赖。具体步骤就不再描述了,这些都是非常基础的操作。在丰巢App的包里面,我们可以看到它用到了如下第三方库:
由于swift工程的pod文件必须使用 use_framework!, 因此第三方库都将编译成动态库,打包到App中就是上图这样。
2.打开.xcworkspace工程,运行即可。App正常运行,说明没有反调试。那我们再抓包看看,