Hacker Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 Всем,привет!!!На днях скачал игру "Фермер",хотел взломать,деньги,бензин и прочие,тип у них double,но столкнулся с тем что не могу записать дабл в скрипт,например:newmem:mov dword ptr [рег.+смещение],(double)100И сразу вылет,если кто может помогите,игра весит 90 мб,но даже кто знает как записать дабл с радостью выслушаб! Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 Всем,привет!!!На днях скачал игру "Фермер",хотел взломать,деньги,бензин и прочие,тип у них double,но столкнулся с тем что не могу записать дабл в скрипт,например:newmem:mov dword ptr [рег.+смещение],(double)100И сразу вылет,если кто может помогите,игра весит 90 мб,но даже кто знает как записать дабл с радостью выслушаб!Скинь ссылку на игру в приват гляну попробую помочь. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 Пиши значение в НЕХ и не каких проблем. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 И сразу вылетА если посмотреть, что с этой инструкцией работает - может сразу станет понятно, почему вылет идет. У тебя как бы идет вопрос в том, что не можешь записать,но скрипт то работает же. А вот уже после активации его идет вылет, а значит либо там ещо какие то адреса пишутся. Смотреть всё это надо - вон Dison посмотрит, а то опять напишет что я как бы помешал Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 (изменено) Возможно, записываешь в экранное значение и из-за этого проблемы Или фильтр надо создать, чтобы другие функции работающие с этим адресом не крашились. Изменено 9 января, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 Смотреть всё это надо - вон Dison посмотрит, а то опять напишет что я как бы помешал LIRW да все нормально, не помешал ты мне Хочешь можешь глянуть... Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 9 января, 2016 Поделиться Опубликовано 9 января, 2016 Хочешь можешь глянуть... Посмотри уж тогда ему. Игра вроде бы не большая и трудного не должно в ней быть что либо. Сидеть в ней думаю не надо много, ему же только надо понять, почему вылет идет и всё. А там наверное адреса левые ещо работают. Хоть он может и посмотрел и работает 1 всего лишь - кто его знает Он как бы в обще написал, что не может записать дабл, а он так и пишется как у него написано. Значит он этот дабл пишет ещо во что то (в какой то адрес) от этого наверное и идет вылет. Ну это всё телепатия смотреть надо опять же. Хотя он может отпишется по этому поводу. Я вот игру жду когда на торрент обновят. "Punch Club" называется, а то смотреть в обще не чего. Хотя в запросах тут одну не доделал,но она замучила вылетать и по новой искать жизнь, просто выводит каждый раз. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 Всем,привет!!!На днях скачал игру "Фермер",хотел взломать,деньги,бензин и прочие,тип у них double,но столкнулся с тем что не могу записать дабл в скрипт,например:newmem:mov dword ptr [рег.+смещение],(double)100И сразу вылет,если кто может помогите,игра весит 90 мб,но даже кто знает как записать дабл с радостью выслушаб! label(dqValue) // метка ддя double00280000: // случайный адрес новой памятиdqValue: dq (double)100.1 // 8 байт = (4 байта) + (4 байта)// здесь должна быть метка памяти, сюда прыг// 1- примерfld qword ptr [dqValue]fstp qword ptr [ecx]//----------------------// 2 - пример c сохранением флаговpushffld qword ptr [dqValue]fstp qword ptr [ecx]popf//------------------------// 3 - пример работа с двумя 4-х байтовымиpush eax // сохранить регистр// первая половина (4 байта)mov eax, [dqValue]mov [ecx+00], eax// вторая половина (4 байта)mov eax, [dqValue+4]mov [ecx+04], eaxpop eax // восстановить регистр 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 игра весит 90 мб Этих фермеров на торренте как грязи, какая именно часть фермера 1 - 2 или просто фермер ссылку на игру в личку жду? Ссылка на комментарий Поделиться на другие сайты Поделиться
Hacker Опубликовано 10 января, 2016 Автор Поделиться Опубликовано 10 января, 2016 (изменено) Этих фермеров на торренте как грязи, какая именно часть фермера 1 - 2 или просто фермер ссылку на игру в личку жду? Щас кинуЭтих фермеров на торренте как грязи, какая именно часть фермера 1 - 2 или просто фермер ссылку на игру в личку жду? Изменено 10 января, 2016 пользователем Xipho Читаем правила форума. Устный пред. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 Щас кину А ссылка то где? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 (изменено) label(dqValue) // метка ддя doubleMasterGH, небольшая ошибка:dqValue и [dValue] - нужно сделать название меток одинаковыми (везде). Изменено 10 января, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 Ссылку я убрал, так как она ведет на торрент. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 (изменено) Конечно вылет будет тут адресов помимо твоего глянь сколько левых.Ты когда скрипт пишешь, естественно нужно фильтр искать или указатель.А так конечно ты активировал свой скрипт он и прописал твое заданное значение всем этим адресам.Сейчас попробуем что-нибудь намутить. Изменено 10 января, 2016 пользователем Dison Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 10 января, 2016 Поделиться Опубликовано 10 января, 2016 У меня вот лично не чего не мутится ну так же как и у DIsona наверное. Я в обще плоховато в подобных играх разбираюсь. Это где инструкция работает как в панкиллере, а то есть - на одной инструкции с тыщенку,другую адресов висит. Хипхо бы урок что ли забабахал по этому поводу. Игра не большая - всего 90 мегабайт, она просто скрптовая какая то. Но сделать в ней возможно всё. Думаю многих заинтересует этот урок. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 (изменено) Посмотрел игру - наподобие этой игры. Забыл, что пользователи теперь (пока) не имеют доступа к таблицам, поо-этому вот ссылка на запрос по той игре.Хоть значения и хранятся в double, записываются они по четыре байта двумя инструкциями.Т.е. есть две инструкции на чтение "game.exe"+D63FB: 8B 0B - mov ecx,[ebx]----------------------------------------------------------------------"game.exe"+D6402: 8B 53 04 - mov edx,[ebx+04]ну и две на запись. Инструкции работают со всеми адресами игры (там все характеристики, а также графика, звук и т.д.) Мне удалось тогда взломать, подобрав фильтры (фильтров нужно как минимум три штуки, чтобы отделить характеристику полностью от других) к нужным характеристикам заказчика, но скорее всего это не правильный метод взлома подобных игр. ЗЫ: Попробую подобрать фильтры к бензину (благо не нужно изучать управление в игре - ездей и всё ), но не обещаю.ЗЫ1: Dison подсказал, что можно потратить денюжки в магазине через кнопку "P", тогда лучше вначале посмотрю денюжки их проще каждый раз искать будет при выходе на адрес.ЗЫ2: С денюжками получилось - не вылетает, сейчас доеду на ферму из магазина на новом тракторе и по пути попробую бензин тоже сделать.ЗЫ3: Не получается добиться стабильности - работает, работает, а потом бац и вторая смена - вылет.ЗЫ4: Стабильной работы скрипта не удалось добиться, хотя отфильтровал всё - всё равно иногда вылет происходит.Поэтому написал скрипт не на бесконечные деньги и бензин, а на их разовые изменения с помощью горячих клавиш. 1. Сам скрипт: 2. Горячие клавиши: Ctrl+Numpad 0 - активация скрипта Ctrl+Numpad 1 - 100000 денюжков Ctrl+Numpad 2 - 200 литров бензина (почему 200 - вроде на комбайне 150, на тракторе 110, другую технику не проверял - короче если меньше 200 литров, то будет максимум. 3. Скрипт постоянно активным не держите, закончились денюжки -> активировали скрипт, сделали 100000 и деактивировали скрипт; тоже самое с бензином. 4. Ну и для лентяев закачаю сюда таблицу:ЗЫ: Переделал скрипт (смотрите ниже)// удалил, ниже правильный вариант скрипта Изменено 12 января, 2016 пользователем Garik66 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Ну вот и все как говориться Garik66 однозначно + молодец хорошая работа. Ща парень придет проверит и все будет в поряде... Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Кстати забыл написать, я проверил один из способов, предложенных MasterGH, а конкретнее 1 пример:// 1- примерfld qword ptr [dqValue]fstp qword ptr [ecx]Работает как часы. Так что MasterGH, СПАСИБО!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Работает как часыВот там Игорь на фильтровал но опять же Игорь - ведь данные вещи, делаются не такими способами. Не кто не делает по 20 фильтров на инструкцию. Конечно так можно, но не делают так. Это вот две у тебя опции, а если бы их было 10 Ведь встречаются игры, где работает на одной инструкции тысячи адресов, а опций там охота сделать по больше. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Конечно так можно, но не делают так.Жень, согласен, я же написал: но скорее всего это не правильный метод взлома подобных игр. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 но скорее всего это не правильный метод взлома подобных игр. Я видел твоё сообщение. Надо урок от Хипхо для подобных игр А то у нас тут по сути одно и тоже, а вот такого урока с подобной игрой нету. Ну такой способ от фильтровки адреса не в счет.. Так плюсика надо поставить тоже за старание. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Это как бы не совсем правильно так делать.Ну всё застыдил, давай тогда удалим скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Ну всё застыдил, давай тогда удалим скриптНет ты что скрипт Игорь норм и молодец что сделал таким способом. Я вот просто заметил, что ты тоже интересуешься взломом подобных игр, без вот написания таких фильтров. Мне вот тоже как бы интересно это. По этому и написал, что как бы не таким способом он моненько сделан. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 11 января, 2016 Поделиться Опубликовано 11 января, 2016 Я вот просто заметил, что ты тоже интересуешься взломом подобных игр, без вот написания таких фильтров.Да Жень, если мастера помогут в сопутствующей теме, то я конечно этот скрипт переделаю в более компактный и правильный вид и здесь выложу. (Люблю, когда в каждой теме, есть ответ). Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 12 января, 2016 Поделиться Опубликовано 12 января, 2016 Сделал, теперь без вылетов.1. Сам скрипт:2. Горячие клавиши: Ctrl+Numpad 0 - активация скрипта3. По умолчанию денюжков 1000000 (оказалось есть техника стоимость до 300000) и бензин 1000 литров (есть техника с бензобаком на 900). Если в дальнейшем окажется, что нужно больше денег и бензина, поменяйте значения на нужные в таблице есть адреса. 4. Ну и таблица:ЗЫ: Забыл написать бензин сразу же станет 1000 литров, так как инструкция к адресу бензина обращается постоянно, а чтобы денюжка сработала - нужно что-то купить или продать.fermer.CT{ Game : game.exe Version: Date : 2016-01-12 Author : Garik66 This script does blah blah blah}[ENABLE]{$LUA}PlaySound(findTableFile([[Activate]])){$ASM}aobscanmodule(INJECT,game.exe,8B 48 08 89 4B 08) // should be uniquealloc(newmem,$1000)label(Fuel)label(code)label(return)label(money)registersymbol(money)label(fuel)registersymbol(fuel)registersymbol(INJECT)newmem: cmp [ebx+08],3 jne code cmp [ebx+18],4 jne code mov ecx,[ebx+10] cmp [ecx+10],656E6F6D jne Fuel cmp byte ptr [ecx+14],79 jne code fld qword ptr [money] fstp qword ptr [ebx] jmp codeFuel: cmp [ecx+10],6C657566 jne code cmp [ecx+14],6C6C6946 jne code cmp [ecx+18],6576654C jne code cmp byte ptr [ecx+1C],6C jne code fld qword ptr [fuel] fstp qword ptr [ebx]code: mov ecx,[eax+08] mov [ebx+08],ecx jmp returnmoney:dq (double)1000000fuel:dq (double)1000INJECT: jmp newmem nopreturn:[DISABLE]{$LUA}PlaySound(findTableFile([[Deactivate]])){$ASM}INJECT: db 8B 48 08 89 4B 08unregistersymbol(money)unregistersymbol(fuel)unregistersymbol(INJECT)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "game.exe"+D65C1"game.exe"+D65A5: 33 FF - xor edi,edi"game.exe"+D65A7: EB 02 - jmp game.exe+D65AB"game.exe"+D65A9: 8B F8 - mov edi,eax"game.exe"+D65AB: 85 FF - test edi,edi"game.exe"+D65AD: 0F 85 D3 00 00 00 - jne game.exe+D6686"game.exe"+D65B3: 8B 44 24 24 - mov eax,[esp+24]"game.exe"+D65B7: 8B 08 - mov ecx,[eax]"game.exe"+D65B9: 89 0B - mov [ebx],ecx"game.exe"+D65BB: 8B 50 04 - mov edx,[eax+04]"game.exe"+D65BE: 89 53 04 - mov [ebx+04],edx// ---------- INJECTING HERE ----------"game.exe"+D65C1: 8B 48 08 - mov ecx,[eax+08]"game.exe"+D65C4: 89 4B 08 - mov [ebx+08],ecx// ---------- DONE INJECTING ----------"game.exe"+D65C7: 83 78 08 04 - cmp dword ptr [eax+08],04"game.exe"+D65CB: 0F 8C E5 00 00 00 - jl game.exe+D66B6"game.exe"+D65D1: 8B 10 - mov edx,[eax]"game.exe"+D65D3: F6 42 05 03 - test byte ptr [edx+05],03"game.exe"+D65D7: 0F 84 D9 00 00 00 - je game.exe+D66B6"game.exe"+D65DD: 8A 45 05 - mov al,[ebp+05]"game.exe"+D65E0: A8 04 - test al,04"game.exe"+D65E2: 0F 84 CE 00 00 00 - je game.exe+D66B6"game.exe"+D65E8: 8B 4C 24 18 - mov ecx,[esp+18]"game.exe"+D65EC: 8B 49 10 - mov ecx,[ecx+10]} 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения