Як редагувати власні файли plist в іграх Твіки iOS шляхом редагування plist файлів. Як відкрити файл PLIST

Консольна команда defaults, мабуть, одна з найзвичніших для простих мак-користувачів. Однак без належної вправності це не найзручніший інструмент роботи з plist-файлами. Куди простіше займатися цим за допомогою звичної віконної програми PlistEdit Pro.

По суті, ця утиліта віддалено нагадує редактор реєстру Windows. Правда, тут деревоподібна структура відображається в таблиці параметрів, а значення редагуються за місцем, а не у вікні. В іншому ж дуже схоже з «Регедитом» – світори оцінять. 🙂

Втім, найголовніша перевага PlistEditor Pro полягає в тому, що вона легко читає конфігураційні файли Mac OS X, вміст яких зберігається не тільки у вигляді XML-коду (ці можна редагувати і в простому Text Edit), а й у бінарному форматі. І в тому, і в іншому випадку ви побачите у вікні PlistEdit Pro зрозумілу таблицю конкретних величин та їх значень.

Примітно, що конфігураційні файли, які потрібно переглянути або відредагувати, не потрібно шукати за місцем їх розташування. Замість цього достатньо відкрити вікно Preference File Browser (тобто "браузер конфігураційних файлів") - і через кілька секунд ви побачите таблицю файлів, багато з яких будуть прив'язані до конкретних додатків (власне, параметри цих додатків і зберігаються у відповідних файлах). Якщо самостійний перегляд цієї таблиці не допоміг визначитися з тим, який plist-файл вам потрібен - скористайтеся пошуком, який враховує або ім'я файлу або програми, або входження пошукового запиту у вміст шуканого файлу. У другому випадку можна налаштувати поле зору пошуковика: щоб він враховував тільки ключі, ключі і значення, тільки значення, логічне правило входження пошукового рядка і т. д. Тобто пошук файлів, м'яко кажучи, налаштовується гнучко.

Якщо необхідні конфігураційні дані зберігаються в нестандартній папці, і ви знаєте шлях до неї просто перетягніть цю папку у вікно «браузера». І щоб більше не повторювати цю процедуру, можна зберегти поточний список файлів, клацнувши на кнопці Save Browser. Збережені таким чином "браузери" можна перейменовувати або видаляти через непотрібність.


Медіатека iTunes зберігається у тому ж XML-форматі. Постає питання, чому її не можна завантажити в PlistEdit Pro? Звісно, ​​якщо знаєш, навіщо це робити. 🙂

Створення нових ключів і вузлів, завдання значень, визначення формату конфігураційного файлу здійснюється безпосередньо у самій таблиці вмісту відкритого файлу, або за допомогою головного меню програми. І незважаючи на свою непоказність, PlistEdit Pro – дуже зручний редактор. Освоїти його - пара дрібниць: видно, що розробник ясно собі уявляв процес редагування plist-файлів, і яка при цьому має на меті.

Головне ж, щоб ви розуміли, що й навіщо змінюєте, додаєте чи видаляєте. Це особливо важливо, якщо врахувати, що утиліта поки не підтримує новомодного системного механізму Versions, і швиденько відновити незапороту копію вбитого файлу буде проблематично. Тож будьте гранично уважні.

- Розширення (формат) – це символи в кінці файлу після останньої точки.
- Комп'ютер визначає тип файлу саме з розширення.
- За промовчанням Windows не показує розширення імен файлів.
- У імені файлу та розширення не можна використовувати деякі символи.
- Не всі формати стосуються однієї і тієї ж програми.
- Нижче знаходяться всі програми, за допомогою яких можна відкрити файл PLIST.

В інтернеті дуже багато програм, що дозволяють редагувати вихідний код іншої програми, файлу та ін. Однак більшість з подібних програм є лише текстовим редактором на кшталт блокнота. Відрізняються вони від вищезазначеного редактора лише тим, що мають підсвічування синтаксису. Однак у деяких випадках такого функціоналу програми виявляється недостатньо. Програмісту буває необхідно швидко знаходити різні частини документа. І ось, нарешті, з'явилася програма, що дозволяє вирішити цю проблему. Програма називається SynWrite. Її відмінна особливість – наявність навігаційної панелі з деревом, що використовується для...

Деякі програми iOS перевіряють версію операційної системи на пристрої. Нещодавно, під час тестування однієї програми, я таки зіткнувся з подібною перевіркою. Якщо версія iOS була нижчою за 7.1, програма не встановлювалася, і вивалювалася помилка.

У цій статті будуть розглянуті такі теми:

  • Зміна версії iOS у файлі SystemVersion.plist.
  • Зміна версії у plist-файлі, що знаходиться в пакеті програми.
  • Використання утиліти iOS-ssl-Kill switch для обходу валідації сертифіката.

Зміна версії iOS у файлі SystemVersion.plist

Версія iOS може бути змінена (на джейлбрейковому пристрої) у два простих кроки за допомогою зміни відповідного значення у файлі SystemVersion.plist:

  1. Підключаємося до джейлбрейкового пристрою за протоколом SSH (або використовуємо ifile, доступний у cydia) для перегляду вмісту системної директорії.
  2. Змінюємо значення "ProductVersion" у файлі "/System/Library/CoreServices/SystemVersion.plist".

Малюнок 1: Вміст файлу SystemVersion.plist

Цей трюк дозволяє змінити значення, що відображається у розділі "Settings/General/about". Однак метод спрацює лише для додатків, які перевіряють версію у файлі SystemVersion.plist. Якщо після зміни версії програма все одно відмовляється працювати, використовуйте другий метод.

Зміна версії в plist-файлі, що знаходиться в пакеті програми

Другий метод, що дозволяє змінити версію, складається із трьох простих кроків:

  1. Перейменовуємо файл ipa в.zip і розпаковуємо архів.
  2. Змінюємо значення "minimum ios version" у файлі info.plist, який зазвичай знаходиться в папці \Payload\appname.app.
  3. Пакуємо архів і перейменовуємо його назад в IPA. [ Примітка: деякі програми перевіряють значення "minimum ios version" в інших plist-файлах, що знаходяться в пакеті].

Малюнок 2: Вміст файлу info.plist

Після зміни plist-файлів порушується підпис пакету. Щоб вирішити цю проблему, необхідно зареєструвати IPA за допомогою утиліти з цієї статті.

Деякі програми перевіряють версію iOS під час інсталяції. Коли користувач інсталює програму за допомогою iTunes або xcode, використовуючи IPA, відбувається перевірка версії iOS, запущеної на пристрої, і якщо версія нижче, ніж потрібно, з'являється помилка.

Рисунок 3: Помилка, що виникає під час встановлення програми через xcode

Подібна перевірка також коштує кілька кроків:

  1. Перейменовуємо файл.ipa в.zip та виймаємо папку.app.
  2. Копіюємо папку.app туди, де встановлені програми iOS (/root/application) за допомогою будь-якого SFTP-клієнта (наприклад, WinSCP).
  3. Підключаємося до пристрою через SSH, заходимо до папки, де встановлено IPA, а потім ставимо права на запуск у папки.app (chmod -R 755 або chmod -R 777). Альтернативний спосіб - клацнути правою кнопкою миші на папці.app у WinSCP і змінити властивості директорії, встановивши відповідні права.
  4. Після перезапуску iOS пристрою програма буде успішно встановлена.

Малюнок 4: Встановлення нових прав для директорії

Обхід валідації сертифіката

Деякі програми перевіряють сертифікат для запобігання проксифікації трафіку за допомогою утиліт на кшталт Burp. Зазвичай у бінарному файлі програми намертво зашитий клієнтський сертифікат. Сервер перевіряє цей сертифікат, і якщо валідація закінчується невдало, виникає помилка. Докладніше про це можна почитати в іншій моїй статті у співавторстві зі Стівом Керном.

Іноді буває важко отримати сертифікат із програми та встановити його всередину проксі. Альтернатива – використовувати утиліту ios-ssl-kill-switch. ios-ssl-kill-switch чіпляється до Secure Transport API (найнижчий рівень) та відключає перевірку сертифіката. Більшість перевірок використовують NSURLConnection на вищому рівні. Більше подробиць можна дізнатися.

Перевірка сертифіката коштує кілька кроків:

  1. Встановлюємо утиліту kill-ssl-switch.
  2. Усі залежні пакети мають бути встановлені заздалегідь.
  3. Перезапускаємо пристрій або перезапустіть SpringBoard за допомогою наступної команди "killall-HUP SpringBoard".
  4. Встановлюємо опцію Disable Certificate Validation у розділі "Settings/SSL Kill Switch".
  5. Перезапускаємо програму, після чого трафік повинен перехоплюватися успішно.

Прив'язка сертифіката (Certificate pinning) обходиться шляхом підчеплення до API, що виконує валідацію сертифіката, та постійного повернення «істини» під час перевірки. Для вирішення цього завдання цілком підійде фреймворк MobilesSubstrate. Існує кілька інших корисних утиліт для відключення прив'язки, наприклад Trustme і Snoop-it.

Рисунок 5: Відключення перевірки сертифіката у SSL Kill Switch

Років 7 тому я балувався програмою Art Money для зламування параметрів для ігор. Можна було, наприклад, збільшити кількість грошей героя за кілька хвилин.

Так, ми отримували багато грошей або збільшували параметри героя, але грати після цього зазвичай ставало нецікаво. Тому я перестав скористатися Art Money. Але змінювати параметри деяких ігор на iPad виявилося набагато простіше без усіляких програм – тому я вирішив спробувати можна.

Давайте подивимося на прикладі Fieldrunners.

Що можна змінити у грі, щоб без проблем проходити сотні рівнів? Перше що спало на думку - це параметри стрілянини. Збільшити потужність гармат виявилось досить просто.

Скористався я програмою iFile.

Зайшов до неї в папку гри Fieldrunners, натиснувши послідовно кнопки Додому - > Applications - > Fieldrunners. Далі заходимо до папки Fieldrunners.app. Після перегляду файлів я знайшов, що параметри зброї знаходяться у файлах, що починаються на tower. Беремо найпростішу гармату із файлу Tower_gatling.tower. Файл відкриваємо редактором тексту.

Бачимо параметри для першого рівня зброї:

MinDamage = 43 // Мінімальний урок
MaxDamage=43 //максимальна шкода
AttackRadius=72.0 // Радіус атаки

Збільшуємо ці параметри у 100, 100 та 10 разів відповідно. "Змінити", а після зміни "Зберегти"

Тепер заходимо в гру Fieldrunners і найслабша зброя тепер вам дозволить пройти сотні рівнів без проблем.

Щоправда виникає питання: а чи потрібно вам це - чи цікавіше гратиме? Хоча здивувати друга, з яким ви змагаєтесь у якійсь грі – цілком можливо.

Мені особисто стало нецікаво грати після такої зміни… Тому я все повернув назад)

Файли PLIST розкидані по всьому Mac, але цілком можливо, що ви ніколи їх не побачите. Це погано, оскільки файли PLIST, по суті, надають один із найбільш прямих шляхів до хакінгу. Вивчивши рекомендації, наведені в даному рецепті, ви оволодієте всією потужністю цих файлів.

PLIST- це скорочення від "property list" (список властивостей), і редагування файлів з цим розширенням імені є основним методом модифікації Mac OS X (а також деяких інших операційних систем). За допомогою цього методу можна організувати дані таким чином, щоб до них могли отримувати доступ програми, і при цьому вони структуровані так, що при необхідності користувачі можуть створювати власні файли цього типу. Цей короткий опис, зрозуміло, практично нічого не говорить, але детальний опис файлів PLIST – це складне та трудомістке завдання. Якщо ви дійсно зацікавлені у функціональних можливостях файлів PLIST, уважно вивчіть наступну документацію: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man_/plist._.html або запустіть програму Terminal та введіть таку команду: man plist.Під час налаштування комп'ютера відповідно до ваших особистих потреб, найчастіше доводиться налаштовувати файли PLIST, в яких зберігаються значення за замовчуванням для налаштувань різних програм - від стандартних кольорів до реакції програм на ті чи інші дії. Як правило, ці файли знаходяться в папці Library/Preferences вашого домашнього каталогу. Найчастіше модифікація цих файлів нешкідлива, і навіть дозволяє розблокувати досить несподівані функціональні можливості. Якщо ви випадково пошкодите файл під час редагування, ви можете просто перемістити його в Кошик, і при наступному запуску програми замість видаленого файлу буде згенеровано новий. Зрозуміло, при цьому ви втратите всі індивідуальні налаштування, створені для цієї програми, тому найкращий спосіб (як і у всіх випадках хакінгу, за можливості) полягає в тому, щоб створити резервну копію цього файлу з метою подальшого відновлення у разі неполадок.


Існує багато способів доступу до файлів PLIST. Найшвидший із них - з програми Terminal за допомогою команди default. Розглянемо найпростіший приклад. Деякі програми можна налаштувати таким чином, щоб вони відображали меню Debug (більшість користувачів, що активно працюють із програмою iCal, знають, наскільки корисним це меню може бути). Давайте розглянемо, як можна налаштувати iCal таким чином, щоб додати в рядок меню команду Debug:

  1. За необхідності закрийте програму iCal.
  2. Запустіть програму Terminal (Applications/Utilities/Terminal).
  3. Коли на екрані з'явиться запрошення до введення (символ $), введіть наступну команду: defaults write com.apple.iCal IncludeDebugMenu
  4. Перезапустіть програму iCal.

Після появи вікна програми ви побачите, що з'явилося нове меню Debug (рис. 1.15).


Програма Terminal надає чудові можливості, коли ви знаєте, що саме слід поміняти. Однак якщо ви цього не знаєте і лише прагнете дізнатися, які налаштування слід змінити, воно вже не буде таким корисним. Для цього вам знадобиться список властивостей (property list). Як було згадано на початку цього розділу, зазвичай більшість файлів PLIST знаходяться у папці Library у вашому домашньому каталозі. Для файлу PLIST, що містить налаштування iCal, шлях буде виглядати так: ~/Library/Preferences/com.apple.ical.plist. Як тільки ви виявите потрібний файл, відкрийте редактором списків властивостей (Property List Editor). Цей редактор входить до складу Xcode Tools і встановлюється в папці /Developer/Applications. Крім того, ви можете просто виконати подвійне клацання мишею на потрібному файлі, і він буде відкритий для редагування (рис. 1.16).


Після того, як файл буде відкритий, ви зможете відредагувати будь-який з його рядків. Більшість рядків не мають великого практичного значення, але деякі з них мають явно виражений зміст і дозволяють редагувати функціональні можливості програми. Наприклад, зміна числового значення у рядку delete todos after з 30 на 60 призведе до того, що завдання, прийняті до виконання, зберігатимуться протягом 60 днів.

Отже, тепер ви озброєні командним рядком та програмою, що дозволяє редагувати файли PLIST, експериментуючи з їх налаштуваннями. Крім того, файли PLIST можна редагувати звичайним текстовим редактором. У версіях Mac OS X, раніше, ніж Tiger, файли PLIST можна було безпосередньо відкривати текстовими редакторами, але тепер ці файли зберігаються в двійковому форматі. Щоб відкрити файл PLIST текстовим редактором, вам потрібно буде попередньо перетворити його. Який із методів перетворення файлів PLIST є найпростішим? На допомогу знову прийде програма Terminal.

Файл PLIST програми iCal вже досить добре вивчений, тому тепер спробуємо модифікувати закладки браузера Safari. Повний шлях до файлу PLIST з параметрами Safari виглядає так: ~/Library/Safari/Bookmarks.plist. Насамперед створимо його резервну копію (як і рекомендується надходити в більшості випадків). Для цього наведіть на файл курсор миші, клацніть правою кнопкою та з контекстного меню виберіть команду Duplicate. Тепер виконайте перетворення цього файлу за допомогою наступного командного рядка: $ plutil -convert xml1 ~/Library/Safari/Bookmarks copy.plist

У цьому випадку команда plutil запускає процедуру перетворення списку властивостей. Ключ -convert xml1 повідомляє plutil про необхідність перетворити файл PLIST у формат XML, а решта командного терміну задає шлях до файлу, що перетворюється. Після того, як команда відпрацює, перемістіться в потрібну папку за допомогою Finder, наведіть на потрібний файл курсор миші, клацніть правою кнопкою та виберіть із контекстного меню команди Open With → Other, а потім виберіть опцію Text Edit. Файл PLIST, перетворений на формат XML, виглядає цілком легкочитаним (рис. 1.17).

Зрозуміло, файли PLIST заслуговують набагато ретельнішого вивчення, але наведений тут необхідний мінімум інформації вже дозволить вам почати їх дослідження та експериментувати з налаштуваннями.