ios应用逆向工程7-10章笔记

on under 二进制
1 minute read

实战篇

1.制作一个app的tweak一般是通过分析这个app的已经的函数的功能和加上自己想实现的一些功能,两者整合得到一个tweak,其中分析app已有的函数功能在制作整个tweak所花的时间上占比较大.一般通过找相关UI的类(controller),分析类中的函数功能,然后再hook相关函数,并在hook时加入自己想实现的功能.分析类中的函数时,一般是分析从View中看到的数据背后可能存在的函数,如分析邮件app时,View中有收件人,则可通过分析找出获取收件人邮箱地址的函数名,这样在写tweak时可人工调用这个函数来获取收件人的邮箱地址

2.”拿到所有邮件”可以分为2步:一是捕获”刷新完成”事件;二是读取收件箱.其中,”刷新完成”的响应函数一般是定义在protocol里的,在分析class-dump头文件的时候,要留意各种protocol里有没有出现didRefresh,didUpdate,didReload之类名字中含有完成时态动词的函数

3.理解Objective-C中的delegate,1st,2nd.MVC模式中,V(view,也即UI)的delegate(助手,秘书)是C(controller).[#0xUI_obj_address delegate]可得到一个UI的被委托要实现的功能(function)

4.在使用theos编写tweak时,如果要调用class-dump出的头文件中的类中的函数,则需要在Tweak.xm的开头#import 人工编写的头文件.h,这个人工编写的头文件中的所有内容均摘自类对应的头文件,构造它的目的仅仅是通过编译,避免出现任何报错信息和警告

ios, reverse
home
github
archive
category