Git Product home page Git Product logo

clutch's People

Contributors

c0deh4cker avatar chichou avatar creker avatar hirakujira avatar it0ny avatar jack980517 avatar jayluxferro avatar ninjalikescheez avatar palmerc avatar saagarjha avatar swigger avatar tatsh avatar ttwj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clutch's Issues

Fast Flashlight: failed to dumb a page (32)

App Fast Flashlight:https://itunes.apple.com/us/app/fast-flashlight/id387576561?mt=8

Log:
You're using a Clutch development build, checking for updates..
Your version of Clutch is up to date!

Clutch 1.4 (git-8)

DEBUG | Preferences.m:40 | preferences_location: /etc/clutch.conf
Cracking Fast Flashlight...
DEBUG | Cracker.m:146 | ------Prepairing from Installed App------
DEBUG | Cracker.m:158 | Temporary Directory: /tmp/clutch_oAGPd6ob/Payload/Fast Flashlight.app
Creating working directory...
DEBUG | Cracker.m:169 | Temporary Binary Path: /tmp/clutch_oAGPd6ob/Payload/Fast Flashlight.app/Fast Flashlight
DEBUG | Cracker.m:177 | Binary Path: /private/var/mobile/Applications/6A51872A-844A-4EFC-A001-6889B032C794/Fast Flashlight.app/Fast Flashlight
DEBUG | Cracker.m:179 | -------End Prepairing Installed App-----
DEBUG | Cracker.m:186 | ------Generating Paths------
DEBUG | Cracker.m:202 | /var/mobile/Applications/633D5AD6-D8FA-46F8-B5FE-F585DC2D4D00/Documents//Fast Flashlight-v2.2-Orbicos-ICPDA-(Clutch-1.4).ipa
DEBUG | Cracker.m:204 | ------End Generating Paths-----
DEBUG | Cracker.m:212 | ------Executing crack------
DEBUG | izip.m:29 | created IPAPAth /var/mobile/Applications/633D5AD6-D8FA-46F8-B5FE-F585DC2D4D00/Documents//Fast Flashlight-v2.2-Orbicos-ICPDA-(Clutch-1.4).ipa
DEBUG | Cracker.m:232 | ------Crack Operation------
DEBUG | Cracker.m:234 | beginning crack operation
DEBUG | Binary.m:390 | attempting to crack binary to file! finalpath /tmp/clutch_oAGPd6ob/Payload/Fast Flashlight.app/Fast Flashlight
DEBUG | Binary.m:391 | DEBUG: binary path /private/var/mobile/Applications/6A51872A-844A-4EFC-A001-6889B032C794/Fast Flashlight.app/Fast Flashlight
DEBUG | Cracker.m:279 | ------Zip Operation------
DEBUG | Cracker.m:280 | beginning zip operation
DEBUG | Cracker.m:284 | using native zip
DEBUG | Binary.m:400 | basedir ok
Performing initial analysis...
DEBUG | Binary.m:408 | open ok
DEBUG | Binary.m:425 | local arch - arm64
DEBUG | Binary.m:528 | FAT binary detected
DEBUG | Binary.m:530 | nfat_arch 2
DEBUG | Binary.m:541 | arch arch subtype 201326592
DEBUG | Binary.m:541 | arch arch subtype 201326592
DEBUG | Binary.m:551 | currently cracking arch 9
DEBUG | Binary.m:592 | arch compatible with device, but swap
DEBUG | Binary.m:1392 | ##### SWAPPING ARCH #####
DEBUG | Binary.m:1393 | local arch arm64
DEBUG | Binary.m:1416 | arch arch arch ok ok
DEBUG | Binary.m:1420 | found arch to swap! 9
DEBUG | Binary.m:1428 | largest_cpusubtype: 11
DEBUG | Binary.m:1439 | swapp swapp: replaced 9's cpusubtype to 9
DEBUG | Binary.m:1443 | swap swap: replaced 11's cpusubtype to 11
DEBUG | Binary.m:1465 | swap: Wrote new arch info
DEBUG | Binary.m:700 | currently cracking 32bit portion
DEBUG | Binary.m:1060 | 32bit dumping, offset 16384
dumping binary: analyzing load commands
dumping binary: obtaining ptrace handle
dumping binary: forking to begin tracing
dumping binary: successfully forked
dumping binary: obtaining mach port
dumping binary: preparing code resign
dumping binary: preparing to dump
dumping binary: ASLR enabled, identifying dump location dynamically
DEBUG | Binary.m:1222 | 32-bit Region Size: 16384 16384
dumping binary: performing dump
dumping binary: failed to dump a page (32)

0x4000 binary detected, please report this app at

http://github.com/KJCracks/Clutch/issues

DEBUG | Binary.m:619 | Cannot crack stripped armv7 portion of binary.
DEBUG | Cracker.m:240 | Failed to crack Fast Flashlight
packaging: crack failed, killing zip thread
Killed: 9

Added Arabic language.. Localization.h

//
// Localization.h
// Clutch
//

import <Foundation/Foundation.h>

typedef enum {
CLUTCH_DEV_CHECK_UPDATE,
CLUTCH_DEV_UP_TO_DATE,
CLUTCH_DEV_NOT_UP_TO_DATE, // Added 19th Jan
CLUTCH_PERMISSION_ERROR, // Added 19th Jan
CLUTCH_NO_APPLICATIONS, // Added 19th Jan
CLUTCH_CRACKING_ALL, // Added 19th Jan
CLUTCH_ENABLED_YOPA, // Added 19th Jan

CONFIG_DOWNLOADING_FILES, // Added 20th Jan
CONFIG_NO_MEMORY, // Added 20th Jan
CONFIG_SAVING, // Added 20th Jan
CONFIG_USING_DEFAULT, // Added 20th Jan

CRACKING_DIRECTORY_ERROR, // Added 20th Jan
CRACKING_APPNAME,
CRACKING_CREATE_WORKING_DIR,
CRACKING_PERFORMING_ANALYSIS,
CRACKING_PERFORMING_PREFLIGHT,
DUMPING_ANALYZE_LOAD_COMMAND,
DUMPING_OBTAIN_PTRACE,
DUMPING_FORKING,
DUMPING_FORK_SUCCESS,
DUMPING_OBTAIN_MACH_PORT,
DUMPING_CODE_RESIGN,
DUMPING_PREPARE_DUMP,
DUMPING_ASLR_ENABLED,
DUMPING_PERFORM_DUMP,
DUMPING_PATCH_CRYPTID,
DUMPING_NEW_CHECKSUM,

DUMPING_OVERDRIVE_PATCH_HEADER,
DUMPING_OVERDRIVE_PATCH_MAXPROT,
DUMPING_OVERDRIVE_PATCH_CRYPTID,
DUMPING_OVERDRIVE_ATTACH_DYLIB,

SWAP_CRACKING_PORTION,

PACKAGING_WAITING_ZIP,
PACKAGING_FAILED_KILL_ZIP,
PACKAGING_ITUNESMETADATA,
PACKAGING_IPA,
PACKAGING_COMPRESSION_LEVEL,

COMPLETE_ELAPSED_TIME,
COMPLETE_APPS_CRACKED,
COMPLETE_APPS_FAILED,
COMPLETE_TOTAL,

} Message;

typedef enum {
en,
zh, // chinese
de, // german
fr, // french
hr, // serbian/croatian
ru // russian
ar, // arabic

} Lang;

static NSString * const en_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"You're using a Clutch development build, checking for updates..",
[CLUTCH_DEV_UP_TO_DATE] = @"Your version of Clutch is up to date!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"Your current version of Clutch is outdated!\nPlease get the latest version!\n",
[CLUTCH_PERMISSION_ERROR] = @"You must be root to use Clutch.",
[CLUTCH_NO_APPLICATIONS] = @"There are no encrypted applications on this device.",
[CLUTCH_CRACKING_ALL] = @"Cracking all encrypted applications on this device.",
[CLUTCH_ENABLED_YOPA] = @"YOPA is enabled.",

[CONFIG_DOWNLOADING_FILES] = @"Downloading config files...",
[CONFIG_NO_MEMORY] = @"No memory",
[CONFIG_SAVING] = @"Saving configuration settings...",
[CONFIG_USING_DEFAULT] = @"Using default value...",

[CRACKING_DIRECTORY_ERROR] = @"error: could not create working directory.",
[CRACKING_APPNAME] = @"Cracking %@...",
[CRACKING_CREATE_WORKING_DIR] = @"Creating working directory...",
[CRACKING_PERFORMING_ANALYSIS] = @"Performing initial analysis...",
[CRACKING_PERFORMING_PREFLIGHT] = @"Performing cracking preflight...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"dumping binary: analyzing load commands",
[DUMPING_OBTAIN_PTRACE] = @"dumping binary: obtaining ptrace handle",
[DUMPING_FORKING] = @"dumping binary: forking to begin tracing",
[DUMPING_FORK_SUCCESS] = @"dumping binary: successfully forked",
[DUMPING_OBTAIN_MACH_PORT] = @"dumping binary: obtaining mach port",
[DUMPING_CODE_RESIGN] = @"dumping binary: preparing code resign",
[DUMPING_PREPARE_DUMP] = @"dumping binary: preparing to dump",
[DUMPING_ASLR_ENABLED] = @"dumping binary: ASLR enabled, identifying dump location dynamically",
[DUMPING_PERFORM_DUMP] = @"dumping binary: performing dump",
[DUMPING_PATCH_CRYPTID] = @"dumping binary: patched cryptid",
[DUMPING_NEW_CHECKSUM] = @" dumping binary: writing new checksum",

[SWAP_CRACKING_PORTION] = @"swap: currently cracking armv%u portion",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"dumping binary: patched mach header (overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"dumping binary: patched maxprot (overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"dumping binary: patched cryptid (overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"dumping binary: attaching overdrive DYLIB (overdrive)",

[PACKAGING_WAITING_ZIP] = @"packaging: waiting for zip thread",
[PACKAGING_FAILED_KILL_ZIP] = @"packaging: crack failed, killing zip thread",
[PACKAGING_ITUNESMETADATA] = @"packaging: censoring iTunesMetadata",
[PACKAGING_IPA] = @"packaging: compressing IPA",
[PACKAGING_COMPRESSION_LEVEL] = @"packaging: compression level %u",

[COMPLETE_ELAPSED_TIME] = @"elapsed time: %.02fs",
[COMPLETE_APPS_CRACKED] = @"\nApplications cracked:\n",
[COMPLETE_APPS_FAILED] = @"\nApplications that failed:\n",
[COMPLETE_TOTAL] = @"\nTotal success: \033[0;32m%u\033[0m   Total failed: \033[0;32m%u\033[0m ",

};

static NSString * const zh_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"您正使用Clutch 的开发版本,正在检查更新...",
[CLUTCH_DEV_UP_TO_DATE] = @"您的Clutch 是最新版!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"您使用的开发版本需要更新!",
[CLUTCH_PERMISSION_ERROR] = @"Clutch 需要 root",
[CLUTCH_NO_APPLICATIONS] = @"没有任何正版应用!",
[CLUTCH_CRACKING_ALL] = @"正破解所有得应用..",
[CLUTCH_ENABLED_YOPA] = @"[Not yet translated] YOPA is enabled.",

[CONFIG_DOWNLOADING_FILES] = @"正下载组态文件..",
[CONFIG_NO_MEMORY] = @"错误:内存已满",
[CONFIG_SAVING] = @"正保存组态文件..",
[CONFIG_USING_DEFAULT] = @"使用预定的选择..",

[CRACKING_DIRECTORY_ERROR] = @"错误:不能创造工程目录",
[CRACKING_APPNAME] = @"正在破解 %@",
[CRACKING_CREATE_WORKING_DIR] = @"正在创建工作目录...",
[CRACKING_PERFORMING_ANALYSIS] = @"正在进行初始化解析...",
[CRACKING_PERFORMING_PREFLIGHT] = @"进行破解前准备...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"破解:分析 load 命令",
[DUMPING_OBTAIN_PTRACE] = @"破解:正取得 ptrace 句柄",
[DUMPING_FORKING] = @"破解: 正在分支",
[DUMPING_FORK_SUCCESS] = @"破解:分支成功!",
[DUMPING_OBTAIN_MACH_PORT] = @"破解:正在获取 mach 端口",
[DUMPING_CODE_RESIGN] = @"破解:正在重新签名",
[DUMPING_PREPARE_DUMP] = @"破解:开始转储",
[DUMPING_ASLR_ENABLED] = @"破解:软件有 ASLR,正寻找动态转储点",
[DUMPING_PERFORM_DUMP] = @"破解:进行转储",
[DUMPING_PATCH_CRYPTID] = @"破解:破解 crytid",
[DUMPING_NEW_CHECKSUM] = @"破解:写入新的校验",

[SWAP_CRACKING_PORTION] = @"转换: 开始破解 armv%u 部分",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"转储中: 破解mach头... (屏蔽反破解)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"转储中: 破解maxprot…  (屏蔽反破解)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"转储中: 破解加密位",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"转储中: 挂载屏蔽反破解动态库",

[PACKAGING_WAITING_ZIP] = @"包装:等待压缩线程",
[PACKAGING_FAILED_KILL_ZIP] = @"包装:破解失败, 停止压缩线程",
[PACKAGING_ITUNESMETADATA] = @"包装:过滤 iTunesMetadata 文件",
[PACKAGING_IPA] = @"包装:正在打包文件",
[PACKAGING_COMPRESSION_LEVEL] = @"包装:压缩级别 - 0",

[COMPLETE_ELAPSED_TIME] = @"执行时间: %.02f 秒",
[COMPLETE_APPS_CRACKED] = @"\n完成破解的应用:\n",
[COMPLETE_APPS_FAILED] = @"\n破解失败的应用:\n",
[COMPLETE_TOTAL] = @"\n成功总计: \033[0;32m%u\033[0m   失败总计: \033[0;32m%u\033[0m ",

};

static NSString * const de_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"Du benutzt eine Clutch-Entwicklungsversion, überprüfe auf Updates...",
[CLUTCH_DEV_UP_TO_DATE] = @"Die Version von Clutch ist aktuell!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"Dein Clutch ist outdated!\nBitte lade dir die neuste Version herunter!\n",
[CLUTCH_PERMISSION_ERROR] = @"Du musst als root eingeloggt seien um Clutch zu nutzen.",
[CLUTCH_NO_APPLICATIONS] = @"Es gibt keine encrypteten Applikationen auf diesem Gerät.",
[CLUTCH_CRACKING_ALL] = @"Cracke alle encrypteten Applikation.",
[CLUTCH_ENABLED_YOPA] = @"YOPA ist aktiviert.",

[CONFIG_DOWNLOADING_FILES] = @"Lade die Knofigurationsdaten herunter...",
[CONFIG_NO_MEMORY] = @"Kein freier Speicher.",
[CONFIG_SAVING] = @"Speichere Konfigurationsdaten...",
[CONFIG_USING_DEFAULT] = @"Benutze Voreinstellungen...",

[CRACKING_DIRECTORY_ERROR] = @"Fehler: Konnte keinen Arbeitsordner erstellen.",
[CRACKING_APPNAME] = @"Cracke %@...",
[CRACKING_CREATE_WORKING_DIR] = @"Erstelle Arbeitsverzeichnis...",
[CRACKING_PERFORMING_ANALYSIS] = @"Führe erste Analyse durch...",
[CRACKING_PERFORMING_PREFLIGHT] = @"Führe das Cracken des preflights durch...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"Binary erhalten: Analysiere Ladebefehle",
[DUMPING_OBTAIN_PTRACE] = @"Binary erhalten: Erhalte ptrace handle",
[DUMPING_FORKING] = @"Binary erhalten: Pieksen um zu starten",
[DUMPING_FORK_SUCCESS] = @"Binary erhalten: Erfolgreich gepiekst",
[DUMPING_OBTAIN_MACH_PORT] = @"Binary erhalten: Erhalte den mach port",
[DUMPING_CODE_RESIGN] = @"Binary erhalten: Bereite den Code-Resign vor",
[DUMPING_PREPARE_DUMP] = @"Binary erhalten: Bereite das eigentliche Erhalten vor",
[DUMPING_ASLR_ENABLED] = @"Binary erhalten: ASLR aktiviert, identifiziere dumping-Verzeichnis manuell",
[DUMPING_PERFORM_DUMP] = @"Binary erhalten: Führe den Dump durch",
[DUMPING_PATCH_CRYPTID] = @"Binary erhalten: Cryptid gepatched",
[DUMPING_NEW_CHECKSUM] = @"Binary erhalten: Schreibe neue checksum-Daten",

[SWAP_CRACKING_PORTION] = @"Tauschen: Cracke momentan armv%u portion",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"Binary erhalten: Mach header gepatched (Overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"Binary erhalten: Maxprot gepatched (Overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"Binary erhalten: Cryptid gepatched (Overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"Binary erhalten: Hänge Overdrive-DYLIB an (Overdrive)",

[PACKAGING_WAITING_ZIP] = @"Zusammenpacken: Warte auf den zip-thread",
[PACKAGING_FAILED_KILL_ZIP] = @"Zusammenpacken: Crack fehlgeschlagen, eliminiere zip-thread",
[PACKAGING_ITUNESMETADATA] = @"Zusammenpacken: Zensiere die iTunesMetadata-Datei",
[PACKAGING_IPA] = @"Zusammenpacken: Komprimiere die IPA",
[PACKAGING_COMPRESSION_LEVEL] = @"Zusammenpacken: Kompressionslevel ist %u",

[COMPLETE_ELAPSED_TIME] = @"Vergangene Zeit: %ums",
[COMPLETE_APPS_CRACKED] = @"\nApplikationen gecracked:\n",
[COMPLETE_APPS_FAILED] = @"\nApplikationen, die fehlgeschlagen sind:\n",
[COMPLETE_TOTAL] = @"\nInsgesamt erfolgreich: \033[0;32m%u\033[0m Insgesamt fehlgeschlagen: \033[0;32m%u\033[0m ",

};

static NSString * const fr_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"Vous utilisez une version de dÈveloppement de Clutch, vÈrification des mises ‡ jour...",
[CLUTCH_DEV_UP_TO_DATE] = @"Votre version de Clutch est ‡ jour !",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"Votre version Clutch n'est pas ‡ jour !\nVeuillez tÈlÈcharger la derniËre version !\n",
[CLUTCH_PERMISSION_ERROR] = @"Vous devez Ítre root pour utiliser Clutch.",
[CLUTCH_NO_APPLICATIONS] = @"Il n'y a aucune application cryptÈe sur cet appareil.",
[CLUTCH_CRACKING_ALL] = @"Crackage de toutes les applications cryptÈes sur cet appareil.",
[CLUTCH_ENABLED_YOPA] = @"Yopa est activÈ.",

[CONFIG_DOWNLOADING_FILES] = @"TÈlÈchargement des fichiers de configuration...",
[CONFIG_NO_MEMORY] = @"Pas de mÈmoire",
[CONFIG_SAVING] = @"Enregistrement des paramËtres de configuration...",
[CONFIG_USING_DEFAULT] = @"Utilisation de la valeur par dÈfaut...",

[CRACKING_DIRECTORY_ERROR] = @"erreur: impossible de crÈer le rÈpertoire de travail.",
[CRACKING_APPNAME] = @"Craquage %@...",
[CRACKING_CREATE_WORKING_DIR] = @"CrÈation du rÈpertoire de travail...",
[CRACKING_PERFORMING_ANALYSIS] = @"ExÈcute une premiËre analyse...",
[CRACKING_PERFORMING_PREFLIGHT] = @"ExÈcution du craquage de prÈ-installation...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"Dumping du binaire: analyse du chargement des commandes",
[DUMPING_OBTAIN_PTRACE] = @"Dumping du binaire: RÈcupÈration du traitement de ptrace",
[DUMPING_FORKING] = @"Dumping du binaire: sÈparation pour commencer ‡ tracer",
[DUMPING_FORK_SUCCESS] = @"Dumping du binaire: sÈparation rÈussie",
[DUMPING_OBTAIN_MACH_PORT] = @"Dumping du binaire: Obtention du port correspondant",
[DUMPING_CODE_RESIGN] = @"Dumping du binaire: prÈparation du code",
[DUMPING_PREPARE_DUMP] = @"Dumping du binaire: prÈparation du vidage",
[DUMPING_ASLR_ENABLED] = @"Dumping du binaire: ASLR activÈ, identification de l'emplacement de vidage dynamique",
[DUMPING_PERFORM_DUMP] = @"Dumping du binaire: exÈcution du vidage",
[DUMPING_PATCH_CRYPTID] = @"Dumping du binaire: cryptid patchÈ",
[DUMPING_NEW_CHECKSUM] = @" Dumping du binaire: Ècriture de la nouvelle somme de contrÙle",

[SWAP_CRACKING_PORTION] = @"swap: craquage de la partie armv%u",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"Dumping du binaire: patchage de l'en-tÍte correspondante (overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"Dumping du binaire: patch maxprot (overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"Dumping du binaire: patch cryptid (overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"Dumping du binaire: attache overdrive DYLIB (overdrive)",

[PACKAGING_WAITING_ZIP] = @"Package: patienter pendant la crÈation du zip",
[PACKAGING_FAILED_KILL_ZIP] = @"Package: le crack a ÈchouÈ, suppression de la crÈation du zip",
[PACKAGING_ITUNESMETADATA] = @"Package: suppression d'iTunesMetadata",
[PACKAGING_IPA] = @"Package: Compression de l'IPA",
[PACKAGING_COMPRESSION_LEVEL] = @"Package: Compression de niveau %u",

[COMPLETE_ELAPSED_TIME] = @"Temps ÈcoulÈ: %ums",
[COMPLETE_APPS_CRACKED] = @"\nApplications crackÈes:\n",
[COMPLETE_APPS_FAILED] = @"\nApplications non crackÈes:\n",
[COMPLETE_TOTAL] = @"\nSuccËs: \033[0;32m%u\033[0m   EchouÈs: \033[0;32m%u\033[0m ",

};

static NSString * const hr_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"Koristite beta verziju Clutch, proveravam ažuriranja",
[CLUTCH_DEV_UP_TO_DATE] = @"Vaša verzija Clutch je najnovija!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"Vaša trenutna verzija Clutch nije najnovija!\nMolimo Vas preuzmite najnoviju verziju!\n",
[CLUTCH_PERMISSION_ERROR] = @"Morate biti root korisnik da biste koristili Clutch.",
[CLUTCH_NO_APPLICATIONS] = @"Ne postoje enkriptovane aplikacije na Vašem uređaju.",
[CLUTCH_CRACKING_ALL] = @"Crackujem sve enkriptovane aplikacije.",
[CLUTCH_ENABLED_YOPA] = @"YOPA je omogućen.",

[CONFIG_DOWNLOADING_FILES] = @"Preuzimam fajlove za konfigurisanje...",
[CONFIG_NO_MEMORY] = @"Nema memorije",
[CONFIG_SAVING] = @"Čuvam podešene konfiguracije...",
[CONFIG_USING_DEFAULT] = @"Koristim podrazumevanu vrednost...",

[CRACKING_DIRECTORY_ERROR] = @"greška: ne mogu da napravim direktorijum za rad.",
[CRACKING_APPNAME] = @"Crackujem %@...",
[CRACKING_CREATE_WORKING_DIR] = @"Pravim direktorijum za rad...",
[CRACKING_PERFORMING_ANALYSIS] = @"Izvršavam početne analize...",
[CRACKING_PERFORMING_PREFLIGHT] = @"Izvršavam provere pred početak crackovanja...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"izbacujem binary: Analiziram komande pri učitavanju",
[DUMPING_OBTAIN_PTRACE] = @"izbacujem binary: uzimam ptrace handle",
[DUMPING_FORKING] = @"izbacujem binary: forkujem da započnem traženje",
[DUMPING_FORK_SUCCESS] = @"izbacujem binary: forkovanje uspešno",
[DUMPING_OBTAIN_MACH_PORT] = @"izbacujem binary: uzimam mach port",
[DUMPING_CODE_RESIGN] = @"izbacujem binary: spremam potpisivanje koda",
[DUMPING_PREPARE_DUMP] = @"izbacujem binary: spremam se za izbacivanje",
[DUMPING_ASLR_ENABLED] = @"izbacujem binary: ASLR omogućen, dinamički identifikujem lokaciju izbacivanja",
[DUMPING_PERFORM_DUMP] = @"izbacujem binary: izvršavam izbacivanje",
[DUMPING_PATCH_CRYPTID] = @"izbacujem binary: cryptid je zakrpljen",
[DUMPING_NEW_CHECKSUM] = @"izbacujem binary: pišem novi checksum",

[SWAP_CRACKING_PORTION] = @"izmenjujem: trenutno crackujem armv%u deo",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"izbacujem binary: mach header zakrpljen (overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"izbacujem binary: maxprot zakrpljen (overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"izbacujem binary: cryptid zakrpljen (overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"izbacujem binary: vezujem overdrive DYLIB (overdrive)",

[PACKAGING_WAITING_ZIP] = @"pakujem: čekam zip thread",
[PACKAGING_FAILED_KILL_ZIP] = @"pakujem: crackovanje neuspešno, ubijam zip thread",
[PACKAGING_ITUNESMETADATA] = @"pakujem: cenzurišem iTunesMetadata",
[PACKAGING_IPA] = @"pakujem: kompresujem IPA",
[PACKAGING_COMPRESSION_LEVEL] = @"pakujem: nivo kompresije %u",

[COMPLETE_ELAPSED_TIME] = @"utrošeno vreme» %ums",
[COMPLETE_APPS_CRACKED] = @"\nUspešno:\n",
[COMPLETE_APPS_FAILED] = @"\nBezuspešno:\n",
[COMPLETE_TOTAL] = @"\nUkupno uspešno: \033[0;32m%u\033[0m   Ukupno bezuspešno: \033[0;32m%u\033[0m ",

};

// Translator: OdNairy
static NSString * const ru_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"Вы используете версию для разработчиков, подождите, идёт проверка обновлений..",
[CLUTCH_DEV_UP_TO_DATE] = @"У вас самая последняя версия Clutch!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"Ваша версия Clutch устарела!\nПожалуйста, обновите Clutch!\n",
[CLUTCH_PERMISSION_ERROR] = @"Для работы Clutch необходимы root-права",
[CLUTCH_NO_APPLICATIONS] = @"Необнаружено зашифрованных приложений на этом устройстве.",
[CLUTCH_CRACKING_ALL] = @"Идёт взлом всех зашифрованных приложений на этом устровстве.",
[CLUTCH_ENABLED_YOPA] = @"YOPA активирован.",

[CONFIG_DOWNLOADING_FILES] = @"Скачиваются файлы конфигурации...",
[CONFIG_NO_MEMORY] = @"Недостаточно памяти",
[CONFIG_SAVING] = @"Сохраняю файлы конфигурации...",
[CONFIG_USING_DEFAULT] = @"Будет использовано значение по-умолчанию...",

[CRACKING_DIRECTORY_ERROR] = @"Ошибка: невозможно создать рабочую директорию.",
[CRACKING_APPNAME] = @"Взламываю %@...",
[CRACKING_CREATE_WORKING_DIR] = @"Создаю рабочую директорию...",
[CRACKING_PERFORMING_ANALYSIS] = @"Выполняю первоначальный анализ...",
[CRACKING_PERFORMING_PREFLIGHT] = @"Выполняю подготовку к взлому...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"Дамп бинарного файла: анализ команд загрузки",
[DUMPING_OBTAIN_PTRACE] = @"Дамп бинарного файла: обход ptrace-хендлера",
[DUMPING_FORKING] = @"Дамп бинарного файла: клонирование перед началом трасировки",
[DUMPING_FORK_SUCCESS] = @"Дамп бинарного файла: клонирование успешно завершено",
[DUMPING_OBTAIN_MACH_PORT] = @"Дамп бинарного файла: захват mach port",
[DUMPING_CODE_RESIGN] = @"Дамп бинарного файла: подготовка к переподпики приложения",
[DUMPING_PREPARE_DUMP] = @"Дамп бинарного файла: подготовка к дампу",
[DUMPING_ASLR_ENABLED] = @"Дамп бинарного файла: ASLR включён, определяем место для дампа динамически",
[DUMPING_PERFORM_DUMP] = @"Дамп бинарного файла: выполняется дамп",
[DUMPING_PATCH_CRYPTID] = @"Дамп бинарного файла: изменён cryptid",
[DUMPING_NEW_CHECKSUM] = @" Дамп бинарного файла: запись новой чек-суммы",

[SWAP_CRACKING_PORTION] = @"swap: идёт взлом armv%u архитектуры",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"Дамп бинарного файла: изменён mach header (overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"Дамп бинарного файла: изменён maxprot (overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"Дамп бинарного файла: изменён cryptid (overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"Дамп бинарного файла: добавлен overdrive DYLIB (overdrive)",

[PACKAGING_WAITING_ZIP] = @"Сборка: ожидаем завершения архивирования",
[PACKAGING_FAILED_KILL_ZIP] = @"Сборка: взлом приложения не удался, останавливаем поток архивирования",
[PACKAGING_ITUNESMETADATA] = @"Сборка: игнорируем iTunesMetadata",
[PACKAGING_IPA] = @"Сборка: архивирование IPA-файла",
[PACKAGING_COMPRESSION_LEVEL] = @"Сборка: выбран уровень компрессии %u",

[COMPLETE_ELAPSED_TIME] = @"Затрачено времени: %.02fs",
[COMPLETE_APPS_CRACKED] = @"\nВзломанные приложения:\n",
[COMPLETE_APPS_FAILED] = @"\nНеудачные взломы:\n",
[COMPLETE_TOTAL] = @"\nУдачные взломы: \033[0;32m%u\033[0m   Неудачные взломы: \033[0;32m%u\033[0m ",

};

// Translator: iD70my
static NSString * const ar_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"أنت تستخدم نسخة المطورين ، تحقق من وجود تحديثات",
[CLUTCH_DEV_UP_TO_DATE] = @"هل لديك أخر نسخه من كلاتش!",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"إصدار كلاتش قديم\nالرجاء تحديث كلاتش!\n",
[CLUTCH_PERMISSION_ERROR] = @"يجب الدخول على الروت لإستخدام كلاتش",
[CLUTCH_NO_APPLICATIONS] = @"لا توجد تطبيقات مشفرة على هذا الجهاز.",
[CLUTCH_CRACKING_ALL] = @"جاري تكريك جميع التطبيقات المشفرة على هذا الجهاز.",
[CLUTCH_ENABLED_YOPA] = @"YOPA مفعلة",

[CONFIG_DOWNLOADING_FILES] = @"تحميل ملفات التكوين...",
[CONFIG_NO_MEMORY] = @"لا توجد ذاكرة",
[CONFIG_SAVING] = @"حفظ إعدادات التكوين...",
[CONFIG_USING_DEFAULT] = @"إستخدم القيمة الافتراضية...",

[CRACKING_DIRECTORY_ERROR] = @"خطأ: لا يمكن إنشاء دليل العمل.",
[CRACKING_APPNAME] = @"جاري التكريك %@...",
[CRACKING_CREATE_WORKING_DIR] = @"إنشاء دليل العمل...",
[CRACKING_PERFORMING_ANALYSIS] = @"أداء التحليل الأولي...",
[CRACKING_PERFORMING_PREFLIGHT] = @"أداء الكراك الاختبار المبدئي...",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"فضلا إنتظر: تحميل فرق تحليل",
[DUMPING_OBTAIN_PTRACE] = @"فضلا إنتظر: الحصول على مقبض ptrace",
[DUMPING_FORKING] = @"فضلا إنتظر: التفرع لبدء الإستنساخ",
[DUMPING_FORK_SUCCESS] = @"فضلا إنتظر: تم الإستنساخ بنجاح",
[DUMPING_OBTAIN_MACH_PORT] = @"فضلا إنتظر: الحصول على بورت",
[DUMPING_CODE_RESIGN] = @"فضلا إنتظر: إعداد الكود النهائي",
[DUMPING_PREPARE_DUMP] = @"فضلا إنتظر: التحضير للتفريغ",
[DUMPING_ASLR_ENABLED] = @"فضلا إنتظر: ASLR تفعيل، وتحديد موقع تفريغ حيوي",
[DUMPING_PERFORM_DUMP] = @"فضلا إنتظر: أداء التفريغ",
[DUMPING_PATCH_CRYPTID] = @"فظلا إنتظر: مصحح cryptid",
[DUMPING_NEW_CHECKSUM] = @" كتابة التطبيق الاختباري الجديد",

[SWAP_CRACKING_PORTION] = @"إنتظر: جاري التكريك تم تكريك%u جزء",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"فضلا إنتظر : تصحيح mach header (overdrive)",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"فضلا إنتظر : تصحيح maxprot (overdrive)",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"فضلا إنتظر : تصحيح cryptid (overdrive)",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"فضلا إنتظر : ربط overdrive DYLIB (overdrive)",

[PACKAGING_WAITING_ZIP] = @"فضلا إنتظر : في إنتظار الضغط",
[PACKAGING_FAILED_KILL_ZIP] = @"فشل الكراك : وذلك بسبب قتل الضغط \n تعريب @iD70my",
[PACKAGING_ITUNESMETADATA] = @"فضلا إنتظر : متابعة من iTunesMetadata",
[PACKAGING_IPA] = @"فضلا إنتظر : ضغط IPA ",
[PACKAGING_COMPRESSION_LEVEL] = @"فضلا إنتظر : مستوى الضغط %u",

[COMPLETE_ELAPSED_TIME] = @"الوقت المنقضي: %.02fs",
[COMPLETE_APPS_CRACKED] = @"\nالتطبيقات المكركة:\n",
[COMPLETE_APPS_FAILED] = @"\nالتطبيقات التي فشلت:\n",
[COMPLETE_TOTAL] = @"\nمجموع الناجحة: \033[0;32m%u\033[0m   مجموع الفاشلة: \033[0;32m%u\033[0m ",

};

/*

locale template

static NSString * const template_locale[] = {
[CLUTCH_DEV_CHECK_UPDATE] = @"",
[CLUTCH_DEV_UP_TO_DATE] = @"",
[CLUTCH_DEV_NOT_UP_TO_DATE] = @"",
[CLUTCH_PERMISSION_ERROR] = @"",
[CLUTCH_NO_APPLICATIONS] = @"",
[CLUTCH_CRACKING_ALL] = @"",
[CLUTCH_ENABLED_YOPA] = @"",

[CONFIG_DOWNLOADING_FILES] = @"",
[CONFIG_NO_MEMORY] = @"",
[CONFIG_SAVING] = @"",
[CONFIG_USING_DEFAULT] = @"",

[CRACKING_DIRECTORY_ERROR] = @"",
[CRACKING_APPNAME] = @"",
[CRACKING_CREATE_WORKING_DIR] = @"",
[CRACKING_PERFORMING_ANALYSIS] = @"",
[CRACKING_PERFORMING_PREFLIGHT] = @"",

[DUMPING_ANALYZE_LOAD_COMMAND] = @"",
[DUMPING_OBTAIN_PTRACE] = @"",
[DUMPING_FORKING] = @"",
[DUMPING_FORK_SUCCESS] = @"",
[DUMPING_OBTAIN_MACH_PORT] = @"",
[DUMPING_CODE_RESIGN] = @"",
[DUMPING_PREPARE_DUMP] = @"",
[DUMPING_ASLR_ENABLED] = @"",
[DUMPING_PERFORM_DUMP] = @"",
[DUMPING_PATCH_CRYPTID] = @"",
[DUMPING_NEW_CHECKSUM] = @"",

[SWAP_CRACKING_PORTION] = @"",

[DUMPING_OVERDRIVE_PATCH_HEADER] = @"",
[DUMPING_OVERDRIVE_PATCH_MAXPROT] = @"",
[DUMPING_OVERDRIVE_PATCH_CRYPTID] = @"",
[DUMPING_OVERDRIVE_ATTACH_DYLIB] = @"",

[PACKAGING_WAITING_ZIP] = @"",
[PACKAGING_FAILED_KILL_ZIP] = @"",
[PACKAGING_ITUNESMETADATA] = @"",
[PACKAGING_IPA] = @"",
[PACKAGING_COMPRESSION_LEVEL] = @"",

[COMPLETE_ELAPSED_TIME] = @"",
[COMPLETE_APPS_CRACKED] = @"",
[COMPLETE_APPS_FAILED] = @"",
[COMPLETE_TOTAL] = @"",

};*/

pragma clang diagnostic push

pragma clang diagnostic ignored "-Wformat-nonliteral"

NSString* msg(Message message);

define MSG(M, ...) fprintf(stderr, "%s \n", [[NSString stringWithFormat:msg(M), ##VA_ARGS] UTF8String]);

@interface Localization : NSObject {
@public
BOOL* setuidPerformed;
}

  • (Localization_) sharedInstance;
    -(NSString_) valueWithMessage:(Message)message;
    -(Lang) defaultLang;
    -(void)checkCache;

@EnD

Improper zip file created on device

On my Linux box with unzip I get this message:

error:  expected central file header signature not found (file #1068).
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

This is unzip from www.info-zip.org version 6.0.

[I] app-arch/unzip
     Available versions:  5.52-r2 6.0-r1 ~6.0-r2 6.0-r3{tbz2} [m]6.0-r3{tbz2}[1] {bzip2 natspec unicode}
     Installed versions:  6.0-r3{tbz2}(07:34:09 05/07/14)(bzip2 natspec unicode)
     Homepage:            http://www.info-zip.org/
     Description:         unzipper for pkzip-compressed files

UseNativeZip is YES. /etc/clutch.conf:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CrackerName</key>
    <string>knkjnkn</string>
    <key>CreditFile</key>
    <string>NO</string>
    <key>IPADirectory</key>
    <string>/var/mobile/Cracked</string>
    <key>MetadataEmail</key>
    <string>[email protected]</string>
    <key>UseNativeZip</key>
    <string>YES</string>
    <key>NumberBasedMenu</key>
    <string>YES</string>
    <key>CompressionLevel</key>
    <string>9</string>
</dict>
</plist>

try chinese app can't use

when I try chinese app '快的打车', the app can Crack ,but it can't use
I use iphone5s try it.

Certain apps fail to dump

There have been many reported cases of apps not being dumped properly.

dumping binary: failed to dump a page (32)

Multiple clutch.conf

I'd like to be able to setup multiple clutch.conf's for different settings, is there a way we can add a flag to allow something like

clutch -k clutch1.conf
clutch -k clutch.conf

This is mainly for showing different cracker names and compression methods without having to edit the config each time.

64-bit corruption

Feb 27 10:20:24 Ninjas-iPhone kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42022
Feb 27 10:20:24 Ninjas-iPhone backboardd[34] <Warning>: Unable to obtain a task name port right for pid 583: (os/kern) failure (5)
Feb 27 10:20:24 Ninjas-iPhone com.apple.launchd[1] (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec][583]) <Notice>: (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) Exited: Killed: 9
Feb 27 10:20:24 Ninjas-iPhone com.apple.launchd[1] (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) <Error>: (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) assertion failed: 11B601: launchd + 99316 [BD5ED4F2-3598-398C-9733-0E0AAF436D56]: 0x16
Feb 27 10:20:24 Ninjas-iPhone com.apple.launchd[1] (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) <Error>: (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) assertion failed: 11B601: launchd + 99316 [BD5ED4F2-3598-398C-9733-0E0AAF436D56]: 0x16
Feb 27 10:20:24 Ninjas-iPhone backboardd[34] <Warning>: Could not set priority of [583] to 1, priority: No such process
Feb 27 10:20:24 Ninjas-iPhone backboardd[34] <Warning>: Could not set priority of [583] to 0, priority: No such process
 Feb 27 10:20:24 Ninjas-iPhone com.apple.launchd[1] (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) <Notice>: (UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]) Throttling respawn: Will start in 2147483647 seconds
Feb 27 10:20:24 Ninjas-iPhone backboardd[34] <Warning>: Application 'UIKitApplication:com.apple.mobileme.fmip1[0xb3ec]' exited abnormally with signal 9: Killed: 9

FairPlay you dick, we really need to rewrite dumping soon. This is might be caused by the difference in code blobs for 64-bit maybe?

Clutch -e

AppDb-Test-Device-3-iPad-Mini-1-81:/var/mobile root# Clutch -e Swype Swype.crack
DEBUG | Localization.m:70 | preferred lang: (
"en-GB",
en
)
2014-11-12 20:19:02.434 Clutch[24321:979992] checking localization cache
You're using a Clutch development build, checking for updates..
Your version of Clutch is up to date!

Clutch 1.4.7 (git-2)

is iOS 8 application listing method brah
Cracking Swype...
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf
DEBUG | Preferences.m:43 | {
CompressionLevel = 9;
CrackerName = "AppDb-Team";
MetadataEmail = "[email protected]";
NumberBasedMenu = YES;
RemoveMetadata = NO;
}
DEBUG | main.m:270 | outbinary Swype.crack
DEBUG | Binary.m:396 | attempting to crack binary to file! finalpath Swype.crack
DEBUG | Binary.m:397 | DEBUG: binary path Swype
DEBUG | Binary.m:415 | basedir ok
Performing initial analysis...
DEBUG | Binary.m:423 | open ok
DEBUG | Binary.m:440 | local arch - armv7
DEBUG | Binary.m:543 | FAT binary detected
DEBUG | Binary.m:545 | nfat_arch 2
DEBUG | Binary.m:556 | arch arch subtype 201326592
DEBUG | Binary.m:551 | 64bit arch detected!
DEBUG | Binary.m:566 | currently cracking arch 9
DEBUG | Binary.m:579 | arch compatible with device!
DEBUG | Binary.m:724 | currently cracking 32bit portion
DEBUG | Binary.m:1091 | Dumping 32bit segment..
DEBUG | Binary.m:1119 | 32bit dumping: offset 16384
dumping binary: analyzing load commands
DEBUG | Binary.m:1149 | found segment
DEBUG | Binary.m:1149 | found segment
DEBUG | Binary.m:1149 | found segment
DEBUG | Binary.m:1149 | found segment
DEBUG | Binary.m:1130 | found encryption info
DEBUG | Binary.m:1135 | found code signature
dumping binary: obtaining ptrace handle
dumping binary: forking to begin tracing
dumping binary: successfully forked
DEBUG | Binary.m:586 | Cannot crack unswapped armv7 portion of binary.
DEBUG | main.m:274 | apparently crack was ok!?

Total success: 0 Total failed: 0

Nothing was outputted.

cracks the app but does not store the cracked file

iPhone 5s, iOS 7.0.6

I have used Clutch 1.4.5 (git-2) (without any conf file) to crack the Gmail app. It cracked the app but didn't store the cracked ipa file in the specified location.

SatishB:/var/mobile/Cracked root# cd /User/Documents/Cracked/
SatishB:/User/Documents/Cracked root# ls
SatishB:/User/Documents/Cracked root# Clutch GmailHybrid
You're using a Clutch development build, checking for updates..
Your version of Clutch is up to date!
Clutch 1.4.5 (git-2)
---------------------------------
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf
DEBUG | Preferences.m:43 | (null)
DEBUG | main.m:605 | app to crack {
    ApplicationBasename = "GmailHybrid.app";
    ApplicationBundleID = "com.google.Gmail";
    ApplicationContainer = "/private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/";
    ApplicationDirectory = "/private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/GmailHybrid.app/";
    ApplicationDisplayName = Gmail;
    ApplicationExecutableName = GmailHybrid;
    ApplicationName = GmailHybrid;
    ApplicationVersion = "3.0.2";
    MinimumOSVersion = "6.0";
    RealUniqueID = "6A7E68BA-5E78-4AEF-8B60-C868CFA141C9";
}
Cracking GmailHybrid...
DEBUG | Cracker.m:80 | ------Prepairing from Installed App------
DEBUG | Cracker.m:92 | Temporary Directory: /tmp/clutch_bKehoNA8/Payload/GmailHybrid.app
Creating working directory...
DEBUG | Cracker.m:103 | Temporary Binary Path: /tmp/clutch_bKehoNA8/Payload/GmailHybrid.app/GmailHybrid
DEBUG | Cracker.m:111 | Binary Path: /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/GmailHybrid.app/GmailHybrid
DEBUG | Cracker.m:113 | -------End Prepairing Installed App-----
DEBUG | Cracker.m:120 | ------Generating Paths------
DEBUG | Cracker.m:139 | /User/Documents/Cracked/Gmail-v3.0.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:141 | ------End Generating Paths-----
DEBUG | Cracker.m:150 | ------Executing crack------
DEBUG | izip.m:29 | created IPAPAth /User/Documents/Cracked/Gmail-v3.0.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:165 | ------Crack Operation------
DEBUG | Cracker.m:167 | beginning crack operation
DEBUG | Cracker.m:212 | ------Zip Operation------
DEBUG | Cracker.m:213 | beginning zip operation
DEBUG | Cracker.m:222 | using old zip
DEBUG | Binary.m:396 | attempting to crack binary to file! finalpath /tmp/clutch_bKehoNA8/Payload/GmailHybrid.app/GmailHybrid
DEBUG | Binary.m:397 | DEBUG: binary path /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/GmailHybrid.app/GmailHybrid
DEBUG | Cracker.m:231 | container yo /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/ /tmp/clutch_HdhckVGT/
/tmp/clutch-zip: line 1: zip: command not found
DEBUG | Cracker.m:239 | zip original ok
DEBUG | Cracker.m:241 | ------End Zip Op------
DEBUG | Binary.m:406 | basedir ok
Performing initial analysis...
DEBUG | Binary.m:414 | open ok
DEBUG | Binary.m:431 | local arch - arm64
DEBUG | Binary.m:481 | 32bit Thin armv7 binary detected
DEBUG | Binary.m:483 | mach_header feedface 12 9
DEBUG | Binary.m:491 | local_arch = God64
DEBUG | Binary.m:492 | [TRU GOD MODE ENABLED]
DEBUG | Binary.m:1077 | Dumping 32bit segment..
DEBUG | Binary.m:1097 | 32bit dumping: offset 0
dumping binary: analyzing load commands
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1108 | found encryption info
DEBUG | Binary.m:1113 | found code signature
dumping binary: obtaining ptrace handle
dumping binary: forking to begin tracing
dumping binary: successfully forked
dumping binary: obtaining mach port
dumping binary: preparing code resign
dumping binary: preparing to dump
dumping binary: ASLR enabled, identifying dump location dynamically
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2129920
DEBUG | Binary.m:1269 | 32-bit Region Size: 2129920 2129920
dumping binary: performing dump
dumping binary: patched cryptid
 [=============================================================================>] 100%
 dumping binary: writing new checksum
DEBUG | Binary.m:518 | crack ok!
DEBUG | Cracker.m:195 | crack operation ok!
packaging: waiting for zip thread
DEBUG | Cracker.m:197 | -----End Crack Op------
DEBUG | Cracker.m:246 | ------Zip Cracked Op------
packaging: compressing IPA
DEBUG | Cracker.m:311 | old metadata /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/iTunesMetadata.plist /tmp/clutch_bKehoNA8/iTunesMetadata.plist
DEBUG | Cracker.m:322 | Moving iTunesMetadata
DEBUG | Cracker.m:323 | copy from /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/iTunesMetadata.plist to /tmp/clutch_bKehoNA8/iTunesMetadata.plist
DEBUG | Cracker.m:346 | Copying iTunesArtwork
DEBUG | Cracker.m:347 | copy from /private/var/mobile/Applications/6A7E68BA-5E78-4AEF-8B60-C868CFA141C9/iTunesArtwork, to /tmp/clutch_bKehoNA8/iTunesArtwork
DEBUG | Cracker.m:254 | package IPA ok
DEBUG | izip.m:149 | working dir /tmp/clutch_bKehoNA8
DEBUG | Cracker.m:258 | zip cracked ok
packaging: compression level 0
DEBUG | Cracker.m:276 | ------End Zip Crack Op------
DEBUG | Cracker.m:291 | ------End Execute Crack------
DEBUG | ApplicationLister.m:153 | cracked app ok
DEBUG | ApplicationLister.m:154 | this crack lol 302
DEBUG | Cracker.m:295 | Saved cracked app info!
        /User/Documents/Cracked/Gmail-v3.0.2-no-name-cracker-(Clutch-1.4.5).ipa
elapsed time: 1.00s

Applications cracked:

GmailHybrid

Total success: 1   Total failed: 0
SatishB:/User/Documents/Cracked root# ls
SatishB:/User/Documents/Cracked root#
SatishB:/User/Documents/Cracked root#

Having the below clutch.conf file in place, it cracked the app and stored the cracked ipa file properly.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CrackerName</key>
    <string>sat</string>
    <key>CreditFile</key>
    <string>NO</string>
    <key>IPADirectory</key>
    <string>/var/mobile/Cracked</string>
    <key>MetadataEmail</key>
    <string></string>
    <key>UseNativeZip</key>
    <string>YES</string>
    <key>NumberBasedMenu</key>
    <string>YES</string>
    <key>CompressionLevel</key>
    <string>8</string>
</dict>
</plist>

May be some issue with folder permissions.

Small problem when cracking binary only

so if you use the -e flag to crack a binary only, everything runs fine but afterwards clutch reports nothing as being successful or a failure

xbbc8h6
This is by no means a big issue but it may cause some people confusion.

Clutch start by bundle identifier

Clutch can't be started to decrypt an app identified by its "bundle identifier". But this is the only way to recognize a speciffic app - for stable automation right?

Decrypted binaries that use overdrive crash on iOS 8 beta 1

Crash Log #1:
Hardware Model: iPhone4,1
Process: Expires [1323]
Path: /private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/Expires
Identifier: com.jiriurbasek.expires
Version: 2.1 (2.1)
Code Type: ARM (Native)
Parent Process: launchd [1]

Date/Time: 2014-06-08 11:29:05.388 +0200
Launch Time: 2014-06-08 11:29:05.287 +0200
OS Version: iOS 8.0 (12A4265u)
Report Version: 105

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0

Dyld Error Message:
Library not loaded: @executable_path/DblD.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/Expires
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/DblD.dylib: mmap() error 1 at address=0x00264000, size=0x00006000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/DblD.dylib
/private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/DblD.dylib: mmap() error 1 at address=0x00272000, size=0x00006000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/135F6D8D-6730-4FD5-AF73-D8ED736CE1AC/Expires.app/DblD.dylib
Dyld Version: 352.1.1

Binary Images:
0x1fe3d000 - 0x1fe5efff dyld armv7 /usr/lib/dyld
0x20e48000 - 0x20e48fff Accelerate armv7 /System/Library/Frameworks/Accelerate.framework/Accelerate
0x214d6000 - 0x214d6fff AdSupport armv7 <39b9873e4d2a392e8aa33f215194a860> /System/Library/Frameworks/AdSupport.framework/AdSupport
0x21eed000 - 0x2210ffff CoreData armv7 <3fefb501f67238489ca9e4fa5a93132b> /System/Library/Frameworks/CoreData.framework/CoreData
0x22110000 - 0x2243dff6 CoreFoundation armv7 <1863992249a5334abac41c9f20f1b347> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x2243e000 - 0x22567fff CoreGraphics armv7 /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x227b3000 - 0x228bcfff CoreImage armv7 /System/Library/Frameworks/CoreImage.framework/CoreImage
0x22e74000 - 0x23072fff Foundation armv7 /System/Library/Frameworks/Foundation.framework/Foundation
0x24046000 - 0x240fffff MessageUI armv7 <8ebe64fd183b36dfa16f17aaef8a3028> /System/Library/Frameworks/MessageUI.framework/MessageUI
0x2521a000 - 0x25366fff QuartzCore armv7 /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x2559b000 - 0x255dafff Security armv7 <6fed6c0e1afd3a3297adb20f94556203> /System/Library/Frameworks/Security.framework/Security
0x25754000 - 0x25769fff StoreKit armv7 /System/Library/Frameworks/StoreKit.framework/StoreKit
0x2576a000 - 0x257c6fff SystemConfiguration armv7 /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x257c9000 - 0x26037fff UIKit armv7 /System/Library/Frameworks/UIKit.framework/UIKit
0x2e496000 - 0x2e497fff libSystem.B.dylib armv7 /usr/lib/libSystem.B.dylib
0x2eebf000 - 0x2f0a5fff libobjc.A.dylib armv7 <4c88863099d23a7f8441e3731d79a445> /usr/lib/libobjc.A.dylib

Crash Log #2:
Hardware Model: iPhone4,1
Process: PrivateCal copy [311]
Path: /private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/PrivateCal copy
Identifier: net.cnbang.fileLocker
Version: 2.1.1 (2.1.1)
Code Type: ARM (Native)
Parent Process: launchd [1]

Date/Time: 2014-06-08 16:07:42.518 +0200
Launch Time: 2014-06-08 16:07:42.497 +0200
OS Version: iOS 8.0 (12A4265u)
Report Version: 105

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0

Dyld Error Message:
Library not loaded: @executable_path/DblD.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/PrivateCal copy
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/DblD.dylib: mmap() error 1 at address=0x00D80000, size=0x00006000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/DblD.dylib
/private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/DblD.dylib: mmap() error 1 at address=0x00D8E000, size=0x00006000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/5CA2AAF3-BC20-451B-963A-63A26110043D/PrivateCal copy.app/DblD.dylib
Dyld Version: 352.1.1

Binary Images:
0x1fe9d000 - 0x1febefff dyld armv7 /usr/lib/dyld
0x2b31b000 - 0x2b49ffff AVFoundation armv7 /System/Library/Frameworks/AVFoundation.framework/AVFoundation
0x2b54d000 - 0x2b54dfff Accelerate armv7 /System/Library/Frameworks/Accelerate.framework/Accelerate
0x2bbdc000 - 0x2bc4bfff AddressBook armv7 <4cffa747693238058ef9ce99399a1664> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x2bd6b000 - 0x2bd7cfff AssetsLibrary armv7 /System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary
0x2bf12000 - 0x2c1c3fff AudioToolbox armv7 <882bcc000c853991966c41e71397c26c> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x2c368000 - 0x2c4e4fff CFNetwork armv7 <96a5dd5be3233629ac780742a1232659> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x2c55d000 - 0x2c5bdfff CoreAudio armv7 <7c716ae40bf53c27b0683578ed5a882b> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x2c815000 - 0x2cb42ff6 CoreFoundation armv7 <1863992249a5334abac41c9f20f1b347> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x2cb43000 - 0x2cc6cfff CoreGraphics armv7 /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x2d579000 - 0x2d777fff Foundation armv7 /System/Library/Frameworks/Foundation.framework/Foundation
0x2d894000 - 0x2dad2fff ImageIO armv7 <49351f9ae43a34e58ff34c7fc9613fd5> /System/Library/Frameworks/ImageIO.framework/ImageIO
0x2e0aa000 - 0x2e286fff MediaPlayer armv7 <7182b3a19452387f8b8a6bbc4448b86f> /System/Library/Frameworks/MediaPlayer.framework/MediaPlayer
0x2e74b000 - 0x2e804fff MessageUI armv7 <8ebe64fd183b36dfa16f17aaef8a3028> /System/Library/Frameworks/MessageUI.framework/MessageUI
0x2e85a000 - 0x2e8e4fff MobileCoreServices armv7 <36ab7315414738e9884a4bbad9a710e1> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x2f4ec000 - 0x2f4f4fff OpenGLES armv7 <1fd1a2a6b1e93cea95a720728a0b3c76> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x2f91f000 - 0x2fa6bfff QuartzCore armv7 /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x2fe59000 - 0x2fe6efff StoreKit armv7 /System/Library/Frameworks/StoreKit.framework/StoreKit
0x2fe6f000 - 0x2fecbfff SystemConfiguration armv7 /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x2fece000 - 0x3073cfff UIKit armv7 /System/Library/Frameworks/UIKit.framework/UIKit
0x38b9b000 - 0x38b9cfff libSystem.B.dylib armv7 /usr/lib/libSystem.B.dylib
0x38dc8000 - 0x38e12fff libc++.1.dylib armv7 <375548e12ae23686824c11ce4cde4d3b> /usr/lib/libc++.1.dylib
0x38fb7000 - 0x390a4fff libiconv.2.dylib armv7 /usr/lib/libiconv.2.dylib
0x390a5000 - 0x3920dfff libicucore.A.dylib armv7 <930f47e337403d239e8114a0a66791e1> /usr/lib/libicucore.A.dylib
0x395c4000 - 0x397aafff libobjc.A.dylib armv7 <4c88863099d23a7f8441e3731d79a445> /usr/lib/libobjc.A.dylib
0x398bc000 - 0x39961fff libsqlite3.dylib armv7 <409b700e4ea93192b7f32d757d1fbb75> /usr/lib/libsqlite3.dylib
0x39abc000 - 0x39ac8fff libz.1.dylib armv7 /usr/lib/libz.1.dylib

Disabling overdrive fixes the problem.
P.S. I wasn't sure where to report this, but since Clutch uses overdrive, I figured I should report it here.
Decrypted binaries that use overdrive work fine on iOS 7 though.

2 Issues

  1. Hi, using the -e version on a app that has a [ ] in the name will bring up an error: Clutch -e requires 2 arguments (4 found). What would the syntax if the appname is X[]y?
  2. Running Clutch -C will not list an app installed with appcake or vshare, although this app appears in the AppStore list on the device. Where does Clutch take the info about the crackable applications?
    Thanks

1.4.5 git-2 still can't crack app on A7 device

log

您正使用Clutch 的开发版本,正在检查更新...
您的Clutch 是最新版!
Clutch 1.4.5 (git-2)
---------------------------------
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf
DEBUG | Preferences.m:43 | (null)
DEBUG | main.m:605 | app to crack {
    ApplicationBasename = "Next.app";
    ApplicationBundleID = "ch.noidentity.Next";
    ApplicationContainer = "/private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/";
    ApplicationDirectory = "/private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/";
    ApplicationDisplayName = Next;
    ApplicationExecutableName = Next;
    ApplicationName = Next;
    ApplicationVersion = "3.2";
    MinimumOSVersion = "7.0";
    RealUniqueID = "1992DEDB-589F-40EC-A15F-628982857C33";
}
正在破解 Next
DEBUG | Cracker.m:80 | ------Prepairing from Installed App------
DEBUG | Cracker.m:92 | Temporary Directory: /tmp/clutch_AuOfKTsy/Payload/Next.app
正在创建工作目录...
DEBUG | Cracker.m:103 | Temporary Binary Path: /tmp/clutch_AuOfKTsy/Payload/Next.app/Next
DEBUG | Cracker.m:111 | Binary Path: /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next
DEBUG | Cracker.m:113 | -------End Prepairing Installed App-----
DEBUG | Cracker.m:120 | ------Generating Paths------
DEBUG | Cracker.m:139 | /User/Documents/Cracked/Next-v3.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:141 | ------End Generating Paths-----
DEBUG | Cracker.m:150 | ------Executing crack------
DEBUG | izip.m:29 | created IPAPAth /User/Documents/Cracked/Next-v3.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:165 | ------Crack Operation------
DEBUG | Cracker.m:167 | beginning crack operation
DEBUG | Binary.m:396 | attempting to crack binary to file! finalpath /tmp/clutch_AuOfKTsy/Payload/Next.app/Next
DEBUG | Binary.m:397 | DEBUG: binary path /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next
DEBUG | Cracker.m:212 | ------Zip Operation------
DEBUG | Cracker.m:213 | beginning zip operation
DEBUG | Cracker.m:222 | using old zip
DEBUG | Cracker.m:231 | container yo /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/ /tmp/clutch_DDMATxYJ/
DEBUG | Binary.m:406 | basedir ok
正在进行初始化解析...
DEBUG | Binary.m:414 | open ok
DEBUG | Binary.m:431 | local arch - armv7s
DEBUG | Binary.m:534 | FAT binary detected
DEBUG | Binary.m:536 | nfat_arch 3
DEBUG | Binary.m:547 | arch arch subtype 201326592
DEBUG | Binary.m:547 | arch arch subtype 201326592
DEBUG | Binary.m:542 | 64bit arch detected!
DEBUG | Binary.m:557 | currently cracking arch 9
DEBUG | Binary.m:605 | arch compatible with device, but swap
DEBUG | Binary.m:134 | ##### STRIPPING ARCH #####
DEBUG | Binary.m:139 | lipo path /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next_arm9_lwork
DEBUG | Binary.m:161 | found arch to keep 9! Storing it
DEBUG | Binary.m:189 | blanking arch! 0
DEBUG | Binary.m:189 | blanking arch! 1
DEBUG | Binary.m:194 | changing nfat_arch
DEBUG | Binary.m:198 | number of architectures 1
DEBUG | Binary.m:203 | Wrote new header to binary!
DEBUG | Binary.m:207 | copying sc_info files!
DEBUG | Binary.m:219 | sinf file yo /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/SC_Info/Next_arm9_lwork.sinf
DEBUG | Binary.m:713 | currently cracking 32bit portion
DEBUG | Binary.m:1077 | Dumping 32bit segment..
DEBUG | Binary.m:1097 | 32bit dumping: offset 16384
破解:分析 load 命令
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1108 | found encryption info
DEBUG | Binary.m:1113 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 2457600 2457600
破解:进行转储
破解:破解 crytid
 [==========================>       ] 77%DEBUG | Cracker.m:239 | zip original ok
DEBUG | Cracker.m:241 | ------End Zip Op------
 [=================================>] 100%
破解:写入新的校验
DEBUG | Binary.m:557 | currently cracking arch 11
DEBUG | Binary.m:570 | arch compatible with device!
DEBUG | Binary.m:713 | currently cracking 32bit portion
DEBUG | Binary.m:1077 | Dumping 32bit segment..
DEBUG | Binary.m:1097 | 32bit dumping: offset 3096576
破解:分析 load 命令
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1108 | found encryption info
DEBUG | Binary.m:1113 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 2473984 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 196608 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 147456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 458752 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 163840 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 212992 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 65536 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 1032192 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 268435456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 268435456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 0 2457600
DEBUG | Binary.m:1280 | 32-bit mach_vm_error: 1
ASLR is enabled and we could not identify the decrypted memory region.
DEBUG | Binary.m:577 | Cannot crack unswapped armv7s portion of binary.
DEBUG | Cracker.m:173 | Failed to crack Next
包装:破解失败, 停止压缩线程
No matching processes were found
DEBUG | Cracker.m:185 | terminate status 0
DEBUG | Cracker.m:246 | ------Zip Cracked Op------
DEBUG | Cracker.m:271 | crack was not ok, welp
DEBUG | Cracker.m:276 | ------End Zip Crack Op------
DEBUG | Cracker.m:291 | ------End Execute Crack------
DEBUG | ApplicationLister.m:153 | cracked app ok
DEBUG | ApplicationLister.m:154 | this crack lol 32
DEBUG | Cracker.m:295 | Saved cracked app info!
Failed.

破解失败的应用:

Next

成功总计: 0   失败总计: 1

App listing on iOS8

According to @ZorroAA, MobileInstallation is removed from iOS8, existing method to list apps needs to be updated.

clutch fails to run on iOS 8.1

i get this error when i execute clutch. all the perms are correct so i am not sure why it fails..

clutch -c

Clutch 1.4.6

dyld: lazy symbol binding failed: Symbol not found: _MobileInstallationLookup
Referenced from: /usr/bin/clutch
Expected in: /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation

dyld: Symbol not found: _MobileInstallationLookup
Referenced from: /usr/bin/clutch
Expected in: /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation

i am using 1.4.6 Release

not sure about the Dev Builds if they support 64 bit..

1.4.7-git2 seems to be working on iOS 8.1 iPhone 5s

but 1.4.6 <-- not working

How to build release build with xcodebuild?

I am using this but still seeing debug lines in the app when I run it on my iPhone:

xcodebuild ONLY_ACTIVE_ARCH=NO -sdk iphoneos7.0 -configuration Release clean
xcodebuild ONLY_ACTIVE_ARCH=NO -sdk iphoneos7.0 -configuration Release

This correctly creates a fat binary with all 3 architectures but does not seem to enable 'real' release mode.

From the device:

Clutch 1.4.4
---------------------------------
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf

can't decrypt this app "FindMyiPhone"

While decrypting "FindMyiPhone" there is an exception

2014-08-26 16:08:39.968 Clutch[2027:1807] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x14d2bc20> was mutated while being enumerated.'
*** First throw call stack:
(0x2f0c3f0b 0x3985ace7 0x2f0c39f9 0x96ef9 0x9fe59 0x2fa0764f 0x2f9f7875 0x2fa9b745 0x39d4825f 0x39d49689 0x39d498dd 0x39e74c17 0x39e74adc)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

Censoring iTunesMetadata

Clutch stuck in "packaging: censoring iTunesMetadata"
I tried to debug the code, seem that it stuck at
while ((nr = read(fd, buf, sizeof(buf))) > 0) in the CRC32.m.

Options that are in configuration as command line overrides

Would be nice to have these:

Output filename (full path to store IPA not just directory):
-o/--output

Cracker name:
--name

Credit File:
--yes-credit/--no-credit

IPA directory:
-d/--output-directory

Metadata Email:
--metadata-email

Use Native Zip (should be default IMO if this is faster):
--native-zip/-z
If this is default: --non-native-zip just in case someone wants it for some reason

Compression level (match up with bzip2):
-1
-2
-3
-4
-5
-6
-7
-8
-9
--fast = -1
--best = -9

Abort trap: 6 in iOS 8.1 when cracking any user application....

Clutch 1.4.7 (git-2)

is iOS 8 application listing method brah
2014-10-29 01:21:42.375 Clutch[593:3518] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[7]'
*** First throw call stack:
(0x187505e48 0x197c4c0e4 0x1873f48e8 0x1873f4718 0x1000713dc 0x100071644 0x1000729c0 0x100074ca4 0x1982baa08)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

Option to turn off colours

Please add --no-colors or -C or something. I use Clutch via SSH with a script to auto-save all cracked app's header dumps to somewhere on my system (I run this script every time I update an app).

Because you assume there's a TTY (which there isn't if there is a pipe or a non-interactive SSH session), this causes major issues with applications that consist of purely non-ASCII names like ギタドラ (https://itunes.apple.com/jp/app/gitadora/id592287213?mt=8). This is kind of an edge case, and the numbers help to crack it but then the output filename is $DIR/ギタドラ-$version-($cracker).ipa.

FYI, the terminal support on iOS is extremely minimal (basically, ANSI only and no true Unicode support) as you know and so basically what happens is this file is almost inaccessible due to encoding issues (iFile can do it, of course).

My script parses the lines to find the output IPA file name (so a -o option would be nice too), and there's no very good way to keep colours out of the output even as a workaround.

Invalid resources in Xcode project file

There are a few files from the minizip library mentioned in the Xcode project file but are no longer in the project.

Not making a pull request because this should be changed by owner of the project. The patch is like this, but Xcode project file is difficult to version, so it should be done in the GUI.

diff --git a/Clutch.xcodeproj/project.pbxproj b/Clutch.xcodeproj/project.pbxproj
index fe1ac4b..5e9dc21 100755
--- a/Clutch.xcodeproj/project.pbxproj
+++ b/Clutch.xcodeproj/project.pbxproj
@@ -16,10 +16,6 @@
                AD3014691871514D00E06315 /* Cracker.m in Sources */ = {isa = PBXBuildFile; fileRef = AD3014681871514D00E06315 /* Cracker.m */
                AD61315C187D23FC00B94378 /* Install.m in Sources */ = {isa = PBXBuildFile; fileRef = AD61315B187D23FC00B94378 /* Install.m */
                ADAA367E1870606D0029AF7D /* Preferences.m in Sources */ = {isa = PBXBuildFile; fileRef = ADAA367D1870606D0029AF7D /* Preferen
-               ADC68CD417ECA8A7005282CE /* ChangeLogUnzip in Resources */ = {isa = PBXBuildFile; fileRef = ADC68CC017ECA8A7005282CE /* Chang
-               ADC68CD717ECA8A7005282CE /* make_vms.com in Resources */ = {isa = PBXBuildFile; fileRef = ADC68CC617ECA8A7005282CE /* make_vm
-               ADC68CDB17ECA8A7005282CE /* MiniZip64_Changes.txt in Resources */ = {isa = PBXBuildFile; fileRef = ADC68CCA17ECA8A7005282CE /
-               ADC68CDC17ECA8A7005282CE /* MiniZip64_info.txt in Resources */ = {isa = PBXBuildFile; fileRef = ADC68CCB17ECA8A7005282CE /* M
                ADC68CE017ECA8A7005282CE /* ZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = ADC68CD317ECA8A7005282CE /* ZipArchiv
                ADC68CE517ECAD3E005282CE /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = ADC68CD017ECA8A7005282CE /* zip.c */; };
                ADC68CE617ECAD4C005282CE /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = ADC68CCE17ECA8A7005282CE /* unzip.c */; };
@@ -59,16 +55,12 @@
                AD61315B187D23FC00B94378 /* Install.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Install.m; sourceTree = "<group>"; };
                ADAA367C1870606D0029AF7D /* Preferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Preferences.h; sourceTree = "<group>"; 
                ADAA367D1870606D0029AF7D /* Preferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Preferences.m; sourceTree = "<group>
-               ADC68CC017ECA8A7005282CE /* ChangeLogUnzip */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLogUnzip; sourceTree = "<group>"; };
                ADC68CC117ECA8A7005282CE /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = "<group>"; };
                ADC68CC217ECA8A7005282CE /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
                ADC68CC317ECA8A7005282CE /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
-               ADC68CC617ECA8A7005282CE /* make_vms.com */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = make_vms.com; sourceTree = "<group>"; };
                ADC68CC717ECA8A7005282CE /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
                ADC68CC817ECA8A7005282CE /* miniunz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = miniunz.c; sourceTree = "<group>"; };
                ADC68CC917ECA8A7005282CE /* minizip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = minizip.c; sourceTree = "<group>"; };
-               ADC68CCA17ECA8A7005282CE /* MiniZip64_Changes.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MiniZip64_Changes.txt; sourceTree = "<gro
-               ADC68CCB17ECA8A7005282CE /* MiniZip64_info.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MiniZip64_info.txt; sourceTree = "<group>"; 
                ADC68CCC17ECA8A7005282CE /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mztools.c; sourceTree = "<group>"; };
                ADC68CCD17ECA8A7005282CE /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mztools.h; sourceTree = "<group>"; };
                ADC68CCE17ECA8A7005282CE /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = "<group>"; };
@@ -223,16 +215,12 @@
                ADC68CBF17ECA8A7005282CE /* minizip */ = {
                        isa = PBXGroup;
                        children = (
-                               ADC68CC017ECA8A7005282CE /* ChangeLogUnzip */,
                                ADC68CC117ECA8A7005282CE /* crypt.h */,
                                ADC68CC217ECA8A7005282CE /* ioapi.c */,
                                ADC68CC317ECA8A7005282CE /* ioapi.h */,
-                               ADC68CC617ECA8A7005282CE /* make_vms.com */,
                                ADC68CC717ECA8A7005282CE /* Makefile */,
                                ADC68CC817ECA8A7005282CE /* miniunz.c */,
                                ADC68CC917ECA8A7005282CE /* minizip.c */,
-                               ADC68CCA17ECA8A7005282CE /* MiniZip64_Changes.txt */,
-                               ADC68CCB17ECA8A7005282CE /* MiniZip64_info.txt */,
                                ADC68CCC17ECA8A7005282CE /* mztools.c */,
                                ADC68CCD17ECA8A7005282CE /* mztools.h */,
                                ADC68CCE17ECA8A7005282CE /* unzip.c */,
@@ -312,10 +305,6 @@
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               ADC68CD417ECA8A7005282CE /* ChangeLogUnzip in Resources */,
-                               ADC68CD717ECA8A7005282CE /* make_vms.com in Resources */,
-                               ADC68CDB17ECA8A7005282CE /* MiniZip64_Changes.txt in Resources */,
-                               ADC68CDC17ECA8A7005282CE /* MiniZip64_info.txt in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };

DEBUG macro same regardless of CLUTCH_DEV

CLUTCH_DEV can be set to 0 or 1 and it does not matter. I am not sure of the best solution for this so I am not yet making a pull request. In my own build I made DEBUG just call fprintf() with an empty string which is kind of ugly to me.

diff --git a/Classes/out.h b/Classes/out.h
index bdbc603..c8f7af2 100644
--- a/Classes/out.h
+++ b/Classes/out.h
@@ -25,10 +25,10 @@
 #   define ERROR(M, ...) fprintf(stderr, "\033[0;32mERROR\033[0m | %s \n", [[NSString stringWithFormat:M, ##__VA_ARGS__] UTF8String]);
 #else
 #   define FILE_NAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) // shortened path of __FILE__ is there is one
-#   define DEBUG(M, ...) fprintf(stderr, "\033[0;32mDEBUG\033[0m | %s:%d | %s\n", FILE_NAME, __LINE__, [[NSString stringWithFormat:M, ##__VA
+//#   define DEBUG(M, ...) fprintf(stderr, "\033[0;32mDEBUG\033[0m | %s:%d | %s\n", FILE_NAME, __LINE__, [[NSString stringWithFormat:M, ##__
 //#   define NSLog(M, ...)
-//#   define DEBUG(M, ...)
-#   define ERROR(M, ...)
+#   define DEBUG(M, ...) fprintf(stderr, "");
+#   define ERROR(M, ...) fprintf(stderr, "");
 #endif

 int determine_screen_width (void);

Can't crack next on A7

log

您正使用Clutch 的开发版本,正在检查更新...
您的Clutch 是最新版!
Clutch 1.4.5 (git-1)
---------------------------------
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf
DEBUG | Preferences.m:43 | (null)
DEBUG | main.m:605 | app to crack {
    ApplicationBasename = "Next.app";
    ApplicationBundleID = "ch.noidentity.Next";
    ApplicationContainer = "/private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/";
    ApplicationDirectory = "/private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/";
    ApplicationDisplayName = Next;
    ApplicationExecutableName = Next;
    ApplicationName = Next;
    ApplicationVersion = "3.2";
    MinimumOSVersion = "7.0";
    RealUniqueID = "1992DEDB-589F-40EC-A15F-628982857C33";
}
正在破解 Next
DEBUG | Cracker.m:80 | ------Prepairing from Installed App------
DEBUG | Cracker.m:92 | Temporary Directory: /tmp/clutch_rek2Y90Q/Payload/Next.app
正在创建工作目录...
DEBUG | Cracker.m:103 | Temporary Binary Path: /tmp/clutch_rek2Y90Q/Payload/Next.app/Next
DEBUG | Cracker.m:111 | Binary Path: /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next
DEBUG | Cracker.m:113 | -------End Prepairing Installed App-----
DEBUG | Cracker.m:120 | ------Generating Paths------
DEBUG | Cracker.m:139 | /User/Documents/Cracked/Next-v3.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:141 | ------End Generating Paths-----
DEBUG | Cracker.m:150 | ------Executing crack------
DEBUG | izip.m:29 | created IPAPAth /User/Documents/Cracked/Next-v3.2-no-name-cracker-(Clutch-1.4.5).ipa
DEBUG | Cracker.m:165 | ------Crack Operation------
DEBUG | Cracker.m:167 | beginning crack operation
DEBUG | Binary.m:396 | attempting to crack binary to file! finalpath /tmp/clutch_rek2Y90Q/Payload/Next.app/Next
DEBUG | Binary.m:397 | DEBUG: binary path /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next
DEBUG | Cracker.m:212 | ------Zip Operation------
DEBUG | Cracker.m:213 | beginning zip operation
DEBUG | Cracker.m:222 | using old zip
DEBUG | Cracker.m:231 | container yo /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/ /tmp/clutch_Zb5xPgdi/
DEBUG | Binary.m:406 | basedir ok
正在进行初始化解析...
DEBUG | Binary.m:414 | open ok
DEBUG | Binary.m:431 | local arch - armv7s
DEBUG | Binary.m:534 | FAT binary detected
DEBUG | Binary.m:536 | nfat_arch 3
DEBUG | Binary.m:547 | arch arch subtype 201326592
DEBUG | Binary.m:547 | arch arch subtype 201326592
DEBUG | Binary.m:542 | 64bit arch detected!
DEBUG | Binary.m:557 | currently cracking arch 9
DEBUG | Binary.m:605 | arch compatible with device, but swap
DEBUG | Binary.m:134 | ##### STRIPPING ARCH #####
DEBUG | Binary.m:139 | lipo path /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/Next_arm9_lwork
DEBUG | Binary.m:161 | found arch to keep 9! Storing it
DEBUG | Binary.m:189 | blanking arch! 0
DEBUG | Binary.m:189 | blanking arch! 1
DEBUG | Binary.m:194 | changing nfat_arch
DEBUG | Binary.m:198 | number of architectures 1
DEBUG | Binary.m:203 | Wrote new header to binary!
DEBUG | Binary.m:207 | copying sc_info files!
DEBUG | Binary.m:219 | sinf file yo /private/var/mobile/Applications/1992DEDB-589F-40EC-A15F-628982857C33/Next.app/SC_Info/Next_arm9_lwork.sinf
DEBUG | Binary.m:713 | currently cracking 32bit portion
DEBUG | Binary.m:1077 | Dumping 32bit segment..
DEBUG | Binary.m:1097 | 32bit dumping: offset 16384
破解:分析 load 命令
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1108 | found encryption info
DEBUG | Binary.m:1113 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 2457600 2457600
破解:进行转储
破解:破解 crytid
 [=================================>] 100%
破解:写入新的校验
DEBUG | Binary.m:557 | currently cracking arch 11
DEBUG | Binary.m:570 | arch compatible with device!
DEBUG | Binary.m:713 | currently cracking 32bit portion
DEBUG | Binary.m:1077 | Dumping 32bit segment..
DEBUG | Binary.m:1097 | 32bit dumping: offset 3096576
破解:分析 load 命令
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1127 | found segment
DEBUG | Binary.m:1108 | found encryption info
DEBUG | Binary.m:1113 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 2473984 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 196608 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 147456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 458752 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 163840 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 212992 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 65536 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 16384 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 1032192 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 268435456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 268435456 2457600
DEBUG | Binary.m:1269 | 32-bit Region Size: 0 2457600
DEBUG | Binary.m:1280 | 32-bit mach_vm_error: 1
ASLR is enabled and we could not identify the decrypted memory region.
DEBUG | Binary.m:577 | Cannot crack unswapped armv7s portion of binary.
DEBUG | Cracker.m:173 | Failed to crack Next
包装:破解失败, 停止压缩线程
DEBUG | Cracker.m:185 | terminate status 9
DEBUG | Cracker.m:239 | zip original ok
DEBUG | Cracker.m:241 | ------End Zip Op------
DEBUG | Cracker.m:246 | ------Zip Cracked Op------
DEBUG | Cracker.m:271 | crack was not ok, welp
DEBUG | Cracker.m:276 | ------End Zip Crack Op------
DEBUG | Cracker.m:291 | ------End Execute Crack------
DEBUG | ApplicationLister.m:153 | cracked app ok
DEBUG | ApplicationLister.m:154 | this crack lol 32
DEBUG | Cracker.m:295 | Saved cracked app info!
Failed.

Can't install decrypted app with IPA Installer

Decrypted using Clutch release 1.4.7-git2 on iOS 8.1.

iFerre:/ root# ipainstaller -c /User/Documents/Cracked/anapp-v54439--\(Clutch-1.4.7\).ipa Clean installation enabled. Will not restore any saved documents and other resources.

After this I can't find the app on springboard after respring, nor is there any app in /private/var/mobile/Containers/Bundle/Application/ (which looks like the new directory for applications in iOS 8).

Added Arabic language.. Localization.m

//
// Localization.m
// Clutch
//

import "Localization.h"

import "Out.h"

define langCache @"/etc/clutch-lang-cache.plist"

define langCacheTmp @"/tmp/clutch-lang-cache.plist"

NSString* msg(Message message) {
return [[Localization sharedInstance] valueWithMessage:message];
}

@implementation Localization {
NSArray* _preferredLang;
}

  • (NSString*) getLanguage {
    return [_preferredLang objectAtIndex:0];
    }

-(NSString*) valueWithMessage:(Message)message {
switch ([self defaultLang]) {
case zh:
return zh_locale[message];
break;
case de:
return de_locale[message];
break;
case fr:
return fr_locale[message];
break;
case hr:
return hr_locale[message];
break;
case ru:
return ru_locale[message];
break;
case ar:
return ar_locale[message];
break;
case en:
default:
return en_locale[message];
}
}

  • (Localization_) sharedInstance
    {
    static dispatch_once_t pred;
    static Localization_ shared = nil;
    dispatch_once(&pred, ^{
    shared = [Localization new];
    });
    return shared;
    }

  • (id)init
    {
    self = [super init];
    if (self)
    {
    if ([[NSFileManager defaultManager] fileExistsAtPath:langCacheTmp]) {
    [[NSFileManager defaultManager] moveItemAtPath:langCacheTmp toPath:langCache error:nil];
    }
    _preferredLang = [[NSArray alloc] initWithContentsOfFile:langCache];
    DEBUG(@"preferred lang: %@", _preferredLang);

    }
    return self;
    }
    -(Lang) defaultLang {
    static NSString* defaultLang;
    static Lang lang;
    static dispatch_once_t pred;
    dispatch_once(&pred, ^{
    defaultLang = [_preferredLang objectAtIndex:0];
    if ([[defaultLang lowercaseString] hasPrefix:@"zh"]) {
    // chinese
    lang = zh;
    }
    else if ([[defaultLang lowercaseString] hasPrefix:@"de"]) {
    // german
    lang = de;
    }
    else if ([[defaultLang lowercaseString] hasPrefix:@"fr"]) {
    // french
    lang = fr;
    }
    else if ([[defaultLang lowercaseString] hasPrefix:@"hr"]) {
    // serbian/croatian
    lang = hr;
    }
    else if ([[defaultLang lowercaseString] hasPrefix:@"ru"]){
    // russian
    lang = ru;
    }
    else if ([[defaultLang lowercaseString] hasPrefix:@"ar"]){
    // arabic
    lang = ar;
    }
    else {
    lang = en;
    }
    });
    return lang;
    }
    -(void)checkCache {
    NSLog(@"checking localization cache");
    if ([_preferredLang count] == 0) {
    int ret = setuid(501); //setuid as mobile, get language
    if (ret == 0)
    {
    // Security broooo
    _preferredLang = [NSLocale preferredLanguages];
    [_preferredLang writeToFile:langCacheTmp atomically:YES];
    setuidPerformed = true;

    }
    

    }
    }

@EnD

xpc/xpc.h file not found

When i compile Clutch there is an issue, xpc/xpc.h file not found and i saw below comment
I use os x 10.9 and ipad mini retina 7.0.4,so i use following code to create link,but it didn't work,could u tell me what i need to do for this issue,thank u.
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/xpc /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/include/xpc

system zip checking is wrong, Clutch will be always using native zipping

In Classes/Preferences.m (line 145) there is this check:
if ((![[NSFileManager defaultManager] fileExistsAtPath:@"/usr/bin/zip"]) || (![[NSFileManager defaultManager] fileExistsAtPath:@"/bin/zip"])) {

in my system, I have /usr/bin/zip but I don't have /bin/zip, and Clutch thinks that I don't have zip.
|| should be &&.

Can't crack this app...(Bangkok Metro Map)

https://itunes.apple.com/us/app/bangkok-metro-map-transport/id804332984?mt=8
iPad Air 7.0.6

iPad:~ root# Clutch 1
您正使用Clutch 的开发版本,正在检查更新...
您的Clutch 是最新版!
Clutch 1.4.4 (git-1)
---------------------------------
DEBUG | Preferences.m:42 | preferences_location: /etc/clutch.conf
DEBUG | Preferences.m:43 | {
    AddMinOS = NO;
    CheckMetadata = NO;
    CompressionLevel = "-1";
    CrackerName = super;
    CreditFile = NO;
    IPADirectory = "/User/Media/general_storage";
    ListWithDisplayName = NO;
    MetadataEmail = "[email protected]";
    NumberBasedMenu = YES;
    RemoveMetadata = NO;
    UseNativeZip = YES;
    UseOverdrive = NO;
}
正在破解 Bangkok Metro Map
DEBUG | Cracker.m:149 | ------Prepairing from Installed App------
DEBUG | Cracker.m:161 | Temporary Directory: /tmp/clutch_wevJuoFF/Payload/Bangkok Metro Map.app
正在创建工作目录...
DEBUG | Cracker.m:172 | Temporary Binary Path: /tmp/clutch_wevJuoFF/Payload/Bangkok Metro Map.app/Bangkok Metro Map
DEBUG | Cracker.m:180 | Binary Path: /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/Bangkok Metro Map
DEBUG | Cracker.m:182 | -------End Prepairing Installed App-----
DEBUG | Cracker.m:189 | ------Generating Paths------
DEBUG | Cracker.m:208 | /User/Media/general_storage/Bangkok Metro Map-v1.0-super-(Clutch-1.4.4).ipa
DEBUG | Cracker.m:210 | ------End Generating Paths-----
DEBUG | Cracker.m:219 | ------Executing crack------
DEBUG | izip.m:29 | created IPAPAth /User/Media/general_storage/Bangkok Metro Map-v1.0-super-(Clutch-1.4.4).ipa
DEBUG | Cracker.m:234 | ------Crack Operation------
DEBUG | Cracker.m:236 | beginning crack operation
DEBUG | Binary.m:392 | attempting to crack binary to file! finalpath /tmp/clutch_wevJuoFF/Payload/Bangkok Metro Map.app/Bangkok Metro Map
DEBUG | Binary.m:393 | DEBUG: binary path /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/Bangkok Metro Map
DEBUG | Cracker.m:281 | ------Zip Operation------
DEBUG | Cracker.m:282 | beginning zip operation
DEBUG | Cracker.m:286 | using native zip
DEBUG | Binary.m:402 | basedir ok
正在进行初始化解析...
DEBUG | Binary.m:410 | open ok
DEBUG | Binary.m:427 | local arch - arm64
DEBUG | Binary.m:530 | FAT binary detected
DEBUG | Binary.m:532 | nfat_arch 3
DEBUG | Binary.m:543 | arch arch subtype 201326592
DEBUG | Binary.m:543 | arch arch subtype 201326592
DEBUG | Binary.m:538 | 64bit arch detected!
DEBUG | Binary.m:553 | currently cracking arch 9
DEBUG | Binary.m:601 | arch compatible with device, but swap
DEBUG | Binary.m:130 | ##### STRIPPING ARCH #####
DEBUG | Binary.m:135 | lipo path /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/Bangkok Metro Map_arm9_lwork
DEBUG | Binary.m:157 | found arch to keep 9! Storing it
DEBUG | Binary.m:185 | blanking arch! 0
DEBUG | Binary.m:185 | blanking arch! 1
DEBUG | Binary.m:190 | changing nfat_arch
DEBUG | Binary.m:194 | number of architectures 1
DEBUG | Binary.m:199 | Wrote new header to binary!
DEBUG | Binary.m:203 | copying sc_info files!
DEBUG | Binary.m:215 | sinf file yo /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/SC_Info/Bangkok Metro Map_arm9_lwork.sinf
DEBUG | Binary.m:709 | currently cracking 32bit portion
DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 16384
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1263 | 32-bit Region Size: 16384 16384
破解:进行转储
dumping binary: failed to dump a page (32)

=================
0x4000 binary detected, attempting to remove MH_PIE flag
=================

DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 16384
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
patching pie
破解:软件有 ASLR,正寻找动态转储点
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:进行转储
dumping binary: failed to dump a page (32)

=================
0x4000 binary detected, attempting to remove MH_PIE flag
=================

DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 16384
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
patching pie
破解:软件有 ASLR,正寻找动态转储点
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:进行转储
破解:破解 crytid
 [==============================>   ] 88%
破解:写入新的校验
DEBUG | Binary.m:553 | currently cracking arch 11
DEBUG | Binary.m:601 | arch compatible with device, but swap
DEBUG | Binary.m:130 | ##### STRIPPING ARCH #####
DEBUG | Binary.m:135 | lipo path /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/Bangkok Metro Map_arm11_lwork
DEBUG | Binary.m:157 | found arch to keep 11! Storing it
DEBUG | Binary.m:185 | blanking arch! 0
DEBUG | Binary.m:185 | blanking arch! 1
DEBUG | Binary.m:190 | changing nfat_arch
DEBUG | Binary.m:194 | number of architectures 1
DEBUG | Binary.m:199 | Wrote new header to binary!
DEBUG | Binary.m:203 | copying sc_info files!
DEBUG | Binary.m:215 | sinf file yo /private/var/mobile/Applications/4A62F122-8318-440E-AAEA-B5755D979C16/Bangkok Metro Map.app/SC_Info/Bangkok Metro Map_arm11_lwork.sinf
DEBUG | Binary.m:709 | currently cracking 32bit portion
DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 81920
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:1263 | 32-bit Region Size: 16384 16384
破解:进行转储
dumping binary: failed to dump a page (32)

=================
0x4000 binary detected, attempting to remove MH_PIE flag
=================

DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 81920
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
patching pie
破解:软件有 ASLR,正寻找动态转储点
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:进行转储
dumping binary: failed to dump a page (32)

=================
0x4000 binary detected, attempting to remove MH_PIE flag
=================

DEBUG | Binary.m:1071 | 32bit dumping!!!
DEBUG | Binary.m:1091 | 32bit dumping, offset 81920
破解:分析 load 命令
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1121 | found segment
DEBUG | Binary.m:1102 | found encryption info
DEBUG | Binary.m:1107 | found code signature
patching pie
破解:软件有 ASLR,正寻找动态转储点
破解:正取得 ptrace 句柄
破解: 正在分支
破解:分支成功!
破解:正在获取 mach 端口
破解:正在重新签名
破解:开始转储
破解:进行转储
破解:破解 crytid
 [==============================>   ] 88%
破解:写入新的校验
DEBUG | Binary.m:553 | currently cracking arch 0
DEBUG | Binary.m:566 | arch compatible with device!
DEBUG | Binary.m:704 | currently cracking 64bit portion
破解:分析 load 命令
DEBUG | Binary.m:762 | found start text
DEBUG | Binary.m:747 | found cryptid
DEBUG | Binary.m:752 | found code signature
破解:正取得 ptrace 句柄
破解: 正在分支
破解:正在获取 mach 端口
破解:正在重新签名
DEBUG | Binary.m:842 | 64-bit code resign
破解:开始转储
破解:软件有 ASLR,正寻找动态转储点
DEBUG | Binary.m:911 | 64-bit Region Size: 16384 16384
DEBUG | Binary.m:915 | region_size == cryptsize
破解:进行转储
DEBUG | Binary.m:951 | dum_error: 1
dumping binary: failed to dump a page (64)
DEBUG | Binary.m:573 | Cannot crack unswapped arm64 portion of binary.
DEBUG | Cracker.m:242 | Failed to crack Bangkok Metro Map
包装:破解失败, 停止压缩线程
Killed: 9
iPad:~ root# No matching processes were found

It's not worked for Clutch-1.4.2

pre:iPod 4,

Here are the error info:

MiaoGuangfateki-iPod:~/Documents root# Clutch-1.4.2 BreezeGame

Clutch 1.4.2

2014-02-11 17:57:25.293 Clutch-1.4.2[319:707] * Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM objectAtIndex:]: index 4294967295 beyond bounds [0 .. 1]'
*** First throw call stack:
(0x330bc2a3 0x3ad3c97f 0x33007b75 0x59a29 0x3b173b20)
libc++abi.dylib: terminate called throwing an exception
Abort trap: 6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.