0x01 字符串加密
0x01
在开发中我们总是会用到加解密,有些同学可能不注意会直接把对称加密的key直接写到程序中,这样使用Hopper或者IDA静态分析的时候是可以直接看到加密的key,这样容易被别人破解,所以需要采用一些方法对文件里面的key进行加密,使得在静态分析阶段无法直接获取加密的key,增加逆向难度。
0x02
在这里我们可以使用异或计算方法对某一个key进行加密,异或的原理是如果二进制位相同则为0,不相同则为1,如果a^b = c,那么b^c=a。
所有的东西你都要坚持到最后才知道值不值得
0x01
在开发中我们总是会用到加解密,有些同学可能不注意会直接把对称加密的key直接写到程序中,这样使用Hopper或者IDA静态分析的时候是可以直接看到加密的key,这样容易被别人破解,所以需要采用一些方法对文件里面的key进行加密,使得在静态分析阶段无法直接获取加密的key,增加逆向难度。
0x02
在这里我们可以使用异或计算方法对某一个key进行加密,异或的原理是如果二进制位相同则为0,不相同则为1,如果a^b = c,那么b^c=a。
dumpdecrypted 是一个开源的工具,它会注入可执行文件中,动态的从内存中dump解密后的内容。
##2.原始版dumpdecrypted使用
###2.1下载以及编译dumpdecrypted
从github下载源代码并且编译:
1 | MacBookPro:dumpdecrypted lemon$ git clone https://github.com/stefanesser/dumpdecrypted.git |
代替默认的Terminal,提供了很多高级设置,例如自动补全,高亮等等
自定义主题,git显示,Tab补全等
从finder中打开终端并且自动切换到当前目录
工作流软件,快速打开软件,添加自己的工作流。参见bestswifter的博客
MacBookPro:frida-ios-dump-master lemon$ ./dump.py -l
MacBookPro:~ lemon$ idevice_id -l
MacBookPro:~ lemon$ otool -l target.app/target | grep cryptid
###logify是THEOS自带的为代码添加Log的工具,可以使用该工具给指定的类添加Log代码并且生成一个新的Tweak.xm文件
首先需要安装Theos,安装完成之后会默认安装此工具。
在iOS系统中,存在着这么一个文件夹,/System/Library/Caches/com.apple.dyld,这个文件夹里面放着的是什么文件呢,在我的iphone5s中,两个文件dyld_shared_cache_armv7s和dyly_shared_arm64,这两个文件分别代表两个arm架构,一个是armv7s一个是arm64。
在iOS逆向中,我们常常需要对dyld_shared_cache_armX类型的文件进行还原,第一个我们经常使用的是dyld_decache工具,但是这个工具并不能用从来还原dyld_shared_cache_arm64文件,也就是64位指令集架构的缓存文件,这个时候dsc_extractor就为你续命了。
1.在特定的情况下暂停程序
2.在特定的情况下启动程序
3.在程序停止的情况下检查程序内部
4.在程序停止的情况下改动程序,观察执行过程。
LLDB是运行在OSX程序中的,可以通过特定的语句配合debugServer对iOS中的程序进行监视。