-
-
[原创]Windows使用IDA调试IOS应用
-
发表于:
2017-11-14 23:53
26613
-
以前调试IOS都是在Mac上面,但是Mac暂时坏了,但是又有需求调试IOS应用,老板发话,你能怎样,所以Windows开搞呗,以前一直自以为Windows不能调试IOS,但是仔细想想后发现,其实就是调试程序和被调试程序有通信就行了,所以应该是可以的,所以按照常规先找资料,但是很不幸的是,很少有Windows下调试IOS,几乎没有,看IDA帮助文档后自己研究终于可以啦。(越狱版本)
查找资料,IDA的帮助文档
什么是iFunBox呢?看看下图就明白了,其实就是个强大的文件管理系统。
想办法使调试器和IOS程序建立通信,Android调试的时候有一个android_server程序,IOS也有一个类似的叫做debugserver(附件下载),我们只要把debugserver 下载到我们手机里面,怎么放到我们手机里面呢,使用这个iFunBox就可以啦,然后想办法运行此程序就OK啦!
1)下载debugserver
2)运行debugserver
怎么运行它呢?我们使用iFunBox这个管理器,先用USB线插入电脑,然后可以看到iFunBox自动识别手机并且自动连接,如下图
你会看到有个SSH终端,但是要使用SSH登陆手机那么必须在手机上开启这个服务(就和你登陆Linux服务器一样样,你要登陆服务器,最起码服务器要开放对应端口吧),那么要怎么打开这个服务呢?我们需要在手机安装cydia这个软件,进而安装OpenSSH,然后就可以打开了,至于怎么安装cydia,这个网上很多教程,就不多说了。现在我们使用iFunBox的SSH终端登陆IOS。
登陆后找到你下载的那个debugserver程序授权并运行就可以。
例如:我的debugserver放到/Applications/debugserver这里了。
chmod 777 debugserver
./debugserver *:3333 -a "ps-name" (-a ps-id) (* 意思是所以ip地址都可以)
运行起来就ok啦。
想办法使ida和目标进程进行通信,如果是Wifi的话,那么直接和调试android那样输入对应ip和端口就可以了,但是坑爹的是我没有Wife,只能用Usb线连接,但是USB又不能做IP这类的操作,所以现在总结一下,我们IDA调试器有了,目标IOS要调试的程序也有了,目标IOS要调试的IP和端口也有了,但是我们连接不上,所以想想办法将手机的3333端口映射到本机来,那不就OK了吗?所以我们使用一个小工具:
想办法使ida和目标进程进行通信,如果是Wifi的话,那么直接和调试android那样输入对应ip和端口就可以了,但是坑爹的是我没有Wife,只能用Usb线连接,但是USB又不能做IP这类的操作,所以现在总结一下,我们IDA调试器有了,目标IOS要调试的程序也有了,目标IOS要调试的IP和端口也有了,但是我们连接不上,所以想想办法将手机的3333端口映射到本机来,那不就OK了吗?所以我们使用一个小工具:
具体操作:tcprelay.py -t 3333:3333 就是把手机3333端口映射到本机的3333端口了,所以我们连接我们本机的3333端口就相当于连接手机的3333端口,所以我们就可以连接到手机啦。
具体操作:tcprelay.py -t 3333:3333 就是把手机3333端口映射到本机的3333端口了,所以我们连接我们本机的3333端口就相当于连接手机的3333端口,所以我们就可以连接到手机啦。
IDA里面设置
里面设置对应IP和我们转发的端口就OK啦!
例如:IP:127.0.0.1 PORT: 3333
例如:IP:127.0.0.1 PORT: 3333
查找资料,IDA的帮助文档
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!