本記事を読むとわかる事。
アセンブリ言語とはどのようなものか。
え??そんなのプログラミングでしょ!!
そういう方はフィードバック下さい。
内容は、アセンブリの1から100までをきっちり載せていきます。
さて、iOSにおけるアセンブリは各アプリ全てに共通すると考えられます(一部除く)
そしてiOSには全てipaで暗号化されています。
バイナリファイルを見るためにはまず、復号化をしなければいけません。
復号化はどのアプリでも構いません。
そしてアセンブリ列を見ると
アセンブリ言語にはズラーとMov w10,#100など文字がたくさん並んでいることかと思います。
これをバイナリファイルで見てみるとアセンブリのコードが16進数になって表示されています。
つまりバイナリエディタからデータを通常は見る事が困難なのでアセンブリから見ようというわけです。
バイナリエディタは様々な用途で使われておりますが、基本的にテキスト表示にしてバイナリの文字列を見るのはほぼ困難かと思われます。
よくゲームのバグにバイナリエディタなど要する場合がありますが、どのように一体変更する場所を見つけるのかはアセンブリにする必要があったわけです。
アセンブリを利用するとゲームの処理方法やここからここまでが素材を配置するアセンブリかーなど、ここからここまでがデータ処理に関するものが出てるのかなどわかると思います。
実際にコードを書いてみましょう。
for i in {1..99}; do
otool -tv /var/mobile/Documents/asm/padd/pad | grep -i "ldrh[[:space:]]*w8[[:space:]]*,[[:space:]]*\[x$i\]" >> //var/mobile/Containers/Shared/AppGroup/.jbroot-408FAFB1DFB1843B/var/mobile/Documents/asm/padd/ldr/ldrh8.txt
画像はアセンブリを表示させるためのコードです。
その中で主にcsetがbool値となってくる場合が多いです。