Новости
злам захисту NevoSoft і Alawar foxmail Дата: Понеділок, 15.02.10, 21:47 | Повідомлення # 13
мовчун
Prince777,
запускаєш гру (час демоверсії не повинно закінчитися), відкриваєш процес з ім'ям виконуваного файлу гри і розширенням .wrp.exe в Олька (OllyDBG), далі в commandbar (внизу зліва колонка така) вводиш там d 401000 (зазвичай саме це адреса початку секції коду (ImageBase = 400000 + HeaderSize = 1000)) і тиснеш Enter, вирізняєш весь дамп у вікні дампа (ліве нижнє вікно), для цього тицяєш мишкою в лівий верхній байт в цьому вікні, потім прокручуєш в самий низ, затискає Shift і тицяєш в самий останній бийт (дамп починатися буде з введеного адреси = 401000)> права кнопка миші по виділ ному> Binary> BinaryCopy, і тепер вставляєш скопійовані дані в новий документ в HEX-редактор (я користуюся HxD).
Тепер відладчик можна закрити, а в HEX-редактор завантажити wrp-файл, що лежить в папці з грою. Тиснеш ctrl + k (порівняння файлів в HxD) - вийде два вікна з відкритим файлом і дампом (дамп буде червоного кольору). Далі копіюєш перші 8 байт з дампа і шукаєш шестнадцатиричное значення (ці скопійовані байти) у вікні з чорним текстом (відкритий файл). Якщо це місце найденно, ставиш курсор в обох віконцях на початок виділення знайденого і на початок даних, які ти копіював для пошуку (типу вказуєш однакові місця в файлі і дампі) і тиснеш F6 (продовжити порівняння). HxD повинен знайти місце початку відмінності, відразу за яким знаходяться потрібні тобі байти (зазвичай від 2-х до 6-и). Ні очей дивишся кількість різних байт, копіюєш їх з дампа (червоний текст) і вклеювати з заміною в про друге вікно (в початок відмінності), після чого зберігаєш файл (має бути активно вікно з чорним текстом). Тепер гра буде без проблем запускатися з файлу назва ігри.wrp.exe.
ЗИ: В іграх за 2010р. ImageBase = 2000000.
... За пост не судіть строго, написано на бидловском мовою, причому описаний самий бидловскій спосіб, розрахований на людей, абсолютно не знають асемблера і не мають навичок злому програм. смертушка Дата: Середа, 16.02.10, 1:35 | Повідомлення # 14
мовчун
Та че, нормальний спосіб, робиш дамп потім порівнюєш, з огляду на що більшість Паблішер мініігр просто змінюють пару байт в точці вході або близько того то навіщо питається замарачіватся з асемблером це ж тобі не Армаділло швидко а головне просто.
Ще нормально оформити твій пост і можна в туторіали вішати (Ось тільки що спробував на батькових дочок всього два байта як і очікувалося в точці входу правда використовував зв'язку інших додатків "pe explorer, hexcmp, imprec")
До речі можна і авто патчер склепати
foxmail
Дата: Субота, 21.03.10, 20:30 | Повідомлення # 22
мовчун
Загалом захист досить легка!
Для проби скачав гру Зелена Місяць.
OllyDbg пріаттачіваемся до запущеного завантажувачу і ставимо бряки але WriteProcessMemory - їх буде 2 штуки.
Одна з функцій буде записувати розшифрований код в створений процес гри (.text) - дивимося адресу (приклад: Buffer = 02820020) і довжину даних (BytesToWrite = 146000 (1335296.)), а так же куди вони пишуться в процес гри (Address = 401000)!
Інша буде записувати невеликий шматок коду в нову! секцію гри, створювану загрузчиком - так само дивимося адресу, довжину і куди пишеться.
У вікні дампа копіюємо дані, адреси і розмір яких дізналися трохи вище, в будь-Hex редактор, туди ж завантажуємо копію файлу гри (не завантажувача!).
Копіюємо великий шматок даних, скопійований з Ольки в долучення із заміною за потрібною адресою, не забуваючи, що фізичну адресу = віртуальний адреса мінус початкова адреса образу (зазвичай 400000) приклад: 401000 - 400000 = 1000 - потрібну адресу! ... Зберігаємо новий файл.
Тепер до файлу потрібно прекрутіть нову секцію, для цього я використовував CFF Explorer.
Завантажуємо в програму збережений файл, вибираємо вкладку Section Headers.
Тепер потрібно зберегти маленький шматок даних, видертих з Ольки, в файл.
Тиснемо ПКМ у вікні CFF Explorer `і вибираємо пункт Add Section (File Data) і вибираємо збережений трохи раніше файл. З'явилася нова секція, обзавём її наприклад .text1 і змінимо її Virtual Addres на Address (приклад: Address = 1C0000), який ми дізналися, спотикаючись на геп на самому початку.
Далі ПКМ по новій секції і виберемо найперший пункт Change Section Flags і поставимо галки на Is readable, Is writeable, Contains Code.
Далі ПКМ Rebuild PE Header і Rebuild Image Size.
Тепер зберігаємо файл під новим ім'ям, приписуємо .exe якщо потрібно, і запускаємо гру з нього, ніякого лаунчер непотрібно!
-----------------------
Ну і правильний екзешнік жертви: http://depositfiles.com/files/ay2f914pd
Повідомлення відредагував foxmail - Воскресенье, 21.03.10, 22:53
KorlinДата: Понеділок, 22.03.10, 00:09 | Повідомлення # 23
мовчун
Кхм ... а можна по-простіше ...
Korlin
Дата: Понеділок, 22.03.10, 20:23 | Повідомлення # 26
мовчун
Підтримую.
смертушка
Дата: Середа, 23.03.10, 00:15 | Повідомлення # 28
мовчун
Зробив на швидку руку, суть така кидаєте цей екзешнік що в архіві куди хочете і запускаєте внизу в системному лотку з'явиться її іконка, власне все, прожка працює автоматично робити нічого більш не треба. Якщо хочете вийти подвійне клацання по іконці.
Далі просто запускаєте будь-яку гру ...
Власне пробуйте будуть якісь граблі такі як ролик програвся а гра не запускається дасте знати.
Дата: Середа, 23.03.10, 10:33 | Повідомлення # 30
мовчун
У тебе Win XP? я просто намагався тільки на Win 7 x64 (зараз під емулятором потестірую)