iOS逆コード注入(framework)
余談:このチュートリアルは厳粛な学術検討類の文章で、研究を学ぶだけで、読者にビジネスやその他の不法なルートに使わないでください.筆者は責任を負いませんよ.
準備作業脱獄しないiPhone携帯 PPアシスタントでダウンロード:微信6.6.5(脱獄応用) MachOView
MachOVEewダウンロードアドレス:http://sourceforge.net/projects/machoview/
MachOVEewソースアドレス:https://github.com/gdbinit/MachOView
yololib yololibダウンロードアドレスhttps://github.com/KJCracks/yololib?spm=a2c4e.11153940.blogcont63256.9.5126420eAJpqBD
コード注入の考え方:DYLDはFrameworksのすべてのダイナミックライブラリを動的にロードします.では、Frameworksに独自のダイナミックライブラリを追加し、自分のダイナミックライブラリでhookと注入コードを追加します.
動的在庫保管場所:Frameworks![image.png](https://upload-images.jianshu.io/upload_images/1013424-161997866a52aec0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
実行ファイルが見つかりましたWeChat![image.png](https://upload-images.jianshu.io/upload_images/1013424-e4f12b6c6aa5fb93.png?imageMogr2/auto-orient/strip%7 CimageView 2/2/w/1240)MachOVEewで実行可能ファイルWeChatを開き、Load Commandsでダイナミックライブラリが表示されます![image.png](https://upload-images.jianshu.io/upload_images/1013424-2f0d040fe1dfc01e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-35f07623f288ed4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-3a45631e72661e10.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
手順:
1、iOSの逆方向の自動化によって再署名して先に微信をコンパイルして実行して、それから新しいFramework TARGETSを追加します:![image.png](https://upload-images.jianshu.io/upload_images/1013424-5b58e339a4d28335.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-0403308f4dd9fada.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2、WJHookクラスを新規作成![image.png](https://upload-images.jianshu.io/upload_images/1013424-073389c9959af107.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3、ロードしたばかりの実行を実現するには、コードをloadメソッドに書きます![image.png](https://upload-images.jianshu.io/upload_images/1013424-9cefc0037c32ff73.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4、工程に依存関係を追加するコード注入targetsのBuild PhasesにCopy Files を追加Copy FilesでFrameworks を選択WJHookFrameWork を追加
5、コンパイルして、appパッケージの位置で見る
パッケージの内容を表示し、Frameworksでを表示します.
6、実行して、成功していないで、loadの中のコードを実行していません
理由:MachOVEewで実行ファイルWeChatを開き、Load CommandsでWJHookFrameWorkが見つからない
7、WJHookFrameWorkをMachOファイルに書き込む
ツールを使用する必要があります:yololibはこのツールをよく使用するので、/usr/local/binに置くことをお勧めします.非表示ファイルが表示する、defaultswritecomを使用できる.apple.finderAppleShowAllFiles−booltrue d e f a u l t s w r i t e c o m . a p p l e . f i n d e r A p p l e S h o w A l l l l F i l e s−b o l t r u e KillAll Finderというコマンドを表示します.また、trueをfalseに変更すると、非表示状態に戻ります. またはショートカットキーを使用⬆️ + . 実現する 解凍微信脱獄バッグ WeChat.appはパッケージの内容を表示し、WeChat実行可能ファイルを見つけて実行権限を追加する: WeChat実行ファイルに書き込む: 「Frameworks/WJHookFrameWork.framework/WJHookFrameWork」パスとは、WJHookFrameWork実行可能ファイルのパスです
MachOファイルのLoad CommandsにWJHookFrameWorkがあるかどうかを確認します. 元の微信-6.6.5(脱獄応用)を削除する.ipa,Payload を削除します.
8、運行、成功!
コードとツールがアップロードされました:https://gitee.com/winjayq/ios_reverse_code_injection
準備作業
MachOVEewダウンロードアドレス:http://sourceforge.net/projects/machoview/
MachOVEewソースアドレス:https://github.com/gdbinit/MachOView
コード注入の考え方:DYLDはFrameworksのすべてのダイナミックライブラリを動的にロードします.では、Frameworksに独自のダイナミックライブラリを追加し、自分のダイナミックライブラリでhookと注入コードを追加します.
動的在庫保管場所:Frameworks![image.png](https://upload-images.jianshu.io/upload_images/1013424-161997866a52aec0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
実行ファイルが見つかりましたWeChat![image.png](https://upload-images.jianshu.io/upload_images/1013424-e4f12b6c6aa5fb93.png?imageMogr2/auto-orient/strip%7 CimageView 2/2/w/1240)MachOVEewで実行可能ファイルWeChatを開き、Load Commandsでダイナミックライブラリが表示されます![image.png](https://upload-images.jianshu.io/upload_images/1013424-2f0d040fe1dfc01e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-35f07623f288ed4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-3a45631e72661e10.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
手順:
1、iOSの逆方向の自動化によって再署名して先に微信をコンパイルして実行して、それから新しいFramework TARGETSを追加します:![image.png](https://upload-images.jianshu.io/upload_images/1013424-5b58e339a4d28335.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1013424-0403308f4dd9fada.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2、WJHookクラスを新規作成![image.png](https://upload-images.jianshu.io/upload_images/1013424-073389c9959af107.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3、ロードしたばかりの実行を実現するには、コードをloadメソッドに書きます![image.png](https://upload-images.jianshu.io/upload_images/1013424-9cefc0037c32ff73.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4、工程に依存関係を追加する
5、コンパイルして、appパッケージの位置で見る
パッケージの内容を表示し、Frameworksでを表示します.
6、実行して、成功していないで、loadの中のコードを実行していません
理由:MachOVEewで実行ファイルWeChatを開き、Load CommandsでWJHookFrameWorkが見つからない
7、WJHookFrameWorkをMachOファイルに書き込む
ツールを使用する必要があります:yololibはこのツールをよく使用するので、/usr/local/binに置くことをお勧めします.
chmod +x WeChat
yololib WeChat Frameworks/WJHookFrameWork.framework/WJHookFrameWork
zip -ry WeChat.ipa Payload
をパッケージ化WeChat.ipaはAPPディレクトリに入れ、他のフォルダ8、運行、成功!
コードとツールがアップロードされました:https://gitee.com/winjayq/ios_reverse_code_injection