IPC Issue

Le but est de trouver l'url scheme qui va nous permettre d'appeler un numéro mais sans être sur l'application.

Premièrement il faut trouver le schema d'url de base de l'application et ce schéma se trouve dans le fichier Info.plist qu'on récupère en unzipant le fichier ipa :

On a le schéma de base dès à présent qui est dvia:// ou dviaswift://

Désormais il faut trouver la suite du schéma afin d'appeler. Pour ce faire j'ai d'abord tracer à l'aide de frida-trace la classe UIApplication et la méthode openURL pour savoir s'il était appelé et ainsi lire les paramètres de la fonction et ainsi récupérer le reste du schèma mais sans succès car la fonction n'est pas appelé.

Je décide donc de partir à la chasse de url scheme codé en dur dans le binaire en faisant du reverse enginnering mais encore une fois rien. Je décide donc de trouver la fonction responsable du challenge en cherchant la string "Ring Ring" sur ghidra :

Je double clique sur la string et il me renvoie ici :

Je double clique de nouveau à l'emplacement du carré rouge afin de voir où cette string est appelé :

Grâce à cette étape j'ai l'offset pour chercher la fonction sur cutter et avoir une meilleur visualisation :

On remarque l'appel d'une fonction prenant le paramètre /phone/call_number/ on peut donc en déduire que c'est le schéma d'url qu'on cherchait et on peut la tester avec l'application note en marquant :

dvia://phone/call_number/numero_telephone

Exemple : dvia://phone/call_number/555555

Le challenge est réussi.

TIPS !!!!!!!!!!!!!

faire un strings :// sur le binaire de l'app

strings binary_file | grep -E '.*\/.*'

Last updated