美文网首页
iOS代码注入

iOS代码注入

作者: 奉灬孝 | 来源:发表于2020-05-16 18:04 被阅读0次
1.空工程安装

目的:让设备接收你安装工程的描述文件,为了重签名应用能够成功.

2.将砸壳后微信的ipa包放入工程根目录APP文件夹下
ipa包目录位置
3.将脚本文件放入工程根目录下
脚本文件目录位置.png

脚本执行操作内容已注释,如下图所示:


脚本文件.png
4.进⼊入⼯工程,在BuildPhases内添加脚本
添加脚本文件
4.1在⼯工程内设置脚本路路径
设备脚本路径

然后运行应用,微信就让我们重签名了

5.代码注入思路:

应用加载到iPhone的流程是DYLD将可执行文件(MachO)加载到内存中,DYLD会动态加载Frameworks中所有的动态库,那么在Frameworks中加一个自己的动态库,然后在自己动态库中hook和注入代码

5.1 动态库存放的位置:Frameworks

显示app的包内容


Frameworks
5.2 找到可执行文件WeChat
MachO文件
5.3 用MachOView打开可执行文件WeChat,在Load Commands里可以查看到动态库
Load Commands
5.4 自己创建一个Framework:TARGETS添加:
新建Framework
5.5 新建一个InjectCode类
InjectCode类
5.6 想实现刚加载就要运行,代码就要写在load方法里
load方法

编译运行一下在包内容中的Frameworks库中就有了我们新建的Framework

5.7 运行,并没有成功,没有执行load里的代码

原因:用MachOView打开可执行文件WeChat,在Load Commands找不到HankHook.FrameWork

5.8 将HankHook.FrameWork写入MachO文件

需要用到工具:yololib
yololib同样把yololib文件放入根目录,然后用脚本执行即可


截屏2020-05-16 下午4.51.15.png
脚本注入
5.9 检查MachO文件的Load Commands里是否有HankHook.FrameWork
注入成功

如图,注入成功!

5.10 将根目录APP文件夹下砸壳的ipa包解压缩, 将WeChat.app显示包内容,找到WeChat可执行文件,将注入成功的MachO文件进行替换,然后删除原来的砸壳后的微信-7.0.8.ipa,打包Payload
zip -ry WeChat.ipa Payload

将生成WeChat.ipa放入APP目录,删除其他文件夹

6. 运行,成功!

控制台就会将load方法中的

NSLog(@"\n\n\n注入成功!\n\n\n🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺\n\n\n");

打印出来,说明我们已经代码注入成功了!
ps:因为调用微信支付时,启动的是我重签名的微信,我就把重签名的微信删除了,暂时截取不到注入成功后的截图!

6.1 代码注入成功了,我们还可不可以有一些更骚的操作呢?

用class-dump解析WeChat的头文件目录

6.2 class-dump解析MachO可执行文件

将class-dump放入根目录


class-dump目录

用终端定位到当前根目录,执行命令:

./class-dump -H WeChat -o ./Heaers

然后根目录下就会生成一个Heaers文件夹


Heaers文件夹

然后我们可以根据我们真机调试时获取到的控制器文件及方法,然后从Heaers文件夹找到该控制器的类,就能够找到相关的属性和方法,我们就可以通过头文件中的属性获取到我们想要的信息.
以下是我代码注入的内容:


代码注入内容
然后就可以获取到登录界面下我们输入的用户名和密码了
后续的骚操作还需要继续研究.

ps:重签名后的微信尽量不要用大号登录,微信会检测到然后被封,钱包里有钱的话可以申请解封,不过有次数限制.

我刚刚看了下,重签名微信文件有点大,推了好久还没推上去,先附上demo地址,推送成功后会自动更新的.GitHub推不上去,我放百度云了,提取码:uiks
Demo:代码注入

MachOView: 提取码: mui7

最后感谢一下逻辑教育Hank老师代码注入公开课的分享

相关文章

  • iOS应用代码注入防护

    iOS应用代码注入防护 iOS应用代码注入防护

  • iOS逆向 代码注入+Hook

    iOS逆向 代码注入+HookiOS逆向 代码注入+Hook

  • IOS代码注入APP&重签实战

    代码地址: github地址 如何预防此类代码注入[IOS端监测APP被代码注入点击查看 ] 本文介绍的是ios的...

  • iOS代码保护,数据加密,反调试,反注入,代码混淆

    iOS代码保护 数据加密 反调试,反注入 代码混淆 明天继续写。。。。。。

  • iOS代码注入

    1.空工程安装 目的:让设备接收你安装工程的描述文件,为了重签名应用能够成功. 2.将砸壳后微信的ipa包放入工程...

  • iOS代码注入

    上一片文章通过脚本对iOS应用进行重签名,我们已经知道了如何对应用进行重签名,那么如何才能让别人的app执行我们自...

  • iOS代码注入

    一、代码注入 重签名app后自己的壳工程的代码就被替换掉了(替换了整个MachO),并不会执行。iOS系统是通过d...

  • iOS 分析一次有意思的需求——HTML代码注入

    级别: ★★☆☆☆标签:「HTML代码注入」「WKScriptMessageHandler」「iOS与JS交互」...

  • 代码注入

    Framework库中代码注入工程的步骤:(选择iOS下创建库) Dylib库中代码注入工程的步骤:(选择MacO...

  • 代码注入

    在学习代码注入之前,先看一下iOS 程序 main 函数之前发生了什么 一、framework形式代码注入 1.创...

网友评论

      本文标题:iOS代码注入

      本文链接:https://www.haomeiwen.com/subject/venlohtx.html