Garik66 Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 Взлом Witcher покупка товаров без денег Скрипт "Покупка товаров у торговцев без денег.": Скрытый текст { Game : witcher.exe Version: Date : 2017-04-13 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Money,witcher.EXE,73 15 6A 00 6A 00) // should be unique registersymbol(Money) Money: db EB [DISABLE] Money: db 73 unregistersymbol(Money) { // ORIGINAL CODE - INJECTION POINT: "witcher.EXE"+4B3422 "witcher.EXE"+4B3407: 6A 64 - push 64 "witcher.EXE"+4B3409: 8B CF - mov ecx,edi "witcher.EXE"+4B340B: E8 60 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3410: 5F - pop edi "witcher.EXE"+4B3411: 5E - pop esi "witcher.EXE"+4B3412: 33 C0 - xor eax,eax "witcher.EXE"+4B3414: 5B - pop ebx "witcher.EXE"+4B3415: C2 10 00 - ret 0010 "witcher.EXE"+4B3418: 8B 8F 40 0A 00 00 - mov ecx,[edi+00000A40] "witcher.EXE"+4B341E: 3B 4C 24 14 - cmp ecx,[esp+14] // ---------- INJECTING HERE ---------- "witcher.EXE"+4B3422: 73 15 - jae witcher.EXE+4B3439 "witcher.EXE"+4B3424: 6A 00 - push 00 "witcher.EXE"+4B3426: 6A 00 - push 00 // ---------- DONE INJECTING ---------- "witcher.EXE"+4B3428: 6A 66 - push 66 "witcher.EXE"+4B342A: 8B CF - mov ecx,edi "witcher.EXE"+4B342C: E8 3F 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3431: 5F - pop edi "witcher.EXE"+4B3432: 5E - pop esi "witcher.EXE"+4B3433: 33 C0 - xor eax,eax "witcher.EXE"+4B3435: 5B - pop ebx "witcher.EXE"+4B3436: C2 10 00 - ret 0010 "witcher.EXE"+4B3439: 8B 47 04 - mov eax,[edi+04] "witcher.EXE"+4B343C: 8B 74 24 1C - mov esi,[esp+1C] } Видео: Табличка: witcher.CT 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 ЗЫ: Блин опять косяк со звуком - на этот раз опережает видео. Переделывать (прощу прощения) не буду - нет времени. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 По регам esp...сколько не юзал я игры, там всегда куча адресов\указателей бегало. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 10 минуту назад, krocki сказал: По регам esp...сколько не юзал я игры, там всегда куча адресов\указателей бегало. ??? Я же вроде без esp обошёлся? Игру я не ломал и не буду - она мне очень нравится, не хочу испортить взломом (после взлома игры у меня почему то интерес к ней теряется - играть уже не хочется), хочу ещё в неё поиграть. А пожертвовал ей, для ускорения - что было под рукой, то и взял для видео. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 1 минуту назад, Garik66 сказал: Я же вроде без esp обошёлся? Так в скрипте ты делал прыжочик (JMP), а сверху над ним инструкция... cmp ecx,[esp+14] Наверняка там куча адресов юзается. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 10 минуту назад, krocki сказал: Наверняка там куча адресов юзается. Да нет там кучи адресов, а только цены у торговцев, при срабатывании инструкции при покупке. Ссылка на комментарий Поделиться на другие сайты Поделиться
2zolo2 Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 офтоп Скрытый текст 11 минуту назад, Garik66 сказал: после взлома игры у меня почему то интерес к ней теряется - играть уже не хочется у меня точно так с читами было Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 19 минуту назад, Garik66 сказал: Да нет там кучи адресов, а только цены у торговцев, при срабатывании инструкции при покупке. Иногда не сразу они там бегают\срабатывают, погамаешь немного и появятся. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 1 минуту назад, krocki сказал: Иногда не сразу они там бегают\срабатывают, погамаешь немного и появятся. Вот смотри: Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 Ща только поставил эту гаму, скинь мне свою сейву где торговцы, я по тестию. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 4 минуты назад, krocki сказал: скинь мне свою сейву где торговцы Отправил всю паку сейв в ЛС. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 28 минуты назад, krocki сказал: я по тестию. А вообще там и тестить нечего - я не сомневаюсь, что всё работает нормально, так как ранее делал и для других игр такой-же чит. (Всё также примерно. ) Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 Короче поставив бряк при покупке, там во такой адрес и постоянно у него значение меняется... Скрытый текст Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 (изменено) Я бы юзал бы так, на запись... Скрытый текст [ENABLE] witcher.exe+4B3B1C: //Ну или тупо затереть этот код. db 39 F8 [DISABLE] witcher.exe+4B3B1C: db 2B C7 В edi храниться цена товара, а из eax она вычитывается sub'ом P.S - Не пойму, почему именно её взял для скрипта? Скрытый текст { // ORIGINAL CODE - INJECTION POINT: "witcher.EXE"+4B3422 "witcher.EXE"+4B3407: 6A 64 - push 64 "witcher.EXE"+4B3409: 8B CF - mov ecx,edi "witcher.EXE"+4B340B: E8 60 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3410: 5F - pop edi "witcher.EXE"+4B3411: 5E - pop esi "witcher.EXE"+4B3412: 33 C0 - xor eax,eax "witcher.EXE"+4B3414: 5B - pop ebx "witcher.EXE"+4B3415: C2 10 00 - ret 0010 "witcher.EXE"+4B3418: 8B 8F 40 0A 00 00 - mov ecx,[edi+00000A40] "witcher.EXE"+4B341E: 3B 4C 24 14 - cmp ecx,[esp+14] // ---------- INJECTING HERE ---------- "witcher.EXE"+4B3422: 73 15 - jae witcher.EXE+4B3439 "witcher.EXE"+4B3424: 6A 00 - push 00 "witcher.EXE"+4B3426: 6A 00 - push 00 // ---------- DONE INJECTING ---------- "witcher.EXE"+4B3428: 6A 66 - push 66 "witcher.EXE"+4B342A: 8B CF - mov ecx,edi "witcher.EXE"+4B342C: E8 3F 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3431: 5F - pop edi "witcher.EXE"+4B3432: 5E - pop esi "witcher.EXE"+4B3433: 33 C0 - xor eax,eax "witcher.EXE"+4B3435: 5B - pop ebx "witcher.EXE"+4B3436: C2 10 00 - ret 0010 "witcher.EXE"+4B3439: 8B 47 04 - mov eax,[edi+04] "witcher.EXE"+4B343C: 8B 74 24 1C - mov esi,[esp+1C] } Изменено 13 апреля, 2017 пользователем krocki Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 19 минуту назад, krocki сказал: Короче поставив бряк при покупке, там во такой адрес и постоянно у него значение меняется... При покупке в этом адресе всегда будет цена. Я же показал на видео. Скрипт мой не приведёт к вылету и будет работать всегда правильно Апробировано уже на нескольких играх Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 Зы: и кстати этот же способ и для других опций использовал, не только покупка товаров без денег. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 Да там в нём есть цена в этом адресе, но и ещё куча других значений. Игра та робит вроде норма. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 (изменено) Просто меня заинтересовал что рег esp в нём один адрес гуляет, но скучей значений. Изменено 13 апреля, 2017 пользователем krocki Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 21 минуты назад, krocki сказал: P.S - Не пойму, почему именно её взял для скрипта? Ты как то боязно и не понимающе относишься к стеку (конечно в самом адресе значение будет меняться, но при продаже там всегда будет цена товара, который ты хочешь купить). Это тоже самое сказать смотри в регистре EAX. постоянно разное значение, но мы же при этом, им управляем. Специально для тебя мой скрипт можно записать и так: Скрытый текст { Game : witcher.exe Version: Date : 2017-04-13 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Money1,witcher.EXE,8B 8F 40 0A 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Money1) newmem: mov [esp+14],0 // Обнуляем значение в стеке при покупке. code: mov ecx,[edi+00000A40] jmp return Money1: jmp newmem db 90 return: [DISABLE] Money1: db 8B 8F 40 0A 00 00 unregistersymbol(Money1) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "witcher.EXE"+4B3418 "witcher.EXE"+4B3403: 6A 00 - push 00 "witcher.EXE"+4B3405: 6A 00 - push 00 "witcher.EXE"+4B3407: 6A 64 - push 64 "witcher.EXE"+4B3409: 8B CF - mov ecx,edi "witcher.EXE"+4B340B: E8 60 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3410: 5F - pop edi "witcher.EXE"+4B3411: 5E - pop esi "witcher.EXE"+4B3412: 33 C0 - xor eax,eax "witcher.EXE"+4B3414: 5B - pop ebx "witcher.EXE"+4B3415: C2 10 00 - ret 0010 // ---------- INJECTING HERE ---------- "witcher.EXE"+4B3418: 8B 8F 40 0A 00 00 - mov ecx,[edi+00000A40] // ---------- DONE INJECTING ---------- "witcher.EXE"+4B341E: 3B 4C 24 14 - cmp ecx,[esp+14] "witcher.EXE"+4B3422: 73 15 - jae witcher.EXE+4B3439 "witcher.EXE"+4B3424: 6A 00 - push 00 "witcher.EXE"+4B3426: 6A 00 - push 00 "witcher.EXE"+4B3428: 6A 66 - push 66 "witcher.EXE"+4B342A: 8B CF - mov ecx,edi "witcher.EXE"+4B342C: E8 3F 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3431: 5F - pop edi "witcher.EXE"+4B3432: 5E - pop esi "witcher.EXE"+4B3433: 33 C0 - xor eax,eax } Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 (изменено) 7 минут назад, Garik66 сказал: Ты как то боязно и не понимающе относишься к стеку Неее...просто мало его юзаю, разве что при необходимости иногда. Изменено 13 апреля, 2017 пользователем krocki Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 ЗЫ: И, если всё-таки будет не понятно, я в последнем скрипте не меняю цену у торговца, а изменяю значение в стеке. И соответственно, при сравнении денег у Геральта, даже если у него будет 0, он сможет купить всё. Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 13 апреля, 2017 Поделиться Опубликовано 13 апреля, 2017 Ну когда денег 0...то да, это хорошо подходит. Усё...немогу больше...ушёл дрыхнуть...время уже у меня 00:53 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 3 минуты назад, krocki сказал: ушёл дрыхнуть.. Спокойно ночи. Мне тоже уже пора - завтра в 5.00 как штык. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 апреля, 2017 Автор Поделиться Опубликовано 13 апреля, 2017 13 минуты назад, krocki сказал: Ну когда денег 0... Хорошо, можно изменить скрипт, чтобы деньги не отнимались: Скрытый текст { Game : witcher.exe Version: Date : 2017-04-13 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Money1,witcher.EXE,8B 8F 40 0A 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(Money1) newmem: mov ecx,[esp+14] // Загружаем стоимость товаров, которые хотим купить. add [edi+00000A40],ecx // и прибовляем их в кошелёк Геральта. code: mov ecx,[edi+00000A40] jmp return Money1: jmp newmem db 90 return: [DISABLE] Money1: db 8B 8F 40 0A 00 00 unregistersymbol(Money1) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "witcher.EXE"+4B3418 "witcher.EXE"+4B3403: 6A 00 - push 00 "witcher.EXE"+4B3405: 6A 00 - push 00 "witcher.EXE"+4B3407: 6A 64 - push 64 "witcher.EXE"+4B3409: 8B CF - mov ecx,edi "witcher.EXE"+4B340B: E8 60 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3410: 5F - pop edi "witcher.EXE"+4B3411: 5E - pop esi "witcher.EXE"+4B3412: 33 C0 - xor eax,eax "witcher.EXE"+4B3414: 5B - pop ebx "witcher.EXE"+4B3415: C2 10 00 - ret 0010 // ---------- INJECTING HERE ---------- "witcher.EXE"+4B3418: 8B 8F 40 0A 00 00 - mov ecx,[edi+00000A40] // ---------- DONE INJECTING ---------- "witcher.EXE"+4B341E: 3B 4C 24 14 - cmp ecx,[esp+14] "witcher.EXE"+4B3422: 73 15 - jae witcher.EXE+4B3439 "witcher.EXE"+4B3424: 6A 00 - push 00 "witcher.EXE"+4B3426: 6A 00 - push 00 "witcher.EXE"+4B3428: 6A 66 - push 66 "witcher.EXE"+4B342A: 8B CF - mov ecx,edi "witcher.EXE"+4B342C: E8 3F 97 FF FF - call witcher.EXE+4ACB70 "witcher.EXE"+4B3431: 5F - pop edi "witcher.EXE"+4B3432: 5E - pop esi "witcher.EXE"+4B3433: 33 C0 - xor eax,eax } Скрипт в игре не тестил, сам потесть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 14 апреля, 2017 Поделиться Опубликовано 14 апреля, 2017 Гарик, если ты снимаешь бандикамом, то есть два пути избавления от гуляния звука: 1. Поставить в настройках формат WAV 2. Не использовать бандикам. Я лично рекомендую второй вариант. Присмотрись к OBS Studio (ею я провожу стримы и она бесплатная), к Mirillis Action (ею я снимаю летсплеи. Точнее, снимал, так как сейчас не до летсплеев) - отличная прога, но платная. В разы лучше Bandicam'а. Есть еще PlawClaw от нашего отечественного разработчика. Тоже отличная программа, надо сказать. Но тоже платная. Если надумаешь писать с OBS, свяжись со мной в скайпе, я тебе помогу настроить ее для наилучшего качества записи видео и голоса. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения