1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Краткий обзор инсталяторов игр, патчей + инструменты для распаковки

Тема в разделе "Hard & Soft", создана пользователем Soft Ice, 17 ноя 2007.

  1. Soft Ice

    Soft Ice

    Регистрация:
    17 ноя 2007
    Сообщения:
    49
    ВНИМАНИЕ - Статьи были написаны год назад - приношу извинения за возможные нерабочие ссылки.

    Итак сегодня на очереди инсталяторы игр.
    Все знают, что это такое ? Коротко поясню-

    Инсталятор - это тот же архив с игрой + служебные файлы (лицензионное соглашение, картинки. иконки итп) Все это упаковано в один (или несколько) ЕхЕ файлов. Алгоритм распаковки также находится внутри (по типу SFX архива) Также, у многих инсталяторов есть очень широкие возможности по работе с реестром, файлами итп. Скопировать- удалить, заменить итп.В принципе реально создание инсталятора якобы игры (программы) который будет начисто сносить Вашу систему и делать формат - и ни один Антивирус это не заметит. Однако мы этим не занимаемся.
    Теоретическую часть закончил.

    Практика

    Для чего нужно распаковывать инсталяторы, ведь можно запустить и он все распакует сам ?

    **********
    Не всегда. Пример - Патч к игре, который никак не ставится на пиратку . Встречали ? А поставить нада! Другой пример - инсталятор содержит в себе, кроме игрового пакета еще и пару инсталяторов Spyware - причем обойти их установку нереально. Зачем засерать систему - проще выдернуть только игру и перепаковать ее.
    Еще - битый инсталятор (например с СД-РОМ) Возможно битые файлы малоценны, игра итак будет работать, а не установишь.
    Убедил ?
    **********

    А как конкретно распаковать и чем ?

    *********
    Будем здесь писать об этом и выкладывать хорошие тулзы умных людей.

    ТУЛЗЫ

    Для начала ситуация - ставите Вы что-то из Nullsoft инсталятора. А он гад, по велению программеров, сильно любит проверять наличие оригинального файла типа eXe... А У вас в квартире газ - тьфу пиратка или просто хотите распаковать все в пустую папку и насладиться видом файлов
    Как же быть ?
    На помощь спешит Чип и Дейл в виде пргораммы Enable Btn или Доступный Батон :) Эта маленькая программа в запущенном состоянии показывает идентификатор окна и позволяет сделать любую кнопку активной (или пукт меню итп) Вам остается потом только нажать кнопку и все распаковывается в любую папку.

    Качаем EnBtn страашного размера 10Кб
    http://s2003r.co.nr/download.php?file=d9a1a63baa80ba7aaff8d835b0fe83d5

    Universal Extractor 1.2.1 by Jared Breland

    Description:

    Universal Extractor is a program do to exactly what it says: extract files from any type of archive, whether it's a simple zip file, an installation program, or even a Windows Installer (.msi) package. This is still a work in progress (see details below), but so far it's proven quite useful and I feel others can also benefit from it. Supports Inno Setup, InstallShield, Wise Installer, NSIS and Microsoft Installer executables.


    Короче, эта програ - сборник консольных тулзов и прикрученный к ним GUI для почти всех типов инсталяторов (их распаковки) - однако !
    1. Нет широких возможностей по сравнению с тулзами для командной строки (о них позже)
    2. Не все она может распаковать.

    автор ведет ветку на форуме:
    http://www.msfn.org/board/lofiversion/index.php/t62418.html

    для ленивых:

    Installation Package - http://www.c1pher.com/uniextract121.exe
    Binary Archive - http://www.c1pher.com/uniextract121_noinst.rar
    UniExtract Source Code - http://www.c1pher.com/uniextract121_source.rar

    Если ссылки уже мертвы- ищем в Гугле рабочие и качаем 2МВ.

    Пока все, в следующий раз я напишу о тулзах для распаковки инсталяторов из командной строки и из GUI а также дам обзор типов инсталяторов.

    Продолжим
    краткий обзор инсталяторов + тулзы.

    Итак инсталяторов очень много, но вот я составил мини-обзор из наиболее часто употребляемых

    1. Инсталятор WISE коммерческий (платный) - встречается на очень многих старых больших играх, пиратках, программах. На старых версиях 4-5-6 это целый комплект из файлов, в его состав входит основной файл запуска типа setup.exe и несколько архивов типа data.cab или system.cab и некоторые другие файлы. Практически всегда при запуске вылетает Сплеш c их логотипом.
    Компрессия у старых версий очень хреновая , типа старого Zip У новых версий получше.
    Старые версии можно открывать, перепаковывать, менять скрипты - словом делать все. Новые - потяжелее, в основном только распаковка и рип файлов, да и то, если не зашифрованы.
    Сам инсталятор- программу для работы не знаю, где скачать ибо он нах не нужен. Есть вещи получше.

    2. Инсталятор Instant Shield или IS коммерческий (платный) - практически брат близнец инсталера WISE - и по поводу старых версий 4-5-6-7 все, что в п1 обзора ему подходит. Игры от Феномедии, Большие игры, пиратки, патчи - много, где его пользуют. Старые версии (см п1) - новые версии сейчас, идут в основном из одного файла (бывает смесь + использование MSI инсталер) О тулзах и методе распаковки - позже. Сжатие у новых версий 7-12 лучше, но до лидеров не дотягивает. Новые версии ставят в систему свой драйвер, могут быть запаролены, настроены на проверку конкретного файла или записи в реестре.

    3. Нульсофт инсталер NSIS - это бесплатный инсталятор от всемирноизвестных разработчиков WinAmp. Лучший по степени сжатия - характерно использование круглой иконки у setup.exe или фирменной иконки WinAmp (может быть и другая). Наилучшая степень сжатия по LZMA Ultra .Из достоинств - препроверка целостности инсталера перед установкой (не всегда). Встречается у игр от Trymedia (новый Big Fish Games) , игры от немцев (много), другое.
    О тулзах и методах распаковки позже.

    4. Inno SetUp инсталер - (бесплатный и лучший) - Мой любимый инсталятор, встречается на всех пиратках, многих играх. Есть вариант с одним файлом Setup.exe есть многотомные + файлы имя-1.bin имя-2.bin итд.Несколько степень сжатия и алгоритмов, лучший LZMA Ultra - много возможностей и настроек. Есть тулзы для распаковки и быстрого написания скрипта - о них позже.

    5. Инсталер Setup Factory от Indigo Rose - коммерческий (платный). Встречается на старых играх от Биг Фиш например, многих шароварах итп. Я работал со старой версией 6 - потом 7. Компрессия плохая - только Zip. Из достоинств - удобная программа для скриптов-запаковки, возможность вставить картинки. Очень большие возможности по работе с файлами, реестром,макросами. Может даже запускать внешние патчеры, проделывать операции с файлами и реестром, потом продолжить установку. И это очень легко программируется любым чайником ! (короче - рекомендую для извращенных патчей игр итп) Для всего остального лучше другое пользовать.

    6. Инсталятор SFX Factory от WinAce -коммерческий (платный) это по сути SFX архив с дополнительными возможностями. архиватор WinAce давно не обновлялся, но обладает хорошей степенью сжатия уровня Rar3 - по сжатию Аудио и Видео ему равных нет. Возможностей у инсталятора крайне мало, вставка картинок глючит, однако можно сделать красивые видеоэффекты с надписями + работа с реестром.
    Достоинство - можно открыть инсталятор любым архиватором Rar или Ace и вытащить файлы.

    7. Инсталятор Ghost - компрессия слабая, зато в большинстве случаев есть возможность принудительно открыть архиватором Rar. Встречается на некоторых шароварных играх, вообщем не очень часто.

    8. Инсталятор MSI - то есть от Микрософта. Файло с расширением *.msi или дополнено setup.exe ( могут быть варианты) Встречается много - в играх от Феномедии, разных больших и мини играх. Компресия средняя, неплохая. Есть трудности в распаковке, есть и тулзы. Может быть в связке с Instant Shield

    Существует еще много заказных и старых инсталяторов, но то, что я перечислил - встречается в 90% игр и приложений.

    Полезные Тулзы для распаковки Инсталяторов

    Бредисловие Если Вы скачали из предыдущего обзора программу Universal Extractor - откройте ее папку и Вы найдете очень много тулзов для командной строки или для GUI (Win32) Вы можете выдрать их и использовать отдельно. Преимущества - много разных возможностей в распаковке и тестировании инсталлов в параметрах командной строки.
    Также следует помнить о том, что многие инсталяторы могут быть запакованы протекторами (типа UPX) или требовать серийник (это задается при написании скрипта) или быть нестандартными - не распаковываться.

    Большинство тулзов ищем здесь -
    http://wasm.ru/toollist.php?list=15
    и если мои ссылки не будет брать Ваш менеджер докачки -зайдите на эту страничку и качайте с нее - возможно нужен их реферер.

    1. WISE
    Одна из лучших программ для распаковки и !!! запаковки старых версий WISE и IS -WinPack 3.0betaПоддержка версий 4-5-6- (7-8 не всегда)
    cкачать -
    http://wasm.ru/baixado.php?mode=tool&id=176

    Распаковщик E-WISE (deWISE) для командной строки. Эффективен в основном для старых версий инсталяторов. Практически бесполезен для версий, где инсталятор не только содержит файлы, но еще и побайтный патчинг каких то файлов.
    скачать

    http://wasm.ru/baixado.php?mode=tool&id=27

    http://reversing.kulichki.net/files/unpack/ewise.rar

    HWUN
    Еще один распаковщик WISE-Setup-файлов. Программа является потомков устаревших WISE/EXWISE. По отзывам - хороша. В программе используется любопытный метод эвристики, так что, теоретически, программа должна поддерживать и вышедшие даже после нее версии WISE. Более подробно см. readme внутри архива. Хороший распаковщик для командной строки, поддержка новых версий

    скачать-
    http://wasm.ru/baixado.php?mode=tool&id=274

    wise.password.finder Тулза для запароленных инсталеров WISE - от diabolo
    (ссылка сейчас мертва - пользуем Гугль)

    2. INSTANT SHIELD

    Распаковщик IS CAB-файлов консольная утилита и GUI-приложение, способные открывать hdr/cab файлы, созданные в InstallShield Рекомендую, подходит и для новых версий 9-12 !
    cкачать-

    http://wasm.ru/baixado.php?mode=tool&id=267


    I6comp Распаковщик, упаковщик файлов CAB от InstallShield v6.x - Консоль (старые версии)

    http://reversing.kulichki.net/files/unpack/I6comp.rar


    ISDC Распаковщик файлов от инсталлятора InstallShield (старые версии, консоль)
    http://reversing.kulichki.net/files/unpack/isdc.rar


    ISDCC v2.10 Распаковщик Installshiled (старые версии, консоль)

    http://reversing.kulichki.net/files/unpack/isdcc210.rar

    Распаковщик IS-файлов 0.99 IsXunpack -Отличный, берет многие новые версии. Рекомендую !

    http://wasm.ru/baixado.php?mode=tool&id=266


    InstallShield 7.x (by one exe-file) Unpacker v-0.5 Отличный, берет многие новые версии. Рекомендую !
    This tool unpacks InstallShield 7.x Self-Extracting .EXE-files
    (like 3DMark03.exe). I think this is a first tool which unpacks
    IS 7.x exe-files in the world! :)CreateD bY Pit0n and SkYuS//vN (Russia, NewMsk)
    Скачать раритет ! -
    (ссылка пока мертва - см Гугль)


    3. Распаковщики для NSIS ( Nullsoft Instaler) - по непроверенным сведениям, последние версии отличного и бесплатного архиватора 7zip - прекрасно открывают инсталяторы NSIS
    Архиватор бесплатен и можно его поискать тут-

    http://www.7-zip.org/


    Инсталятор NSIS и файлы можно найти здесь-

    http://sourceforge.net/project/showfiles.php?group_id=22049


    4. Распаковщики и Тулзы для INNO SETUP
    Inno Setup Unpacker 0.17 by QuickeneR
    Распаковщик для файлов InnoSetup. Отличная работа, море возможностей. ( коммандная строка)

    скачать -
    http://wasm.ru/baixado.php?mode=tool&id=262


    инсталятор Inno Setup

    http://www.jrsoftware.org/isinfo.php

    и некоторые Тулзы можно найти здесь-

    http://innounp.sourceforge.net/

    5. Инсталятор Setup Factory -

    Setup Factory unpacker is ripped from project SynCE (synce.sf.net) and ported to Windows. It is believed to support SF versions 5 and 6. The port is quick and dirty, expect lots of bugs.

    Скачать распаковщик -
    (ссылка пока мертва - см Гугль)


    Инсталятор SF версии 6 от FOSI можно было в свое время скачать с его сайта, 7 версию (триал) можно тянуть с офсайта (легко найти поиском). Насчет крека не знаю, что сказать - ибо не пользовал. Скорее всего можно разыскать.

    6. MSI Инсталер и распаковщики.

    MsiEx 0.2 by tulipfan
    Самый настоящий полноценный экстрактор содержимого MSI-файлов. Полное воссоздание оригинальной структуры - каталоги, их расположение, файлы... Может извлекать файлы и из внешних CABов.

    http://wasm.ru/baixado.php?mode=tool&id=275


    Fearless MSI Unpacker v0.1
    FMSIU is a small tool that quickly enables you to unpack .msi (Windows Installer) files.
    There isn’t much to explain here really...

    качаем -
    (ссылка пока мертва - см Гугль)

    OLE2X by kannegv Эта утилита служит для извлечения содержимого .MSI/.MST-файлов.

    cкачать-
    http://wasm.ru/baixado.php?mode=tool&id=299


    Вот пожалуй и все (большинство известных мне утилит и тулзов для распаковки инсталяторов.
    Неизвестные инсталяторы можно пробовать распаковывать с помощью дизассемблирования и пошаговой отладки , но этот метод доступен только крякерам знающим людям.

    Напоследок некоторые советы.

    1. Если Вы не можете по внешнему виду определить , какой именно инсталятор у Вас - попробуйте программы определения типов файлов (лучшая PeID2006 / PrID итп).
    Также откройте файл в любом Хекс редакторе ( Мой выбор - Ultra Edit или QWIEV)
    Просмотрите заголовок PE файла в ASCII символах. Если встретили Inno или NSIS - будет ясно, что это за зверь.

    2. Выучите наизусть адреса Вашей папки для временных файлов - у ХР например (у меня) -
    C:\docum_ents and Settings\Admin\Local Settings\Temp
    C:\WINDOWS\Temp

    Часто встречаются " многослойные " инсталяторы (например у Рефлексива, ГеймХауза, Instant Shield)
    Это когда инсталятор распаковывает во временную папку несколько файлов, в том числе может быть и несколько инсталяторов - и потом запускает уже их. По окончанию эти файлы могут быть стерты.
    Вам никто не мешает их скопировать во время запуска и затем исследовать их содержимое.

    3. Пробуйте " насильно" открывать непонятные инсталяторы в архиваторах WinRar, WinZip, 7zip - причем не из контекстного меню, а непосредственно запустив программу-архиватор и открыть уже в ней

    4. Существуют весьма хорошие тулзы для поиска в запакованных файлах (архивах) мультимедийного содержимого - аудио, видео, картинок. Например GFE или Nova Extractor

    http://www.volny.cz/nova-software

    Эти тулзы можно пользовать в основном для выдирания ресурсов из игр, однако они пригодны и для обработки некоторых инсталяторов.

    5. Сейчас пошла мода (например Оберон Медия) - всячески защищать не только игры, но и сами инсталяторы (Вот свинство то !!!) - то есть инсталятор (ЕхЕ файл - пакуется UPX) После распаковки - инсталятор проверяет контрольную сумму - файло другое - и ессно он не запускается. Восстановить и распаковать все крайне тяжело. Если У вас нет знаний - не беритесь за такие инсталяторы.
    Смотреть файл на предмет запаковки лучше всего PeID2006 или другой подобной утилитой.

    Автор статьи Soft_Ice
    Разрешается публиковать и копировать без изменений и со ссылкой на авторство везде, кроме сайтов и форумов Nova.ru

    ВНИМАНИЕ - Статьи были написаны год назад - приношу извинения за возможные нерабочие ссылки.

    Скоро новая статья о патчинге и распаковке RTPtch ( побайтные патчеры - жесть !)
     
    EvolMate, iunnamed, Timur и 9 другим нравится это.
  2. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    InstallShield блин! instant бывает совсем другое...

    Аналогично про него же забыт распаковщик самого нового IS - ZipScan , равно как и всех старых 3.x,5.x которых в старых играх 90% - icomp , i5comp . И если новый i6comp иногда съедает архив от 5, то от 3 точно нет - там совсем другой формат.

    Опять же если это для профи - то это бред, а если для чайников - где описания ключей и командной строки коли уж куча распаковщиков такого рода упомнена?
     
    kreol нравится это.
  3. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    38.560
    Это для чайников имхо. Лично мне тем не менее пригодится, я так думаю.
     
  4. Noelemahc Призрак из п(р)ошлого

    Noelemahc

    Legacy

    Регистрация:
    24 июн 2002
    Сообщения:
    8.934
    Пусть будет хоть цто-то. Сам йузаю WinPack (GUI для всех iXcomp сразу) а в прочих форматах инсталляторы патчей к олдгамезам можно обмануть без необходимости вскрытия файлов. Кроме разве что штатного Unreal-Engine инсталлятора старого разлива, но у нас на сайте фуллрипы запатчены до упора, так что это вам и не.
     
    kreol нравится это.
  5. Soft Ice

    Soft Ice

    Регистрация:
    17 ноя 2007
    Сообщения:
    49
    Распаковка инсталяторов побайтных Патчей типа RTPatch и последующий патчинг.

    автор : Soft_Ice (с) ...::: Soft_Ice CracK LaB :::...

    1.Предисловие

    Что такое по-байтный Патч и для чего он нужен? Как известно, любой файл это набор байтов, а если это современная игра, то зачастую это уже набор Мегабайтов :) Жадные издатели игр весьма любят выпустить игру в виде сырой бета версии, за котрой часто следует вереница Патчей ( пример - Готика 3, Sacred, The Fall...) Обычный Патч содержит ряд игровых файлов, запакованных в инсталятор типа IS или Wise или любой другой. Мы можем его распаковать с помощью полезных тулз имли утилит и просто поставить файлы в игру. Все это хорошо, однако есть существенный недостаток - размеры таких Патчей доходят уже до Гигабайта ! С другой стороны, если мы имеем псевдоархив с игровым видео или графикой весом скажем 400МВ - а заменить нужно пару файлов в середине архива весом на пару мегабайт - неразумно включать обновленный псевдоархив в Патч - он тогда достигнет чудовищных размеров. Потому широко используется другой тип Патчей - по-байтный.
    Такая программа -патчер имеет некий список файлов для патчинга, их контрольные суммы ( CRC), точное место в файле, где надо патчить (оффсет) и разумеется сами байты, которые надо заменить.Кроме этого, патчер выполняет ряд защитных функций - он проверяет наличие " родных" файлов, записей в реестре, версии файлов итп. Обычно, если нет каких либо файлов (даже пустяки, навроде readme.txt без которых итак все работает) или есть измененные файлы ( скажем пофикшенный ехе) - Патчер остановится, сообщит об ошибке и игра не будет пропатчена. Это и есть основное достоинство для издателя и недостаток для гордого пользователя свободного Вареза.

    Более 90% таких Патчеров представляют собой RTPatch ( платный, коммерческий)
    Надо устранить несправедливость и научиться их распаковывать, ну и правильно патчить игры само собой.

    2. Состав и распаковка RTPatch инсталятора.

    В основном, существует два вида инсталяторов-

    1. Обычный Инсталятор типа IS, WISE или что-то подобное.
    Нужные нам файлы (о них ниже) упакованы стандартными методами и распаковать их нужно так же - например, используя программу Universal Extractor или консольные утилиты типа HWUN, UNWISE итп.
    Некоторые инсталяторы (IS) распаковывают файлы во временную папку при запуске - оттуда их можно просто скопировать, не закрывая инсталятор в этот момент. Ну а затем , распаковываем CAB файлы утилем WinUnpack или ISCAB.

    2. ЕхЕ + Overlay
    Здесь все управление и файлы зашиты в ЕхЕшник и просто так его распаковать не получиться. Однако есть хорошая тулза для распаковки SE_RTPatch_RIPer_1.04

    Забираем ее отсюда

    http://s2003r.co.nr/download.php?file=a5a882d2bf79821c8d71ac7d2e4e68f9


    Основные файлы для побайтного патчинга RTPatch

    1. Самый важный файл в составе Патча - *.rtp
    Это и ест список файлов, байты, которые нужно править и все остальное. Если его нет или он битый ничего не выйдет

    2. Patchw32.dll главная длл Патчера

    3. Возможен GUI.exe и (или) дополнительные файлы.

    3. Патчинг с помощью RTPatcher

    Итак мы получили файл rtp + другие файлы, как же пропатчить игру, да так, чтобы выполнялись нужные нам условия - пропуск " неродных" файлов, записей реестра итп. Для этого воспользуемся утилитой RTPatcher

    Забираем ее

    http://s2003r.co.nr/download.php?file=32b60aaefefbb30992b33e8f8afc4ea9

    В Архиве -
    файл PW32GUI.exe - это сама программа + длл для нее PATCHW32.dll + очень хорошая справка
    Утилиту следует распаковать в отдельную папку, а в другую папку распакованные файлы Патча игры - в первую очередь rtp файл Затем мы настраиваем нужные нам опции в утилите (типа пропуска файлов итп) , указываем пути к игре и файлу rtp - и все :) Без проблем патчим игру.

    Перед пользованием обязательно изучите Хелп к Утилите Патчинга.

    Соглашение: Статья предназначена для личного пользования - только в целях самообразования и обучения. Никакие материалы статьи не могут быть воспроизведены где-либо, без согласия автора и указания его авторства.

    Добавлено через 9 минут
    1. Очепятка - не надо так нервничать... :)
    2. Статья писалась более под новые игры, ну и я не претендую на академичность и глобальность :)
    3. Я бы сам хотел такое описание с ключами - в свое время что-то нашел, но оно не полное. впрочем я могу дополнить. Только вот ключи нафиг не нужны, потому что если IS не нравится реестр , он не распакуется ни с ключем, ни без него.
    4. I'm Cracker - Not Programmer ...

    вообщем Вы всегда можете дополнить материалы , хотите для профи - будет вам с кодами и дизасмом - только вот чайники не поймут...
     
    Последнее редактирование: 18 ноя 2007
    Каинхару и kreol нравится это.
  6. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Soft Ice, пункт 3 - ключи РАСПАКОВЩИКА для консоли, какого на фиг реестра...
    IS по сути никак не привязан сам к реестру - только то что в скриптах установки.
     
    kreol нравится это.
  7. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.049
    Как меня бесят "умники", которые скачивают программы с моего сайта, выкладывают на файлообменник и с довольной харей заявляют "Скачать можно здесь..."
     
    Soft Ice и kreol нравится это.
  8. Soft Ice

    Soft Ice

    Регистрация:
    17 ноя 2007
    Сообщения:
    49
    Имеется ввиду, что Патч (его инсталятор) проверяет ключи РЕЕСТРА и конкретно игры, и если их нет или не в порядке - не установиться ни с какими ключами КОНСОЛИ ... You UNDERSTAND ?

    То бишь для нашей цели установить патч на пЕратку эти ключи без надобности ( консольные то есть) Они ничего не решают.

    1. Программы скачаны по ссылкам с Вашего форума давно уже.
    2. Где же (или кто похерил) Вашу НФОшку из архива?
    3. Надеюсь Вы не обвиняете меня в присвоении Вашего авторства ?
    4. Не упомянул в статье - виноват , все из-за отсутвия ридми или нфо - можно исправить, если это принципиально важно.
    5. Дайте ссылку на Ваш сайт- очень интересно зайти и посмотреть другие программы и тулзы Ваши.

    :) Беситься не надо - в архиве нет ссылок и нфо , иначе я бы их указал.
    А файлосервер принадлежит моему другу с Варезка и креклаба и выложил их я , ибо не знал ссылок на Ваш сайт. Если хотите - исправьте это как-то. Согласитесь, глупо ссылаться на тулзу и не выложить ее.

    Добавлено через 3 минуты
    Немного консольных ключей для разных инсталяторов можно посмотреть тут-

    http://oszone.net/display.php?id=2766&do=print

    Более у меня инфы нет - кто хочет, велкам - пишите справочник или статью, буду рад прочесть.
     
    Последнее редактирование: 19 ноя 2007
  9. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Soft Ice, ты прикидываешься или сроду такой? Я ГОВОРИЛ ПРО КОНСОЛЬНЫЕ КЛЮЧИ РАСПАКОВЩИКОВ. А ты с какого то бодуна с третьей попытки не понимаешь что про них речь.

    Блин, Фримен, полегче! Я уже волнуюсь
    by VD


    Полагаю, имелись ввиду "параметры запуска из командной строки"
    by VD
     
    Последнее редактирование модератором: 19 ноя 2007
  10. Soft Ice

    Soft Ice

    Регистрация:
    17 ноя 2007
    Сообщения:
    49
    Нету у меня этих ключей... Возьми IDA pro - продизасмь движок и напиши сам про них, все что думаешь. Нет у меня сил и времени этим заниматься...

    Добавлено через 14 минут
    Распаковка Патча из инсталятора Setup Factory, защищеннного паролем

    Исследование Патчей для игры "Starshatter v4.0"

    автор : Soft_Ice (с) ...::: Soft_Ice CracK LaB :::...
    инструменты: IDA Pro v5; QEDIT (Hexx Edit), PeID2006, прямыеруки.sys (driver)

    Соглашение: Данная статья заинтересует, в основном, новичков и людей, имеющих средний опыт изучения реверс инженеринга. Статья предназначена для личного пользования - только в целях самообразования и обучения. Никакие материалы статьи не могут быть воспроизведены где-либо, без согласия автора и указания его авторства.

    Предисловие

    У нас есть "левая" версия игры " Starshatter" v4.0 от
    http://www.starshatter.com
    - очень хороший космосим (навроде знаменитой Elite) и набор из оффициальных Патчей для нее v4.02 , v4.03, v4.5 Есть желание все эти патчи поставить на игру, а затем сделать свой хороший инсталятор да и записать на диск. Да вот беда- патчи при запуске требуют серийный номер для игры, а пошустрив в интернете, Вы таковых не нашли, а которые нашли - так они не проходят, известная проблема, начнем ее решать.Причем сделаем это, используя имеющиеся в нашем распоряжении инструменты и тулзы (доступные в сети)

    Часть 1. Осмотр (как у Доктора)

    Осмотрим для начала саму игру ведь она худо-бедно работает и серийника не просит. Первое - обращаем внимание на наличие в папке игры файлов с названиями - irunin.dat, irunin.ini, irunin.lng - приставка ir означает не что иное, как Indigo Rose - компания , производящая программу для сборки инсталяторов "Setup Factory" . Программа дает массу возможностей, пожалуй даже больше, чем Inno Setup, и эти возможности может применить даже человек, не знакомый с программированием, весьма удобная система создания инсталятора, работает принцип " drag & drop " - типа отметил , кликнул, перенес файлы в проект и забыл. В Inno Setup надо соображать, писать скрипты итп. Все похоже, но ламеру ушастому трудновато будет. Но вот беда - у Setup Factory наиотвратительная zip компрессия - проигрывает Inno Setup до 2х раз и более. Впрочем, мы отошли от главного.Смотрим далее.

    Надеюсь у вас в свойствах файлов включены опции " показывать расширения файлов " и " отображать скрытые и системные файлы". Потому мы сразу замечаем некий скрытый файлик maga.mg Открываем его в прекрасной программе Ultra Edit и смотрим -

    Код[SerialNumber]
    serial=2222-4444-5555-6666

    (сериал мной изменен заведомо на неверный)

    Значит здесь игра хранит свои тайны. Проанализировав реестр, находим второе тайное место в виде ключа реестра -

    КодWindows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Matrix Games]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Matrix Games\Starshatter]
    "version"="v4.0.0"
    "installed"="TRUE"
    "installed to"="C:\\TEST\\STARSH~1"
    "installed from"="I:\\03_Starshatter"
    "username"="User"
    "company"="Russia"
    "code"="MG001"
    "authorized"="relo-aded-rule-s2k4"

    Собственно, все это нам понадобится после патчинга, для установки нужных серийников, чтобы игра не брыкалась...

    Часть 2. Анализ и осмотр Патча.

    Запускаем Патч Starshatter-Patch-v402.exe и он требует первым делом ввести правильный серийник к игре. Наш (а равно и другие, найденные в сети) не проходят. Выскакивает дурацкое окно - Invalid Serial etc...

    Попробуем распаковать Патч, по ряду признаков мы догадались, что его инсталятор сделан " Setup Factory" , что вряд ли он Побайтовый патч, просто файлы пожаты и пошифрованы внутри инсталятора. Запустив универсальный распаковщик Universal Exractor - распаковать патч не удается - программа спотыкается о зашифрованный пароль.

    По опыту борьбы с Патчами, мы знаем, что большинство из них распаковывает свои драйвера, служебные файлы с мессагами (сообщениями) и непосредственно заархивированные файлы во временных папках Windows. Папка номер 1 - здесь -

    C:\Documents and Settings\Admin\Local Settings\Temp или адрес может быть несколько другим (смотря под какой учетной записью вы Вошли в систему) - Итак , откроем ее , и предварительно очистим от всего мусора и файлов.

    Затем Мы открываем другую папку, где находится наш патч - Starshatter-Patch-v402.exe и запускаем его вновь, доходим до места ввода серийника и не закрываем Патч, переходим в нашу временную папку. Мы видем, что Патч уже распаковал ряд служебных файлов - IRIMG*.bmp (картинки инсталятора) , irsetup.dat (важный файл ! - архив с зашифрованными файлами игры для патчинга), irsetup.exe (Важный файл ! - движок инсталятора (run time) , irsetup.ini - Ини файл для движка инсталла, suf6lng.9 - Мессаги (сообщения) для инсталятора.

    Если Мы закроем главный инсталятор ( Starshatter-Patch-v402.exe) , то все эти файлы автоматически удаляются им, потому, не закрывая окно с просьбой ввода пароля, копируем все вышеобозначенные файлы в другую папку, туда, где основной инсталятор Патча. Сразу же, после этого применяем аттрибут "только чтение" ко всем этим файлам, ибо хитрючий инсталятор и там их может удалить, после закрытия. Теперь можно закрыть основной инсталятор.

    Итак наш инсталятор Патча - распакован на несколько отдельных файлов, предназначение их я описал выше, а еще Вы может сами их пооткрывать Ultra Edit и посмотреть , что и где лежит. Теоретически, легко видно в файле irsetup.dat массив зашифрованных данных, из дизассемблинга файла движка irsetup.exe видно, что сжатие по типу PKWARE (это bzip или zip) , однако нахождение ключа и расшифровка на месте , по крайней мере для меня имеет трудность. Поэтому будем делать иначе.

    Часть 3. Проверка серийника и ее обход

    Дизассемблируем наш движок Патча - файл irsetup.exe - загрузив его в лучший дизассемблер IDA PRO

    Мы не можем восстановить программу до исходного уровня (как не можем сказать, что модуль|2| -это минус 2 или плюс 2) Однако машинный опкод мы восстановим до уровня АСМ (Ассемблера) + умница IDA способен распознавать многие библиотеки и функции ! Таким образом, мы получим удобно читаемый и анализируемый код программы.

    Разжевывание способов работы с IDA огромно по объему и конечно же, выйдет за рамки данной статьи, потому Вам придется все это изучить самостоятельно. Однако, там нет ничего сверхсложного, по крайней мере при работе с PE файлами ( современные ехе)

    Запуская Патч, мы видим, что выскакивает пара окон, нажав на кнопки " ОК" - Выскакивает окно ввода серийника, и после введения его, выскакивает окно с сообщением " Invalid Serial..." Из изучения функций API мы знаем, что чаще всего окно вызывается функцией MessageBoxA , параметры диалогового окна - DialogBoxParamA , считывание символов серийника (или целой строки) - GetDlgItem, GetWindowTextA и другие.

    Нам нужно поставить бряк (брейкпойнт или точку останова) на одну из этих функций, чтобы найти место ввода или проверки серийника в движке патча и затем его пропатчить, так, чтобы программа принимала любой серийник и распаковывала патч. Основная проблема здесь такая, что сначала вылетает 2 интерактивных окна, но если поставить бряк - он сработает на них, и мы не сможем перейти от отладки в процесс Инсталятора, чтобы нажать кнопки ОК. Нам нужно отловить точно вылет третьего окна ! Или ввод серийника.Нам нужно найти функцию, работающую только при этих условиях, либо имеющую мало число рефренсов (вызовов из кода программы), потому, что если их много (10-20) - бряки начнут срабатывать ранее и до третьего окна вы не сможете протрассировать движок. Итак посмотрим на такую функцию - IsDialogMessageA - у нее только один референ (вызов) отсюда

    Up r CWnd::IsDialogMessageA(tagMSG *)+29 call ds:IsDialogMessageA

    Данная функция относится к диалоговым окнам, поставим бряк на начало подпрограммы, откуда она вызывается. Также можно попробовать пробиться к месту проверки номера через функции ввода текста (серийника) см выше. Реально поставить бряки на функции MessageBoxA - вызов сообщения в окне (там 11 вызовов) придется анализировать и отсекать лишнии. В любом случае, Вам придется потрассировать движок, ставить разные бряки на вышеобозначенные функции и подпрограммы, их вызывающие. Важно только то, что Вы должны попасть и остановиться в место вывода третьего окна , а еще лучшее ввода серийника.

    Альтернативный метод - откройте в Ultra Edit файл suf6lng.9 - в нем Вы найдете все теги и сообщения для движка Setup Factory, а также их ID , которые использует движок (их надо искать в стрингах или листинге дизассемблированного движка) Например -

    Код[SUF60Language]
    ID=Setup Factory 6.0 Language File
    Description=English
    LanguageID=9

    [Misc]
    MSG_GEN_FAILED=Operation Failed
    MSG_GEN_PACKAGE_SIZE=Package size
    MSG_GEN_TOTAL_SIZE=Total install size
    LANG_NAME=English

    ******************************************

    MSG_ERR_INVALID_USERNAME=Invalid username.
    MSG_ERR_INVALID_PASSWORD=Invalid password.

    Ну их очень много, но по их следу мы можем найти нужное место проверки в коде движка

    Итак, мы попадаем на такой милый код (кстати не имеет референсов в отладчике !) Я буду отмечать комментарии REM

    Код.text:00416298; --------------- S U B R O U T I N E --------------------------
    .text:00416298
    .text:00416298
    .text:00416298 sub_416298 proc near
    .text:00416298 mov eax, offset loc_47B77C
    .text:0041629D call __EH_prolog
    .text:004162A2 push ecx
    .text:004162A3 push ecx
    .text:004162A4 push ebx
    .text:004162A5 push esi
    .text:004162A6 mov esi, ecx
    .text:004162A8 call sub_41642A REM Здесь поставим финальный бряк ! Подпрограмма ввода серийника , проверка его длинны
    .text:004162AD xor ebx, ebx
    .text:004162AF cmp [esi+184h], ebx
    .text:004162B5 jg short loc_4162C6 Если длина не нулевая прыгаем на прверку !
    .text:004162B7
    .text:004162B7 loc_4162B7:; CODE XREF: sub_416298+55j
    .text:004162B7 mov dword ptr [esi+150h], 0Ah
    .text:004162C1 jmp loc_4163A2 REM Если дотрассировать сюда, отмена установки
    .text:004162C6; ----------------------------------------------------------------
    .text:004162C6
    .text:004162C6 loc_4162C6:; CODE XREF: sub_416298+1Dj
    .text:004162C6 mov eax, [esi+14Ch]
    .text:004162CC mov ecx, esi
    .text:004162CE push dword ptr [eax+1B4h]
    .text:004162D4 call sub_416499 Здесь проверка и если все хорошо то след прыжок на установку и распаковку патча
    .text:004162D9 test eax, eax
    .text:004162DB jnz loc_41637B REM Если еах =1 прыгаем на установку, нет - идем далее на выход окна " Invalid serial"
    .text:004162E1 dec dword ptr [esi+184h]
    .text:004162E7 cmp [esi+184h], ebx
    .text:004162ED jle short loc_4162B7
    .text:004162EF mov eax, [esi+14Ch]
    .text:004162F5 mov ecx, [esi+158h]
    .text:004162FB push edi
    .text:004162FC push dword ptr [eax+0Ch]
    .text:004162FF lea eax, [ebp-14h]
    .text:00416302 push eax
    .text:00416303 call sub_44EE28
    .text:00416308 mov edi, [eax]
    .text:0041630A mov eax, [esi+14Ch]
    .text:00416310 mov ecx, [esi+158h]
    .text:00416316 mov [ebp-4], ebx
    .text:00416319 push dword ptr [eax+140h]
    .text:0041631F lea eax, [ebp-10h]
    .text:00416322 push eax
    .text:00416323 call sub_44EE28
    .text:00416328 mov eax, [eax]
    .text:0041632A push 30h; uType
    .text:0041632C push edi; int
    .text:0041632D push eax; lpText
    .text:0041632E mov ecx, esi
    .text:00416330 mov byte ptr [ebp-4], 1
    .text:00416334 call sub_46F7A7
    .text:00416339 lea ecx, [ebp-10h]
    .text:0041633C mov [ebp-4], bl
    .text:0041633F call sub_46C488
    .text:00416344 or dword ptr [ebp-4], 0FFFFFFFFh
    .text:00416348 lea ecx, [ebp-14h]
    .text:0041634B call sub_46C488
    .text:00416350 mov eax, [esi+14Ch]
    .text:00416356 pop edi
    .text:00416357 mov ecx, esi
    .text:00416359 cmp [eax+450h], ebx
    .text:0041635F jnz short loc_416374
    .text:00416361 push 40Fh; nIDDlgItem
    .text:00416366
    .text:00416366 loc_416366:; CODE XREF: sub_416298+E1j
    .text:00416366 call sub_46CFCD
    .text:0041636B mov ecx, eax
    .text:0041636D call sub_46D227
    .text:00416372 jmp short loc_4163AC REM ВЫХОД - Нет установки
    .text:00416374; ------------------------------------------------------------
    .text:00416374
    .text:00416374 loc_416374:; CODE XREF: sub_416298+C7j
    .text:00416374 push 52Dh
    .text:00416379 jmp short loc_416366 REM ВЫХОД - Нет Установки
    .text:0041637B; ------------------------------------------------------------------
    .text:0041637B
    .text:0041637B loc_41637B:; CODE XREF: sub_416298+43j
    .text:0041637B mov eax, [esi+14Ch]
    .text:00416381 mov ecx, [esi+158h]
    .text:00416387 push dword ptr [eax+1B4h]
    .text:0041638D push dword ptr [eax+16Ch]
    .text:00416393 call sub_44EC5D
    .text:00416398 mov dword ptr [esi+150h], 1 REM - Сюда прыгаем, засылаем 1 и начинаем установку патча
    .text:004163A2
    .text:004163A2 loc_4163A2:; CODE XREF: sub_416298+29j
    .text:004163A2 mov eax, [esi]
    .text:004163A4 mov ecx, esi
    .text:004163A6 call dword ptr [eax+0C4h]
    .text:004163AC
    .text:004163AC loc_4163AC:; CODE XREF: sub_416298+DAj
    .text:004163AC mov ecx, [ebp-0Ch]
    .text:004163AF pop esi
    .text:004163B0 pop ebx
    .text:004163B1 mov large fs:0, ecx
    .text:004163B8 leave
    .text:004163B9 retn


    Вы можете протрассировать программу, после ввода серийника и прямо при отладке сделать еах=1 и сработает наш джамп (прыжок) и начнется установка прямо из отладчика.

    Это здесь

    .text:004162D9 test eax, eax REM Заслать 1 в еах
    .text:004162DB jnz loc_41637B

    Соответственно открываем QEDIT (Хекс редактор) и меняяем в опкодах irsetup.exe по адресу (берем в ИДА) 000162DB

    0F 85 9A 00 00 00 на E9 9B 00 00 00 90 или мнемокод

    jnz loc_41637B на jmp loc_41637B nop

    Последний неопределенный переход nop или 90 (опкод) для выравнивания инструкции по-байтно , для сохранения размеров ЕхЕ исходного и патченного.

    Заменив патченный файл и запустив его, вводим любой произвольный сериал, лучше, если кол-во цифр будет похоже на настоящий. Например - 2222-4444-5555-6666 После этого, вместо дурацкого окна " Invalid Serial..." будет окно с предложением указать путь к игре (кстати Вы можете распаковать патч вообще в любую папку и потом сделать архив с нормальным и файлами для патчинга игры) .

    Примечание - работает даже безо всякого ввода сериала !

    Здесь Важно одна вещь. Замените файл с начальным серийником, помните -скрытый файлик maga.mg (Патч при распаковке подменит его, а точнее впишет в него наш левый не рабочий сериал). Также, если патч заменит сериал в реестре, неплохо сделать кей файл перед патчингом и после восстановить ключ реестра с нормально работающим серийником.

    Ну вот , мы взломали движок инсталятора Патчей " Setup Factory" версия 6

    Часть 3. Окончание

    А как же остальные навесные Патчи v4.03 v4.5 ? Да абсолютно так же, только не надо больше ничего ломать ! Алгоритм прост.

    1. Запускаете следующий патч - скажем Starshatter-Patch-v403.exe (предварительно очищаем папку временных файлов !)

    2. Копируем оттуда набор распакованных файлов в папку, где исходный наш Патч (!), ставим галку только для чтения (короче см начало тутора) После чего патч Starshatter-Patch-v403.exe закрываем. Надо еще открыть файл irsetup.ini и убедиться, что в нем правильный путь к исходному Патчу

    3. Заменяем в этом наборе irsetup.exe на наш Пропатченный вариант. Больше ничего менять не надо !

    4. Запускаем для патчинга пропатченный файл irsetup.exe из папки с Патчами., вводим любой левый сериал и патчим игру, либо распаковываем патч в любое удобное место.

    Тут и сказочке конец, а кто слушал - молодец !

    Мне сдается, наш ломанный движок способен помочь и в распаковке других упрямых патчей с помощью методики подмены (!) , надо попробовать, а я попрощаюсь с Вами ! Надеюсь моя статья помогла кому-то.

    Автор - Soft_Ice Crack Lab 30.04.2007
     
    Последнее редактирование: 20 ноя 2007
    VorteX DrAgON и kreol нравится это.
  11. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.049
    Ссылка в моём профиле. На моей страничке всегда самые последние версии инструментов мо тематике самой страничке. Не знаю почему ты не нашёл её, в то время как очень часто меня самого находят разные люди-человеки и спрашивают о том почему что-то не работает в версии, которую я выпускал года так два назад, в то время когда на сайте лежит уже давно новая исправленная версия... прямо интернетский треугольник :umnik:
     
    kreol нравится это.
  12. Каинхару Lawful Evil

    Каинхару

    Legacy

    Регистрация:
    4 мар 2005
    Сообщения:
    3.126
    Так, господа... Для поливания друг друга гряzью есть ЛС... Выясняйте отношения там...
     
    kreol нравится это.
  13. Soft Ice

    Soft Ice

    Регистрация:
    17 ноя 2007
    Сообщения:
    49
    Распаковка Патча из инсталятора Install Shield v11

    Исследование Патча для игры "Rome Total War v1.3 + Barbarian Invasion v1.4" + Патч 1.2 для игры " CAESAR IV"

    автор : Soft_Ice (с) ...::: Soft_Ice CracK LaB :::...
    инструменты: Universal Extractor v1.5, IsCABVu, WinUnpack, Ultra Edit,

    Соглашение: Данная статья заинтересует, в основном, новичков и людей, имеющих средний опыт изучения реверс инженеринга. Статья предназначена для личного пользования - только в целях самообразования и обучения. Никакие материалы статьи не могут быть воспроизведены где-либо, без согласия автора и указания его авторства.

    Предисловие

    У нас есть "левая" версия игры о"Rome Total War v1.3 + Barbarian Invasion v1.4" это знаменитая стратегия из серии игр "Total War" , большая игра на ДВД (3 СД), однако мой небольшой туториал применим и к небольшим мини играм, другим патчам, и оффициальный Патч для нее v1.6 Есть желание его поставить на игру, а затем сделать свой хороший инсталятор да и записать на диск. Да вот беда- патч при запуске сообщает, что наша игра "левая" - стало быть проверка CRC (контрольная сумма ЕхЕ игры) , а может быть и записей реестра. Пошустрив в интернете, Вы таковых не нашли, а которые нашли - так они не проходят, известная проблема, начнем ее решать.Причем сделаем это, используя имеющиеся в нашем распоряжении инструменты и тулзы (доступные в сети)

    Часть 1. Осмотр

    Посмотрим внешне на наш Патч - это один файл rome_total_war_patch_1-6.exe весом аж 56 МВ !. Сразу можно сделать вывод, что скорее всего патч не побайтный, а все нужные файлы запакованы в архиве патча. Открываем свойства файла и видим - версия файла 11.00 Авторские права -Copyright © 2005 Macrovision Corporation Название продукта InstallShield ® ! Инсталяторы IS (для краткости) появились очень давно, лет этак 10 -12 назад (как миниум) Сегодня, это мощные инсталяторы с кучей возможностей. Архивирование файлов идет по формату CAB (если кто-то не знает, то этот же формат использует и Win дистрибутивы).Могут быть на движке IS, а могут использовать встроенный движок MSI (это микрософтовский MSI Instaler) Движок и архивы IS всегда состоят из нескольких файлов, а если инсталятор из одного файла , как в нашем случае, то это только внешне. На самом деле, при запуске , он распаковывает во временную папку набор файлов, а оттуда уже идет запуск. Также , аналогично, при использовании движка MSI - идет первоначальная распаковка архивов MSI во временную папку, затем запуск MSI инсталера и установка.

    Проверим это, запустим наш инсталятор и дойдем до его экрана приветствия остановимся.Затем не закрывая Инсталятор (!) заходим в нашу временную папку номер 1 -

    C:\Documents and Settings\Admin\Local Settings\Temp\

    Надеюсь, у вас в свойствах файлов включены опции " показывать расширения файлов " и " отображать скрытые и системные файлы". Потому мы сразу замечаем несколько папок - проанализируем их

    C:\Documents and Settings\Admin\Local Settings\Temp\iss3.tmp

    Здесь ини файл инсталятора, его некоторые параметры

    C:\Documents and Settings\Admin\Local Settings\Temp\{410F0992-7F6D-4C6E-9D50-52A9AFFA48AF}

    А здесь различные служебные файлы инсталятора, в принципе мы можем в них покопаться, правда для распаковки это бесполезно, так , ради изучения...

    Corecomp.ini - Служебный ини файл движка инсталятора

    C:\Documents and Settings\Admin\Local Settings\Temp\{410F0992-7F6D-4C6E-9D50-52A9AFFA48AF}\{0A6C9EDF-B24C-4FD0-B0FF-8BE096DA4977}

    _IsRes.dll - Здесь ресурсы Инсталятора, менюшки на экранах, иконки итп. Можем выдрать их с помощью любой программы ковыряния ресурсов (я пользую PE Explorer 1.93)

    isrt.dll - Это часть движка , run time библиотека, ее можно было бы поковырять дизассемблером, если бы пришлось распаковывать вручную, но не сейчас...

    FontData.ini - ини шрифтов Инсталятора

    *.txt - пара " очень нужных нам" грабительских соглашений и лицензий по использованию - типа спасибо, что купили, мы ни за что не отвечаем, а Вы никаких прав не имеете . Уроды !

    setup.inx это зашифрованный файл , типа бинарник

    StringTable-0009-English.ips - Вот интересный файл, это стринги сообщений инсталятора, то есть открыв его в Ultra Edit - мы увидим много интересного, например такие строки -

    [StringTable:Data:0009]

    BACKGROUND_TITLE=Rome - Total War - Barbarian Invasion
    BI_NOT_DETECTED=RomeTW-BI.exe has not been detected.

    Я поясню - при дизассемблировании и ковырянии движка , стринг ЕхЕ надо искать такой- BI_NOT_DETECTED. А движок выдаст нам уже мессадж - RomeTW-BI.exe has not been detected. Правда сейчас нам это не нужно, так информация на будующее

    default.pal - Это файл палитры для вывода bmp картинок, графики...

    Ну что же, смотрим другую папку...

    C:\Documents and Settings\Admin\Local Settings\Temp\bye2.tmp\Disk1

    Здесь в папке Disk1 и есть наш полный набор инсталяционных (уже распакованных из нашего Ехешника) файлов. Вы можете их скопировать и в дальнейшем запускать инсталяцию, анализировать, взламывать. Сейчас пока просто проанализируем их содержимое.

    setup.exe - настоящий движок инсталятора IS - его сердце !

    setup.ini - его ини файл

    setup.ibt - на самом деле это длл для движка

    data1.hdr - очень Важный файл - скрипт инсталятора, можно открыть в Ultra Edit и поковырять ! В скрипте записаны все операции с реестром, файлами итп.

    engine32.cab - Вот вам и первый зашифрованный архив САВ - он мал, это служебные программы для движка IS -

    data1.cab - а это уже намного интереснее, небольшой архив, явно не с файлами, но где же сами файлы ? Ответ даст следующее -

    layout.bin - открываем в Ultra Edit и смотрим - в самом низу файла - setup.ini engine32.cab setup.exe data1.hdr data1.cab data2.cab setup.ibt layout.bin - это список файлов инсталятора - обратите внимание, файл data2.cab - вот наш архив, но в этой папке его нет. Очевидно, хитрая основная программа инсталятор rome_total_war_patch_1-6.exe , распаковывает его во временную папку только после проверки игры.

    ПРИМЕЧАНИЕ- В очень многих других случаях, этот файл data2.cab имеется и мы можем смело выдирать комплект инсталяции из папки Disk1 и пользовать его, в нашем случае нельзя ...

    В общем, прослушайте радиопЕрдачу " Отсоситесь горнисты ! " Возвращаемся в папку с основным инсталятором rome_total_war_patch_1-6.exe , а его закрываем...

    Забегая вперед, скажу, что обмануть инсталятор (именно этого Патча) очень просто, нужно лишь скачать невзломанный ЕхЕ игры из сети раз, либо сделать фейк - взять любой текстовый или другой файл, подогнать в Хекс редпакторе его до правильного размера (а его пишут на спец тематическом форуме игры) , переименовать в нужное Имя.ехе и инсталятор его проглотит - но сколько тут геммороя, не спортивно до ужаса. Да и качать 13 МВ из сети напрягает... Поступаем по другому !

    Часть 2. Распаковка Патча.
    Итак, в нашем распоряжении есть некоторые инструменты для полной распаковки патчей (инсталяторов) IS . Совсем древние, типа IS CAB нам не помогут. Для начала пробуем отличный Универсальный распаковщих Universal Extractor v1.5 (!) Помните набор файлов в папочке Disk1 - нам надо получить такой же (для начала) , но еще и выдрать архив с файлами data2.cab .

    Пояснение - программа Universal Extractor cама по себе - это GUI - универсальный графический интерфейс для работы с программами-распаковщиками командной строки (их Вы найдете много в папке этой программы) + прикрученный PEiD для анализа файлов . В версии 1.5 появилось очень классное решение - автор прикрутил плагины FARa и еще кое-чего. Я это о том, что все, что делает эта программа, можно проделать руками , запуская консольные программы распаковщики или используя FAR и его плагины. Но это для человека, не впадающего в ступор от слов ДОС, Командная строка, FAR итп.

    Итак, применив Universal Extractor v1.5 для распаковки rome_total_war_patch_1-6.exe , мы получаем рядышком папку Disk1 c полным набором файлов инсталяции + так необходимый нам файл data2.cab.

    Попробуем распаковать уже полученный набор файлов. Для начала, попробуем взять хороший распаковщих IS IsCABVu - Открываем в нем скрипт инсталятора data1.hdr, но увы, эта программка хорошо поддерживает IS версии 5-6-7-9 , у нас же 11 версия, и программа бессильна что-либо распаковать и даже открыть файл скрипта. Пробуем старенький WinPack (это для версий 3-4-5-6) , ЕхЕ в ней не откроешь, но зато можно открыть любые САВ файлы , посмотреть внутренний состав, структуру, запаковать или распаковать САВ файл. Итак, при открытии архива data2.cab - мы файлов вообще не видим о как!) , при открытии архива data1.cab можно видеть список файлов. Нажимаем Распаковать - облом , ничего нет. Что это нам напоминает ? Конечно - в архиве data1.cab список файлов, заголовки архива, а сами тела файлов лежат в архиве data2.cab. Вот так примерно. Ну и поскольку, программа прекрасна, но против 11 версии IS бессильна, мы ее успешно закрываем.

    Теперь мы пробуем распаковать с помощью Universal Extractor v1.5 . Сразу скажу, что распаковывать напрямую ЕхЕ или data2.cab безполезно, не работает. Также не работает и распаковщих IsXcab напрямую. А все потому, что заголовки архива и другая служебная инфа в САВ data1.cab. Короче к нему и применяем распаковщик Universal Extractor v1.5, а он уже все распаковывает рядышком с помощью плагинов.

    Итак , мы получаем папку data1 рядом, с нормальной структурой папок и распакованными файлами ! Заглянем внутрь.

    Папки bi и data содержат файлы для патчинга игры, их нужно будет поместить в игру с заменой файлов игры. Остальные файлы можно удалить, кроме ЕхЕ. Но эти Ехешники содержат защиту, поэтому мы их сначала заархивируем (для того, чтобы можно было их подставить в дальнейшем в игру , для последующих нормальных патчей, и во избежание геморроя по распаковке) , а правильно взломанные ЕхЕ нужных версий можно скачать сами знаете откуда и их подставить в игру. Также можно заархивировать игру и (или) распакованный патч или написать свой инсталятор к пропатченной игре.

    Часть 3. Проверка серийника Патчем и ее обход

    Очень часто, патчи - инсталяторы IS проверяют наличие правильно установленной игры по записям в реестре. Можно сказать, что это представляет собой проблему, к тому же в разных случаях Патчи проверяют разные записи реестра итп. Потому в данной статье мои советы будут изложены лишь в общих чертах. Как, правило, если игра вышла не два дня назад, в сети всегда есть добрые люди, выкладывающие правильные ветки (ключи) реестра от нужной нам игры. Как правило, это специализированные форумы по данной игре, с более менее раскрепощенным модерированием. Я внимательно просматриваю форумы - stopgame.ru и playground.ru, возможно найти инфу поиском или на других тематических форумах. Для операций с реестром (анализ итп) очень рекомендую программу jv16 power tools . Ранее она была бесплатна, теперь требуют денег. Возможно использование любой альтернативной программы. При анализе реестра, эта программа выдает ссылки по названию ключей программ (игр итп) и по названию самих игр. Далее мы из этой программы можем найти нужный ключ, и открыв ее (через regedit - внутренний редактор Реестра Windows) редактировать ключ, удалять, изменять, делать рег файл.

    Основные ключи программ записываются в реестре здесь

    [HKEY_LOCAL_MACHINE\SOFTWARE\]

    [HKEY_CURRENT_USER\SOFTWARE\]

    Я буду пояснять на примере пропатчивания игры CAESAR IV с версии 1 до версии 1.2

    Итак, если Вы не нашли ключ реестра игры в сети, дело трудное, но поправимое. Во первых, Вы можете запустить игру, затем проанализировать, создает ли игра, хотя бы какие-то свои ключи реестра, записывает ли туда инфу. Основное оружие мониторинга реестра - программа RegMon (найти легко, прога бесплатна). Также может помочь дизассмеблирование ЕхЕ игры, с целью поиска веток реестра, ее отладка с целью поиска ключей итп. Муторно конечно. Вот например ключ реестра игры Цезарь 4-

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Sierra]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Sierra\CaesarIV]
    "CDKey"="WEW6-LYJ6-CAZ4-XYG7-6255"
    "InstallPath"="C:\\TEST\\Caesar IV\\"
    "InstallExePath"="C:\\TEST\\Caesar IV\\CaesarIV.exe"

    Здесь, основные вещи, проверяемые инсталятором - пути к игре и ее CДключ. СД Ключ ищем в сети - подставляем в реестр, пути прописываем сами правильные. Исходный пЕратский инсталл почему то этого не делал ? кривыеруки.sys ?

    Итак мы добавили нужную инфу, а Патч все одно не ставится... Гррррр Патч не ставится , потому что, ему еще нужно найти 2 вещи (!) важно - это ключ реестра ДЕинсталятора IS (! именно Install Shield) и лог файл того же Деинсталятора. В сети нет, чего делать будем?

    Для начала хорошо иметь хотя бы 5-6 прог (игр) установленных IS, причем похожих версий (поздних 10-11-12) - версию инсталла у Патча Вы найдете в его свойствах. А также , если Вы ранее устанавливали-удаляли игры (софт) с таких инсталлов, у вас в реестре накопилось немало их ключей, так как при ДЕинсталле они не удаляются, для чего и процветают проги по чистке реестра от г0внища, но сейчас не об этом.

    Надо просто знать, что все ключи деинсталяции в основном в реестре здесь-

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\]

    Нам надо создать ветвь реестра что-то вроде

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B7666229-351B-47D9-AA6F-DF777CF04BBF}]

    Объясню, что такое {B7666229-351B-47D9-AA6F-DF777CF04BBF} Это уникальный номер GUI Деинсталятора IS нашего Патча. Где нам его взять ? - из анализа файлов инсталятора конечно! Итак, немного покопавшись (скопируем набор файлов инсталятора Патча из временной папки (см часть 2 тутора)) через Ultra Edit во внутренностях служебных файлов - Находим номерок этого GUI и создаем вручную ветвь реестра. В ней еще нужно прописать ключи и лог файл ! Для этого анализируем уже ИМЕЮЩИЕСЯ ключи от других программ (софта) и делаем похоже...Итак

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B7666229-351B-47D9-AA6F-DF777CF04BBF}]
    "LogFile"="C:\\Program Files\\InstallShield Installation Information\\{A8BB9906-E618-406A-B161-7383AFF46C39}\\Setup.ilg"
    "InstallLocation"="C:\\TEST\\CAESAR IV\\"
    "Exe_Name"="CaesarIV.exe"
    "Version"=dword:01000000

    Итак, смотрите "LogFile" - лог файл левый , от другого софта, наш Патч его проглотит ,

    "InstallLocation" , "Exe_Name" - это можете прописать без проблем и ошибок, сложнее с версией игры - "Version" У меня было 2 промежуточных небольших патча, которые не принимали этот ключ, что бы я в него не подставлял (причем там 16 значении версии, а прога инстал патча считает его как-то по своему) короче клиника, пришлось скачать большой куммулятивный Патч от версии 1.0 до Финала 1.2 Вот он сразу взял версию 1.0

    Вообщем версию правильно подбираем и прописываем.

    Собственно все, запустили после всего этого Патч и пропатчили игру. Саму игру конечно стоит заархивировать и написать новый инсталятор. Кстати, сохраняйте все ключи реестра от игры в рег файлах и ключи, созданные уже после пропатчивания и запуска игры! Их легко экспортировать в рег файлы из редактора реестра regedit. При написании нового инсталятора игры это очень понадобиться...

    Вот и сами ключи (вдруг кому нужны) - только не забудьте прописывать Ваши Пути к игре -

    Это уже пропатченная версия 1.2, если добавить в реестр, Патч все равно пропатчит игру поновой.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Sierra]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Sierra\CaesarIV]
    "CDKey"="WEW6-LYJ6-CAZ4-XYG7-6255"
    "InstallPath"="C:\\TEST\\Caesar IV\\"
    "InstallExePath"="C:\\TEST\\Caesar IV\\CaesarIV.exe"
    Windows Registry Editor Version 5.00

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B7666229-351B-47D9-AA6F-DF777CF04BBF}]
    "InstallLocation"="C:\\Program Files\\Sierra\\Caesar IV"
    "Exe_Name"="CaesarIV.exe"
    "Version"=dword:01020000
    "ModifyPath"="C:\\Program Files\\InstallShield Installation Information\\{B7666229-351B-47D9-AA6F-DF777CF04BBF}\\setup.exe -runfromtemp -l0x0009"
    "UninstallString"="C:\\Program Files\\InstallShield Installation Information\\{B7666229-351B-47D9-AA6F-DF777CF04BBF}\\setup.exe -runfromtemp -l0x0009 -removeonly"
    "LogFile"="C:\\Program Files\\InstallShield Installation Information\\{B7666229-351B-47D9-AA6F-DF777CF04BBF}\\setup.ilg"
    "ProductGuid"="{B7666229-351B-47D9-AA6F-DF777CF04BBF}"
    "DisplayName"="Caesar IV"
    "Publisher"="Tilted Mill Entertainment"
    "URLInfoAbout"="http://www.tiltedmill.com"
    "RegCompany"="CRACK LAB"
    "RegOwner"="SOFT"
    "NoModify"=dword:00000000
    "NoRemove"=dword:00000000
    "NoRepair"=dword:00000001
    "InstallDate"="20070418"
    "Language"=dword:00000009
    "DisplayVersion"="1.2"
    "MajorVersion"=dword:00000001
    "MinorVersion"=dword:00000002
    "LogMode"=dword:00000001

    Надеюсь моя статья помогла кому-то, а я попрощаюсь с Вами !

    Soft_Ice Crack Lab 06.05.2007
     
    Каинхару и kreol нравится это.
  14. dev

    dev

    Регистрация:
    29 сен 2006
    Сообщения:
    132
    Небольшое дополнения для Indigo Rose Software Installer Builder (Setup Factory) 8.x/9.x, его активно используют Matrix Games и другие indie.
    Прошу прощения за английский, первоначально это писалось для наших западных коллег. Для примера рассмотрим инсталяцию Distant Worlds.

    Generalized algorithm:
    a) extract irsetup.exe (installer do it for you)
    b) unpack irsetup.exe (older versions not packed)
    c) find and disable keycheck routine (put breakpoint on MessageBox and wait for 'Invalid serial...')
    d) find irsetup.exe command line by hooking CreateProcess
    e) run irsetup.exe $command_line


    Distant Worlds install howto:
    Distant Worlds:
    - run DistantWorlds-SetupRelease-v100.exe
    - copy irsetup.exe from Windows temp folder (use find if necessary)
    - exit DistantWorlds-SetupRelease-v100.exe
    - find valid __IRAOFF (hook CreateProcess to see command line):
    WINEDEBUG=+all wine DistantWorlds-SetupRelease-v100.exe 2>/tmp/log
    grep CreateProcess /tmp/log | grep __IRAOFF
    - exit DistantWorlds-SetupRelease-v100.exe
    - unpack irsetup.exe with upx (upx -d irsetup.exe, http://upx.sourceforge.net)
    - change in irsetup.exe (search for sig C7 45 A8 01 00 00 00):
    00061cd7 75 90
    00061cd8 07 90
    - run irsetup.exe __IRAOFF:662050 "__IRAFN:.\DistantWorlds-SetupRelease-v100.exe" __IRCT:1 __IRTSS:0 __IRSID:S-0
    - enter any code

    Distant Worlds - Return of the Shakturi:
    - find valid __IRAOFF (hook CreateProcess to see command line):
    WINEDEBUG=+all wine DistantWorlds-ReturnoftheShakturi-SetupRelease-v1500.exe 2>/tmp/log
    grep CreateProcess /tmp/log | grep __IRAOFF
    - exit DistantWorlds-ReturnoftheShakturi-SetupRelease-v1500.exe
    - run irsetup.exe __IRAOFF:662050 "__IRAFN:.\DistantWorlds-ReturnoftheShakturi-SetupRelease-v1500.exe" __IRCT:2 __IRTSS:0 __IRSID:S-0
    - enter any code
    - fix Component_{15,17,80,81}.bmp:
    irsetup.exe __IRAOFF:662050 "__IRAFN:.\DistantWorlds-ReturnoftheShakturi-Update-v1508.exe" __IRCT:2 __IRTSS:0 __IRSID:S-0

    Distant Worlds - Legends:
    - run DistantWorlds-Legends-SetupRelease-v1700.exe
    - copy irsetup.exe to irsetup2.exe, lya51.dll from Windows temp folder (use find if necessary)
    - exit DistantWorlds-Legends-SetupRelease-v1700.exe
    - find valid __IRAOFF (hook CreateProcess to see command line):
    WINEDEBUG=+all wine DistantWorlds-Legends-SetupRelease-v1700.exe 2>/tmp/log
    grep CreateProcess /tmp/log | grep __IRAOFF
    - exit DistantWorlds-Legends-SetupRelease-v1700.exe
    - unpack irsetup2.exe with upx (upx -d irsetup2.exe, http://upx.sourceforge.net)
    - change in irsetup2.exe (search for sig C7 45 A8 01 00 00 00):
    00070e61 75 90
    00070e62 07 90
    - run irsetup2.exe __IRAOFF:2028914 "__IRAFN:.\DistantWorlds-Legends-SetupRelease-v1700.exe" __IRCT:3 __IRTSS:0 __IRSID:S-0
    - enter any code

    Patches:
    - find valid __IRAOFF (hook CreateProcess to see command line):
    WINEDEBUG=+all wine DistantWorlds-Legends-Update-v1706.exe 2>/tmp/log
    grep CreateProcess /tmp/log | grep __IRAOFF
    - exit DistantWorlds-Legends-Update-v1706.exe
    - run irsetup2.exe __IRAOFF:1758578 "__IRAFN:.\DistantWorlds-Legends-Update-v1706.exe" __IRCT:3 __IRTSS:0 __IRSID:S-0
    - enter any code


    p.s. Если игра Вам понравилась, пожалуйста купите ее, хотя бы одну или две части, если нет возможности заплатить $60+ за комплект. Поддерживайте авторов несмотря на жадных издателей.
     
    Dimouse нравится это.
  15. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Лучше бы что с новыми MSI делать придумали, там GUID имена вместо нормальных у файлов и переименовываются и даже по папкам раскидываются они в процессе уже скриптом, а руками это делать запаришься.
     
  16. phase

    phase

    Регистрация:
    20 янв 2013
    Сообщения:
    54
    А этот RTpath сейчас где нибудь реально скачать,искал на разных сайтах, ссылки битые, его даже с офсайта нельзя скачать. Или можно без него обойтись?
    Я хочу пропатчить пиратский Black & White, там rtp патчи. Придётся писать gui к patchw32.dll?(его я смог скачать)
     
  17. LetSPlay

    LetSPlay

    Регистрация:
    15 май 2016
    Сообщения:
    1
    Должен быть на дисках сборников патчей.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление