grafdracula1 Опубликовано 10 марта, 2018 Поделиться Опубликовано 10 марта, 2018 Здравствуйте. Нужна помощь по взлому. Значения магии и кристалов в данной игре - double. Поиск указателей результатов не дает. Так выглядит область связанная со значением магии в игре. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 11 марта, 2018 Поделиться Опубликовано 11 марта, 2018 Ты же вышел на инструцкию, работающую с нужным значением, судя по скриншоту. Можешь писать скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 11 марта, 2018 Автор Поделиться Опубликовано 11 марта, 2018 Проблема в том, что в асме я нуб. И как я понял по результатам поиска с double значениями не все так просто. Если не трудно, можешь описать действия как меняются значения double? Если что, извините за глупые вопросы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 12 марта, 2018 Поделиться Опубликовано 12 марта, 2018 Если игра х64, то проблем с double быть не должно. В любом случае, никто не мешает пересылать double через xmm регистры. Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 15 марта, 2018 Автор Поделиться Опубликовано 15 марта, 2018 Долго не писал, времени не было. В общем поломав голову несколько вечеров, я так и не сделал. Спойлер [ENABLE] aobscanmodule(INJECT,_DK_Entrypoint_.exe,FF FF F2 0F 10 44 24 08) // should be unique alloc(newmem,$1000) label(code) label(return) label(magic) magic: dq (double)100000 newmem: movsd xmm0,[magic] code: movsd xmm0,[esp+08] jmp return INJECT+02: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT+02: db F2 0F 10 44 24 08 unregistersymbol(INJECT) dealloc(newmem) dealloc(magic) Вот такая фигня приводит к вылету. Позже напишу что еще делал (это был самый первый вариант). Сильно не пинайте, asm пока еще мой "враг" (а может и на совсем). Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 1 час назад, grafdracula1 сказал: Вот такая фигня приводит к вылету. 1. Не забываем про тег кода, (если не знаешь как, смотри ФАК) 2. Посмотри мое видео newmem: movsd xmm0,[magic] // это никогда работать не будет code: movsd xmm0,[esp+08] // так как ты этой инструкцией перезаписываешь значение в регистре. 3. Откуда ты взял, что у тебя тип double? Судя по оригинальной инструкции игры: movsd xmm0,[esp+08] должен быть float. 4. А это откуда: dealloc(magic) 5. Попробуй такой скрипт Спойлер [ENABLE] aobscanmodule(INJECT,_DK_Entrypoint_.exe,FF FF F2 0F 10 44 24 08) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(INJECT) newmem: mov [esp+08],(float)100000 code: movsd xmm0,[esp+08] jmp return INJECT+02: jmp newmem db 90 return: [DISABLE] INJECT+02: db F2 0F 10 44 24 08 unregistersymbol(INJECT) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 15 марта, 2018 Автор Поделиться Опубликовано 15 марта, 2018 Вылетает. Как и после моих манипуляций. Про дабл я решил потому-что CE так обозначил. А нет у тебя возможности сделать это на своей машине? Игрушка стандартная предустановленная в вин10. Видео и ФАК сейчас посмотрю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 17 минут назад, grafdracula1 сказал: Про дабл я решил потому-что CE так обозначил. Не вижу дабл, по верхнему скрину тоже не вижу. А зачем ты работаешь с xmm0? У тебя же вроде рабочая инструкция mov [esi+04],eax делай на этой инструкции. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 25 минут назад, grafdracula1 сказал: А нет у тебя возможности сделать это на своей машине? А где она? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 У меня она не предустановлена Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 54 минуты назад, grafdracula1 сказал: Игрушка стандартная предустановленная в вин10. Видео и ФАК сейчас посмотрю. Игра на английском (не понятно что там нужно делать). На твоих инструкциях вылет понятен, они работают с 1000 адресами. так что нужен фильтр. Да и вроде ты прав значения в доубл. Новое значение пишется двумя инструкциями. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 В 10.03.2018 в 21:25, grafdracula1 сказал: Так выглядит область связанная со значением магии в игре. Вот сейчас записал себе 5000 магии, (в качестве фильтра взял значение esi). но это разовый скрипт. Спойлер { Game : _DK_Entrypoint_.exe Version: Date : 2018-03-15 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,_DK_Entrypoint_.exe,89 46 08 5E 33 CC E8 39) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp esi,1B8E4C2C jne code mov [esi+04],0 mov eax,40B38800 code: mov [esi+08],eax pop esi xor ecx,esp jmp return INJECT: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db 89 46 08 5E 33 CC unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "_DK_Entrypoint_.exe"+23C120 "_DK_Entrypoint_.exe"+23C0F5: F2 0F 11 4C 24 08 - movsd [esp+08],xmm1 "_DK_Entrypoint_.exe"+23C0FB: 8B F1 - mov esi,ecx "_DK_Entrypoint_.exe"+23C0FD: E8 2E FA FF FF - call _DK_Entrypoint_.exe+23BB30 "_DK_Entrypoint_.exe"+23C102: F2 0F 10 44 24 08 - movsd xmm0,[esp+08] "_DK_Entrypoint_.exe"+23C108: 8B 4C 24 14 - mov ecx,[esp+14] "_DK_Entrypoint_.exe"+23C10C: F2 0F 11 44 24 08 - movsd [esp+08],xmm0 "_DK_Entrypoint_.exe"+23C112: 8B 44 24 08 - mov eax,[esp+08] "_DK_Entrypoint_.exe"+23C116: 89 46 04 - mov [esi+04],eax "_DK_Entrypoint_.exe"+23C119: 8B 44 24 0C - mov eax,[esp+0C] "_DK_Entrypoint_.exe"+23C11D: C6 06 02 - mov byte ptr [esi],02 // ---------- INJECTING HERE ---------- "_DK_Entrypoint_.exe"+23C120: 89 46 08 - mov [esi+08],eax "_DK_Entrypoint_.exe"+23C123: 5E - pop esi "_DK_Entrypoint_.exe"+23C124: 33 CC - xor ecx,esp // ---------- DONE INJECTING ---------- "_DK_Entrypoint_.exe"+23C126: E8 39 B1 DB 00 - call _DK_Entrypoint_.exe+FF7264 "_DK_Entrypoint_.exe"+23C12B: 8B E5 - mov esp,ebp "_DK_Entrypoint_.exe"+23C12D: 5D - pop ebp "_DK_Entrypoint_.exe"+23C12E: C3 - ret "_DK_Entrypoint_.exe"+23C12F: CC - int 3 "_DK_Entrypoint_.exe"+23C130: 56 - push esi "_DK_Entrypoint_.exe"+23C131: 8B F1 - mov esi,ecx "_DK_Entrypoint_.exe"+23C133: E8 F8 F9 FF FF - call _DK_Entrypoint_.exe+23BB30 "_DK_Entrypoint_.exe"+23C138: 8A 44 24 08 - mov al,[esp+08] "_DK_Entrypoint_.exe"+23C13C: C6 06 01 - mov byte ptr [esi],01 } Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 Похоже в доубл видимое значение. Сейчас опять вошёл в игру значение другое (игровое) Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 15 марта, 2018 Автор Поделиться Опубликовано 15 марта, 2018 А у меня ничего не происходит. Esi сравнивается с адресом инструкции, правильно? Спойлер { Game : _DK_Entrypoint_.exe Version: Date : 2018-03-15 Author : Graf This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,_DK_Entrypoint_.exe,89 46 08 5E 33 CC E8 39) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp esi,113c120 jne code mov [esi+04],0 mov eax,40B38800 code: mov [esi+08],eax pop esi xor ecx,esp jmp return INJECT: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db 89 46 08 5E 33 CC unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "_DK_Entrypoint_.exe"+23C120 "_DK_Entrypoint_.exe"+23C0F5: F2 0F 11 4C 24 08 - movsd [esp+08],xmm1 "_DK_Entrypoint_.exe"+23C0FB: 8B F1 - mov esi,ecx "_DK_Entrypoint_.exe"+23C0FD: E8 2E FA FF FF - call _DK_Entrypoint_.exe+23BB30 "_DK_Entrypoint_.exe"+23C102: F2 0F 10 44 24 08 - movsd xmm0,[esp+08] "_DK_Entrypoint_.exe"+23C108: 8B 4C 24 14 - mov ecx,[esp+14] "_DK_Entrypoint_.exe"+23C10C: F2 0F 11 44 24 08 - movsd [esp+08],xmm0 "_DK_Entrypoint_.exe"+23C112: 8B 44 24 08 - mov eax,[esp+08] "_DK_Entrypoint_.exe"+23C116: 89 46 04 - mov [esi+04],eax "_DK_Entrypoint_.exe"+23C119: 8B 44 24 0C - mov eax,[esp+0C] "_DK_Entrypoint_.exe"+23C11D: C6 06 02 - mov byte ptr [esi],02 // ---------- INJECTING HERE ---------- "_DK_Entrypoint_.exe"+23C120: 89 46 08 - mov [esi+08],eax "_DK_Entrypoint_.exe"+23C123: 5E - pop esi "_DK_Entrypoint_.exe"+23C124: 33 CC - xor ecx,esp // ---------- DONE INJECTING ---------- "_DK_Entrypoint_.exe"+23C126: E8 39 B1 DB 00 - call _DK_Entrypoint_.exe+FF7264 "_DK_Entrypoint_.exe"+23C12B: 8B E5 - mov esp,ebp "_DK_Entrypoint_.exe"+23C12D: 5D - pop ebp "_DK_Entrypoint_.exe"+23C12E: C3 - ret "_DK_Entrypoint_.exe"+23C12F: CC - int 3 "_DK_Entrypoint_.exe"+23C130: 56 - push esi "_DK_Entrypoint_.exe"+23C131: 8B F1 - mov esi,ecx "_DK_Entrypoint_.exe"+23C133: E8 F8 F9 FF FF - call _DK_Entrypoint_.exe+23BB30 "_DK_Entrypoint_.exe"+23C138: 8A 44 24 08 - mov al,[esp+08] "_DK_Entrypoint_.exe"+23C13C: C6 06 01 - mov byte ptr [esi],01 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 Только что, grafdracula1 сказал: Esi сравнивается с адресом инструкции, правильно? нет. не инструкции. А именно адреса магии. Ну ладно попрощаюсь мне в 5.00 вставать. Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 15 марта, 2018 Автор Поделиться Опубликовано 15 марта, 2018 Разобрался с ESI. Сравнение со значением регистра. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 Только что, grafdracula1 сказал: Разобрался с ESI. Сравнение со значением регистра. да. Но как я написал. Это видимое значение. Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 15 марта, 2018 Автор Поделиться Опубликовано 15 марта, 2018 Спокойной ночи. Спасибо за потраченное время. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 15 марта, 2018 Поделиться Опубликовано 15 марта, 2018 Игра не очень интересна но вдруг кто захочет покопаться:Видео: Спойлер Скрипты: Быстрое окончание на аттракционе Спойлер [ENABLE] aobscanmodule(Timer,_DK_Entrypoint_.VSDesignerDllMain+7C4E84,89xxxx89xxxx0f85xxxxxxxx8bxxxx85xx0f84xxxxxxxx8bxxxx85xx0f84xxxxxxxx83xxxx0f84xxxxxxxx85xx0f84xxxxxxxx8bxxxx85xx0f84xxxxxxxx8dxxxx85xx0f84xxxxxxxx80xxxxxxxxxxxx74xxb9xxxxxxxxe8xxxxxxxx85) alloc(newmem,$1000,_DK_Entrypoint_.VSDesignerDllMain+7C4E84) label(code) label(return) newmem: mov ecx,#-1 code: mov [edi+20],ecx mov [edi+24],eax jmp return Timer: jmp newmem nop return: registersymbol(Timer) [DISABLE] Timer: db 89 4F 20 89 47 24 unregistersymbol(Timer) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: _DK_Entrypoint_.VSDesignerDllMain+7C4E84 _DK_Entrypoint_.VSDesignerDllMain+7C4E5C: 64 A3 00000000 - mov fs:[00000000],eax _DK_Entrypoint_.VSDesignerDllMain+7C4E62: 8B F9 - mov edi,ecx _DK_Entrypoint_.VSDesignerDllMain+7C4E64: 8B 4C 24 38 - mov ecx,[esp+38] _DK_Entrypoint_.VSDesignerDllMain+7C4E68: 8B 44 24 3C - mov eax,[esp+3C] _DK_Entrypoint_.VSDesignerDllMain+7C4E6C: 39 4F 20 - cmp [edi+20],ecx _DK_Entrypoint_.VSDesignerDllMain+7C4E6F: 75 09 - jne 011B4A9A _DK_Entrypoint_.VSDesignerDllMain+7C4E71: 39 47 24 - cmp [edi+24],eax _DK_Entrypoint_.VSDesignerDllMain+7C4E74: 0F84 F3020000 - je 011B4D8D _DK_Entrypoint_.VSDesignerDllMain+7C4E7A: 80 7F 44 00 - cmp byte ptr [edi+44],00 _DK_Entrypoint_.VSDesignerDllMain+7C4E7E: 8B 2D F829AE01 - mov ebp,[01AE29F8] // ---------- INJECTING HERE ----------- _DK_Entrypoint_.VSDesignerDllMain+7C4E84: 89 4F 20 - mov [edi+20],ecx // ---------- DONE INJECTING ---------- _DK_Entrypoint_.VSDesignerDllMain+7C4E87: 89 47 24 - mov [edi+24],eax _DK_Entrypoint_.VSDesignerDllMain+7C4E8A: 0F85 DD000000 - jne 011B4B8D _DK_Entrypoint_.VSDesignerDllMain+7C4E90: 8B 4F 08 - mov ecx,[edi+08] _DK_Entrypoint_.VSDesignerDllMain+7C4E93: 85 C9 - test ecx,ecx _DK_Entrypoint_.VSDesignerDllMain+7C4E95: 0F84 D2000000 - je 011B4B8D _DK_Entrypoint_.VSDesignerDllMain+7C4E9B: 8B 41 08 - mov eax,[ecx+08] _DK_Entrypoint_.VSDesignerDllMain+7C4E9E: 85 C0 - test eax,eax _DK_Entrypoint_.VSDesignerDllMain+7C4EA0: 0F84 C7000000 - je 011B4B8D _DK_Entrypoint_.VSDesignerDllMain+7C4EA6: 83 C0 FC - add eax,-04 _DK_Entrypoint_.VSDesignerDllMain+7C4EA9: 0F84 BE000000 - je 011B4B8D } Инструкция где значения xorятся и идет проверка значений ( 2х одинаковых ) ну и если подменить то игра скушает значение но работает с кучей значений по этому стоит быть очень аккуратным или самому доделать или кто-то доделает. Спойлер [ENABLE] aobscanmodule(setMoney,_DK_Entrypoint_.VSDesignerDllMain+F31EEA,33xxxx3bxx74xxe8xxxxxxxxxx8b) alloc(newmem,$1000,_DK_Entrypoint_.VSDesignerDllMain+F31EEA) label(code) label(return) newmem: xor eax,[ebp-08] mov ecx,#99999 mov eax,#99999 code: cmp ecx,eax // Здесь проверка двух чисел если не одинаковые то вроде вышибает ошибку "Память подверглась изменению"( не доссловно ) jmp return setMoney: jmp newmem return: registersymbol(setMoney) [DISABLE] setMoney: db 33 45 F8 3B C8 unregistersymbol(setMoney) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: _DK_Entrypoint_.VSDesignerDllMain+F31EEA _DK_Entrypoint_.VSDesignerDllMain+F31ED1: 8B F1 - mov esi,ecx _DK_Entrypoint_.VSDesignerDllMain+F31ED3: E8 28DBB5FF - call 0147F620 _DK_Entrypoint_.VSDesignerDllMain+F31ED8: 8D 4D F4 - lea ecx,[ebp-0C] _DK_Entrypoint_.VSDesignerDllMain+F31EDB: 51 - push ecx _DK_Entrypoint_.VSDesignerDllMain+F31EDC: 8B C8 - mov ecx,eax _DK_Entrypoint_.VSDesignerDllMain+F31EDE: 8B 10 - mov edx,[eax] _DK_Entrypoint_.VSDesignerDllMain+F31EE0: FF 12 - call dword ptr [edx] _DK_Entrypoint_.VSDesignerDllMain+F31EE2: 8B 0E - mov ecx,[esi] _DK_Entrypoint_.VSDesignerDllMain+F31EE4: 8B 46 04 - mov eax,[esi+04] _DK_Entrypoint_.VSDesignerDllMain+F31EE7: 33 4D F4 - xor ecx,[ebp-0C] // ---------- INJECTING HERE ----------- _DK_Entrypoint_.VSDesignerDllMain+F31EEA: 33 45 F8 - xor eax,[ebp-08] // ---------- DONE INJECTING ---------- _DK_Entrypoint_.VSDesignerDllMain+F31EED: 3B C8 - cmp ecx,eax _DK_Entrypoint_.VSDesignerDllMain+F31EEF: 74 1E - je 01921B2F _DK_Entrypoint_.VSDesignerDllMain+F31EF1: E8 0ADBB5FF - call 0147F620 _DK_Entrypoint_.VSDesignerDllMain+F31EF6: 56 - push esi _DK_Entrypoint_.VSDesignerDllMain+F31EF7: 8B C8 - mov ecx,eax _DK_Entrypoint_.VSDesignerDllMain+F31EF9: 8B 10 - mov edx,[eax] _DK_Entrypoint_.VSDesignerDllMain+F31EFB: FF 52 08 - call dword ptr [edx+08] _DK_Entrypoint_.VSDesignerDllMain+F31EFE: 33 C0 - xor eax,eax _DK_Entrypoint_.VSDesignerDllMain+F31F00: 5E - pop esi _DK_Entrypoint_.VSDesignerDllMain+F31F01: 8B 4D FC - mov ecx,[ebp-04] } Табличка:http://rgho.st/private/777mBBLmZ/658b8c5544476266a83f50d0e2314c83P.S. тема вроде как "вопросы" но имхо игра тяжела для новичка но тут дело упертости и заинтересованности новичка. 1 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 марта, 2018 Поделиться Опубликовано 16 марта, 2018 3 часа назад, ReWanet сказал: Игра не очень интересна но вдруг кто захочет покопаться: на русском хорошо. А то я пока нашел где перейти на русский задолбался, Так и подумал, что где-то проверка. А что фильтры то не подобрал? Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 16 марта, 2018 Автор Поделиться Опубликовано 16 марта, 2018 ReWanet. С утра проверил, все работает. Только не уследил и получил крах игры (два раза подряд взял награду с аттракциона (насчет алмазов ты был прав, тоже прибавились)). Теперь при заходе в игру каждый раз заново начинает. Вечером опробую переставить. Сейчас не возможности. Спасибо большое всем за участие. За видос отдельное спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 16 марта, 2018 Поделиться Опубликовано 16 марта, 2018 7 часов назад, Garik66 сказал: на русском хорошо. А то я пока нашел где перейти на русский задолбался, Я не выбирал язык. Сам автоматом поставился. 7 часов назад, Garik66 сказал: А что фильтры то не подобрал? Время позднее да и игра не интересна. 3 часа назад, grafdracula1 сказал: ReWanet. С утра проверил, все работает. Только не уследил и получил крах игры (два раза подряд взял награду с аттракциона (насчет алмазов ты был прав, тоже прибавились)). Там вроде как без разницы с чего получать награду ( к примеру за уровень или за выполнение задание ) но самое главное это включить, получить и отключить а иначе всю игру запорешь и придется заново игру устанавливать ( где сейвы я не нашел но удалить\установить помогло ). Ну и если кому-то будет интересно то сделают более нормальный метод. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 16 марта, 2018 Поделиться Опубликовано 16 марта, 2018 Вот только на магию( нужно заработать магию) Спойлер [ENABLE] aobscanmodule(testa2,_DK_Entrypoint_.VSDesignerDllMain+99F7AE,8dxxxxxxxxxxxx8bxxe8xxxxxxxx03xx8b) alloc(newmem,$1000,_DK_Entrypoint_.VSDesignerDllMain+99F7AE) label(code) label(return) newmem: cmp [ebp+08],74666F73 jne code mov eax,#999999999 code: lea ecx,[esp+000000B0] jmp return testa2: jmp newmem nop nop return: registersymbol(testa2) [DISABLE] testa2: db 8D 8C 24 B0 00 00 00 unregistersymbol(testa2) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: _DK_Entrypoint_.VSDesignerDllMain+99F7AE _DK_Entrypoint_.VSDesignerDllMain+99F77F: 50 - push eax _DK_Entrypoint_.VSDesignerDllMain+99F780: 8D 84 24 94000000 - lea eax,[esp+00000094] _DK_Entrypoint_.VSDesignerDllMain+99F787: 64 A3 00000000 - mov fs:[00000000],eax _DK_Entrypoint_.VSDesignerDllMain+99F78D: 8B E9 - mov ebp,ecx _DK_Entrypoint_.VSDesignerDllMain+99F78F: 8B 84 24 AC000000 - mov eax,[esp+000000AC] _DK_Entrypoint_.VSDesignerDllMain+99F796: 8D 9D 9C000000 - lea ebx,[ebp+0000009C] _DK_Entrypoint_.VSDesignerDllMain+99F79C: 8B BC 24 A4000000 - mov edi,[esp+000000A4] _DK_Entrypoint_.VSDesignerDllMain+99F7A3: 8B CB - mov ecx,ebx _DK_Entrypoint_.VSDesignerDllMain+99F7A5: 89 44 24 14 - mov [esp+14],eax _DK_Entrypoint_.VSDesignerDllMain+99F7A9: E8 12275900 - call 01E71AE0 // ---------- INJECTING HERE ----------- _DK_Entrypoint_.VSDesignerDllMain+99F7AE: 8D 8C 24 B0000000 - lea ecx,[esp+000000B0] // ---------- DONE INJECTING ---------- _DK_Entrypoint_.VSDesignerDllMain+99F7B5: 8B F0 - mov esi,eax _DK_Entrypoint_.VSDesignerDllMain+99F7B7: E8 04275900 - call 01E71AE0 _DK_Entrypoint_.VSDesignerDllMain+99F7BC: 03 C6 - add eax,esi _DK_Entrypoint_.VSDesignerDllMain+99F7BE: 8B CB - mov ecx,ebx _DK_Entrypoint_.VSDesignerDllMain+99F7C0: 50 - push eax _DK_Entrypoint_.VSDesignerDllMain+99F7C1: E8 FA275900 - call 01E71BE0 _DK_Entrypoint_.VSDesignerDllMain+99F7C6: 8A 9C 24 A8000000 - mov bl,[esp+000000A8] _DK_Entrypoint_.VSDesignerDllMain+99F7CD: 84 DB - test bl,bl _DK_Entrypoint_.VSDesignerDllMain+99F7CF: 75 14 - jne 018DF405 _DK_Entrypoint_.VSDesignerDllMain+99F7D1: 8D 8C 24 B0000000 - lea ecx,[esp+000000B0] } 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
grafdracula1 Опубликовано 17 марта, 2018 Автор Поделиться Опубликовано 17 марта, 2018 Здорово. Только игра у меня так заново каждый раз и начинается. Переустановка не помогла. А не мог бы ты (если не трудно) вкратце пояснить как нашел адрес магии, функцию сравнения значений, ну то есть логику своих действий. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 17 марта, 2018 Поделиться Опубликовано 17 марта, 2018 5 часов назад, grafdracula1 сказал: А не мог бы ты (если не трудно) вкратце пояснить как нашел адрес магии, функцию сравнения значений, ну то есть логику своих действий. Искал неизвестное после отсеивал изменилось ( когда число магии поменялось ) и не изменилось ( когда число магии не поменялось ). После нашел 50-100 адресов ( по разному ) смотрел их и изучал. Поскольку до это я проделал обычную процедуру заморозки ( брал разные числа и замораживал, когда заморозил нужные числа игра выбила "Память подверглась изменению" ) и с помощью нее я выявил нужные мне значения а это 2 значения которые рядом ( +/- 4 байта ) и имею тип 4 байта и так же несильно отличаются числом ( +/- 1к ( пример: первое - 21039, второе - 23954 )) я поставил на них бряк выявил инструкцию которая работает со всеми значения и после протрейсил инструкцию по двум правилам: сначала только магию и любое другое значение. Посмотрел трейслог и нашел различия по дальнейшему ходу по инструкциям у адресов и проверил инструкцию и вроде да оно ( из последнего скрипта ) и начал работать с ней, увидел что в EAX ( если брать последний скрипт ) лежит число магии но работает инструкция так же и с другими значения ( все что получаем то и обрабатывает ) и по этому добавил фильтр чтоб изменяло лишь магию. Цитата Здорово. Только игра у меня так заново каждый раз и начинается. Переустановка не помогла. Ну тут ничем не помогу, скорее удаление не удаляет все что оставила игра пройдись по папкам ( C:\Users\User\Documents\ , C:\Users\User\AppData, C:\Program Files\WindowsApps\A278AB0D.DisneyMagicKingdoms_2.8.1.1_x86__h6adky7gbf63m\= ( подчеркнутое может отличаться )) может там что от игры осталось и удали это. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения