Instructions simples d'installation et de configuration de développement inverse iOS-theos

Développement inverse iOS - installation et utilisation des outils de décompression dumpdecrypted et frida-ios-dump

Introduction : Le dernier article parlait de l'outil de déballage, et aujourd'hui c'est le theos, car l'installation de celui-ci gaspille aussi beaucoup de cellules cérébrales, et le cloné N plus 1 fois est un échec. Enregistrez comment le résoudre, j'espère que les amis intéressés par l'apprentissage de l'ingénierie inverse pourront lire cet article pour éviter les pièges.

Installer

  • Cela peut être dû à des problèmes de réseau domestique, les theos n'ont pratiquement pas réussi à cloner sur gitHub.

  • Je cherchais depuis longtemps des informations sur Internet et je l'ai finalement résolu

  • Merci : installation et entrée de ios reverse theos (1)

Résumez brièvement les étapes :

  1. brew install ldid
  2. Définir les variables d'environnement

command open ~/.zprofile, mettez ces deux phrases après le fichier .profile

export THEOS=~/theos
export PATH=$THEOS/bin:$PATH
复制代码

Fermez le fichier .profile, commandesource ~/.zprofile

  • Description de la configuration des variables d'environnement :
  1. L'information que j'ai vue sur Internet est de mettre la variable d'environnement dans le .bash_profilefichier.Je l'ai également essayé et j'ai trouvé un problème.Si le terminal est chargé à l'aide de zsh, la variable d'environnement prendra effet à .bash_profilechaque ouverture du terminal . source ~/.bash_profileVérifiez les informations, mettez la source ~/.bash_profilecommande à l' ~/.zshrcarrière du fichier, vous pouvez résoudre ce problème. (ou configurez bash pour charger)
  1. N'utilisez pas de commandes pour définir directement les variables d'environnement, car en utilisant les commandes echo "export PATH=$THEOS/bin:$PATH" >> ~/.zprofile, le chemin est directement développé dans le fichier .zprofile, ce qui n'est pas très agréable, alors écrivez-le manuellement.
  1. Si le clone échoue selon la méthode officielle , téléchargez directement l'archive zip de theos~/theos et décompressez-la dans le chemin.

  2. Package de dépendance de clonage manuel, commandecd $THEOS/vendor

git clone git://github.com/theos/dm.pl.git
git clone git://github.com/theos/headers.git/   //clone完成需要将headers改成include,其他的依赖直接用默认名称就可以
git clone git://github.com/theos/lib.git
git clone git://github.com/theos/logos.git
git clone git://github.com/theos/nic.git
git clone git://github.com/theos/templates.git
复制代码
  1. Téléchargez directement sdks ==> Portal , décompressez-le et placez-le dans le dossier sdks de theos.

  2. Commande Terminal nic.pl, si l'installation réussit, vous pouvez directement créer le projet.

Créer un projet

  1. cd dans le répertoire où vous devez créer le projet
  2. Commandenic.pl
NIC 2.0 - New Instance Creator
------------------------------
  [1.] iphone/activator_event
  [2.] iphone/activator_listener
  [3.] iphone/application_modern
  [4.] iphone/application_swift
  [5.] iphone/cydget
  [6.] iphone/flipswitch_switch
  [7.] iphone/framework
  [8.] iphone/library
  [9.] iphone/notification_center_widget
  [10.] iphone/notification_center_widget-7up
  [11.] iphone/preference_bundle_modern
  [12.] iphone/theme
  [13.] iphone/tool
  [14.] iphone/tool_swift
  [15.] iphone/tweak
  [16.] iphone/tweak_with_simple_preferences
  [17.] iphone/xpc_service
Choose a Template (required): 15 -->如果是hook,直接填写 15
Project Name (required): xxx --->项目名随便填
Package Name [com.yourcompany.xxx]: yourcompany.xxx --->随便填
Author/Maintainer Name [FRZeng]: nnn --->随便填
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: bundle ID --->需要hook什么App,就填写该App的bundle ID
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: --->直接跳过
Instantiating iphone/tweak in xxx/...
Done. --->项目创建完成
复制代码

utiliser

  1. Faites glisser l'ensemble du projet dans Sublime Text

  2. Makefile d'emplacement

Ajouter THEOS_DEVICE_IP et THEOS_DEVICE_PORT

export THEOS_DEVICE_IP = localhost  //配置IP
export THEOS_DEVICE_PORT = 10010 //端口

TARGET := iphone:clang:latest:7.0
INSTALL_TARGET_PROCESSES = SpringBoard


include $(THEOS)/makefiles/common.mk

TWEAK_NAME = xxx

xxx_FILES = Tweak.x
xxx_CFLAGS = -fobjc-arc

include $(THEOS_MAKE_PATH)/tweak.mk
复制代码
  1. Une fois la configuration terminée, écrivez le code dans le fichier Tweak.x.
%hook XMLiveOrListenTogetherView //引用需要hook的App里的头文件

//拦截方法
- (id)init{
	return nil;
}

%end 

复制代码
  1. Une fois le code terminé, le terminal cd dans le dossier du projet theos (gardez le téléphone connecté à l'ordinateur)
  1. Commandemake
  2. Commandemake package
  3. Commandemake install
frzeng@192 tingTweak % make  <========
==> Notice: Build may be slow as Theos isn’t using all available CPU cores on this computer. Consider upgrading GNU Make: https://github.com/theos/theos/wiki/Parallel-Building
> Making all for tweak tingTweak…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (armv7)…
==> Linking tweak tingTweak (armv7)…
ld: warning: building for iOS, but linking in .tbd file (/Users/frzeng/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for iOS Simulator
==> Generating debug symbols for tingTweak…
rm /Users/frzeng/Desktop/nixiangCode/tingTweak/.theos/obj/debug/armv7/Tweak.x.m
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64)…
==> Linking tweak tingTweak (arm64)…
ld: warning: building for iOS, but linking in .tbd file (/Users/frzeng/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for iOS Simulator
==> Generating debug symbols for tingTweak…
rm /Users/frzeng/Desktop/nixiangCode/tingTweak/.theos/obj/debug/arm64/Tweak.x.m
==> Merging tweak tingTweak…
==> Signing tingTweak… <<<<<<<==============
frzeng@192 tingTweak % make package  <========
==> Notice: Build may be slow as Theos isn’t using all available CPU cores on this computer. Consider upgrading GNU Make: https://github.com/theos/theos/wiki/Parallel-Building
> Making all for tweak tingTweak…
make[2]: Nothing to be done for `internal-library-compile'.
> Making stage for tweak tingTweak…
dm.pl: building package `com.gemd.iting:iphoneos-arm' in `./packages/com.gemd.iting_0.0.1-1+debug_iphoneos-arm.deb' <<<<<<<==============
frzeng@192 tingTweak % make install  <========
==> Installing…
(Reading database ... 5368 files and directories currently installed.)
Preparing to unpack /tmp/_theos_install.deb ...
Unpacking com.gemd.iting (0.0.1-1+debug) over (0.0.1-1+debug) ...
Setting up com.gemd.iting (0.0.1-1+debug) ...
==> Unloading SpringBoard…  <<<<<<<==============
frzeng@192 tingTweak %
复制代码

<<<<<<<============== Pointez sur la dernière étape de chaque commande, il n'y a pas de problème, le crochet est réussi.

supprimer le plug-in

Si vous devez supprimer le plug-in de crochet sur le téléphone

Library/MobileSubstrate/DynamicLibraries/Rechercher dans le téléphone

Il y a deux fichiers : un fichier plist, un fichier dylib à supprimer directement

》》》En ce qui concerne le développement de theos, je suis également novice. Si vous avez des amis qui apprennent l'ingénierie inverse ensemble, vous êtes invités à communiquer avec eux.

Je suppose que tu aimes

Origine juejin.im/post/6961975578631241765
conseillé
Classement