Xipho Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 11 минуту назад, maxx500 сказал: Уважаемые админы и помогаторы хорошо бы сделать видео уроки на ютуб как писать скрипты. Было бы очень хорошо для новичков да и остальным тоже познавательно. Пожалуйста сделайте подобные видео уроки. А чем не угодили мои видео из курса "Взлом игр от А до Я"? Ссылка на комментарий Поделиться на другие сайты Поделиться
maxx500 Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 Уважаемый Xipho, ваши уроки очень хорошие спасибо вам большое за них. Но хотелось бы побольше про скрипты узнать на разный взлом (бесконечное передвижение, найм юнитов за 1 ход и.т.д.). Если у вас будет время взломайте пожалуйста игру Empire: Total War в вашем разделе Как я взламывал. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 38 minutes ago, maxx500 said: Уважаемые админы и помогаторы хорошо бы сделать видео уроки на ютуб как писать скрипты. Было бы очень хорошо для новичков да и остальным тоже познавательно. Пожалуйста сделайте подобные видео уроки. Как писать скрипты на что? Я честно не понимаю подобных вопросов. Ну так: Скрытый текст [ENABLE] aobscan(heroHealth,E9 D9 9F B0 00 00 00) alloc(memHealth,$1000) label(code) label(return) memHealth: mov [edi+000000B0],(float)100 jmp return code: fstp dword ptr [edi+000000B0] jmp return heroHealth+01: jmp memHealth nop return: registersymbol(heroHealth) [DISABLE] heroHealth+01: db D9 9F B0 00 00 00 unregistersymbol(heroHealth) dealloc(memHealth) Может тогда стоит задавать более конкретные вопросы по поводу как правильно написать скрипт на конкретную инструкцию ( для функции )? 17 minutes ago, maxx500 said: Если у вас будет время взломайте пожалуйста игру Empire: Total War в вашем разделе Как я взламывал. Ты подал запрос уже не надо просить в других топиках. Ссылка на комментарий Поделиться на другие сайты Поделиться
maxx500 Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 4 часа назад, ReWanet сказал: Как писать скрипты на что? Я честно не понимаю подобных вопросов. Ну так: Показать содержимое [ENABLE] aobscan(heroHealth,E9 D9 9F B0 00 00 00) alloc(memHealth,$1000) label(code) label(return) memHealth: mov [edi+000000B0],(float)100 jmp return code: fstp dword ptr [edi+000000B0] jmp return heroHealth+01: jmp memHealth nop return: registersymbol(heroHealth) [DISABLE] heroHealth+01: db D9 9F B0 00 00 00 unregistersymbol(heroHealth) dealloc(memHealth) Понял что-то? Нет? Неожиданно! Может тогда стоит задавать более конкретные вопросы по поводу как правильно написать скрипт на конкретную инструкцию ( для функции )? Ты подал запрос уже не надо просить в других топиках. ReWanet, на примере игры Empire Total War как написать скрипт на функцию бесконечного передвижения или найм войск за 1 ход. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 10 минут назад, maxx500 сказал: на примере игры Empire Total War Во взломе игр не бывает так, чтобы писались самые универсальные скрипты. К каждой игре нужен свой подход. В своих видео я демонстрирую разные виды подхода, но это не значит, что нужно действовать абсолютно также. Нужно учиться анализировать код и поведение игры, иначе никак. А вот эти вот хитрости "покажи на примере %ИМЯИГРЫ%" меня уже начали утомлять. Смотрите видео, пробуйте, делайте хоть что-то самостоятельно. А то не хотите сами ничего делать, хотите получить готовые скрипты/таблицы/взломы, но при этом "покажи на примере". Я частенько делаю по-другому - нахожу игру, которая схожа по логике с той, что просят в примере, и где нужно действовать аналогичным образом. Взламываю ее, показываю, но это не помогает, потому что по факту просящий не хочет ничего делать сам, а хочет готовый скрипт. Я уже склоняюсь к мысли о том, что за все последующие комментарии тут и на ютубе в духе "покажи на примере" тут буду выдавать пред, а на ютубе перманентно банить. Напомню, что наш ресурс по большей части призван научить мыслить как геймхакер, искать пути взлома самостоятельно, а не слепо повторять урок. Да, для начального понятия нужно скачать ту же игру, что и в уроке, и пройти весь урок по шагам. Потом, когда придет понимание, переходить к другим играм. Извиняюсь за резкость, но наболело уже. Ссылка на комментарий Поделиться на другие сайты Поделиться
maxx500 Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 Уважаемый Xipho, да я сильно хочу сам научиться писать скрипты. По вашему уроку в Doom 2016 я сам сделал легкий скрипт на деньги в стратегии. Извините если что лишнее ляпнул. Будем сами помаленьку осваивать взлом. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 16 февраля, 2018 Поделиться Опубликовано 16 февраля, 2018 15 минут назад, maxx500 сказал: да я сильно хочу сам научиться писать скрипты Тогда тебе больше подойдут для начала игры с отрытым исходным кодом, типа Pwn Adventure 3: Pwnie Island, Assault Cube и ещё вроде была стратегия опен сорсная, где перед написанием скрипта можно посмотреть устройство функции, которая работает с интересующим значением. А уже после того как поймешь устройство функции и иерархию в игре, то можно приступать к реальным играм(имхо советую с отрытым миром там много чего можно взломать). Ссылка на комментарий Поделиться на другие сайты Поделиться
PresetX Опубликовано 2 декабря, 2018 Поделиться Опубликовано 2 декабря, 2018 (изменено) //Можно задать парочку вопросов, связанных с AA? Как: [0] находить скорострельность, наклон; [1] создать валлхак (квадраты вокруг объектов); [2] работать с адресом, к которому обращается сотня инструкций, можно ли делать несколько aobscan'ов (чтобы объединить несколько скриптов в т.ч. поиск в 1); [3] зачем нужна полная инъекция; [4] как писать GUI читы (внутриигровое окно); [5] как защитить трейнер; [6] для чего нужен отладчик в режиме ядра; [7] реально ли написать игнор текстур без изучения кода игры; [8] как работать с call; [9] формировать/перехватывать пакет, отправляемый на сервер; [A] выполнять атаку на группу адресов (например жизни сразу всех персонажей); нужно-ли что то дописывать в скрипт при работе с mono (т.к. готовый трейнер не распознает адрес). //Спасибо за внимание. Изменено 2 декабря, 2018 пользователем PresetX .. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Ваня1983 Опубликовано 10 января, 2019 Поделиться Опубликовано 10 января, 2019 Привет , я умею писать скрипт на нитро в игре нфс мост вантед 2012 и нит фор спид ривалс , а вот немогу не как написать скримт на нерозбеваемую машину или бессмертие какое надо искать значение ? Всем спасибо зарание Ссылка на комментарий Поделиться на другие сайты Поделиться
MrVirus Опубликовано 18 ноября, 2020 Поделиться Опубликовано 18 ноября, 2020 Здравствуйте, о велике, о могучие, кульные хацкеры, решил я тут расширить (или обновить) свои познания, да и скриптами таблицы пополнить, скрипт написал, а он пёс такой, не в какую не работает. Скрипт на прибавление 1000 денег. Спойлер { Game : GoldenLand.exe Version: Date : 2020-11-18 Author : MeVirus This script does blah blah blah } [ENABLE] registersymbol(INJECT) registersymbol(_money) {$LUA} memrec=getAddressList().getMemoryRecordByID("1387") memrec.color = 0x0008000 PlaySound(findTableFile([[Activate]])) timer = createTimer(true) timer:setInterval(100) timer.OnTimer = function() sleep "5000" if memoryrecord_isActive(memrec) then memoryrecord_unfreeze(memrec) memrec.color = 0x00000ff PlaySound(findTableFile([[Deactivate]])) end end {$ASM} aobscanmodule(INJECT,Server.dll,0C 75 0E 8B 54 24 08 03 90 B0 00 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp dword ptr [_money],1 jne code add [eax+000000B0],3E8 mov [_money],0 //чтоб бесконечного цикла не получилось code: add edx,[eax+000000B0] //add dword ptr[eax+000000B0],3E8 exit: jmp return INJECT+07: jmp newmem nop _money: dd 0 return: [DISABLE] {$LUA} timer:setEnabled(false) {$ASM} INJECT+07: db 03 90 B0 00 00 00 unregistersymbol(INJECT) unregistersymbol(_money) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Server.dll"+4C650 "Server.dll"+4C62D: 52 - push edx "Server.dll"+4C62E: E8 F7 F8 01 00 - call Server.dll+6BF2A "Server.dll"+4C633: 8B 55 0C - mov edx,[ebp+0C] "Server.dll"+4C636: FF 34 9A - push [edx+ebx*4] "Server.dll"+4C639: 8B CD - mov ecx,ebp "Server.dll"+4C63B: E8 AC 15 00 00 - call Server.dll+4DBEC "Server.dll"+4C640: 8B 90 A8 00 00 00 - mov edx,[eax+000000A8] "Server.dll"+4C646: 3B 54 24 0C - cmp edx,[esp+0C] "Server.dll"+4C64A: 75 0E - jne Server.dll+4C65A "Server.dll"+4C64C: 8B 54 24 08 - mov edx,[esp+08] // ---------- INJECTING HERE ---------- "Server.dll"+4C650: 03 90 B0 00 00 00 - add edx,[eax+000000B0] // ---------- DONE INJECTING ---------- "Server.dll"+4C656: 89 54 24 08 - mov [esp+08],edx "Server.dll"+4C65A: 83 C3 01 - add ebx,01 "Server.dll"+4C65D: 53 - push ebx "Server.dll"+4C65E: 8B 4C 24 08 - mov ecx,[esp+08] "Server.dll"+4C662: E8 39 FB FF FF - call Server.dll+4C1A0 "Server.dll"+4C667: 8B D8 - mov ebx,eax "Server.dll"+4C669: 83 FB FF - cmp ebx,-01 "Server.dll"+4C66C: 0F 85 69 FF FF FF - jne Server.dll+4C5DB "Server.dll"+4C672: 8B 5C 24 08 - mov ebx,[esp+08] "Server.dll"+4C676: 8B 3C 24 - mov edi,[esp] } Не сочтите за дерзость, ткните меня паразита такого носом, что я не так написал, где я ошибся. PS. Игра "Златогорье 2", ОС Win 10 [x64]. PPS. Заранее спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 ноября, 2020 Поделиться Опубликовано 18 ноября, 2020 2 часа назад, MrVirus сказал: где я ошибся. _money: dd 0 // не 0. а 1 поставь и будет тебе счастье Ссылка на комментарий Поделиться на другие сайты Поделиться
MrVirus Опубликовано 19 ноября, 2020 Поделиться Опубликовано 19 ноября, 2020 В общем получилось не так как я хотел изначально, ну да и ладно, главное что работает, пусть криво и убого, но веть работает. 20000 монет при покупке (без таймера) Спойлер { Game : GoldenLand.exe Version: Date : 2020-11-19 Author : MeVirus This script does blah blah blah } define(address,"Server.dll"+4CBDF) define(bytes,8B 90 B0 00 00 00) [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat assert(address,bytes) alloc(newmem,$1000) label(code) label(return) newmem: mov dword ptr[eax+000000B0],#20000 code: mov edx,[eax+000000B0] jmp return address: jmp newmem nop return: [DISABLE] //code from here till the end of the code will be used to disable the cheat address: db bytes // mov edx,[eax+000000B0] dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Server.dll"+4CBDF "Server.dll"+4CBB5: 89 74 24 0C - mov [esp+0C],esi "Server.dll"+4CBB9: FF 34 AA - push [edx+ebp*4] "Server.dll"+4CBBC: 8B CB - mov ecx,ebx "Server.dll"+4CBBE: E8 29 10 00 00 - call Server.dll+4DBEC "Server.dll"+4CBC3: 85 C0 - test eax,eax "Server.dll"+4CBC5: 0F 84 98 00 00 00 - je Server.dll+4CC63 "Server.dll"+4CBCB: 8B 90 A8 00 00 00 - mov edx,[eax+000000A8] "Server.dll"+4CBD1: 3B 54 24 14 - cmp edx,[esp+14] "Server.dll"+4CBD5: 0F 85 88 00 00 00 - jne Server.dll+4CC63 "Server.dll"+4CBDB: 8B 74 24 10 - mov esi,[esp+10] // ---------- INJECTING HERE ---------- "Server.dll"+4CBDF: 8B 90 B0 00 00 00 - mov edx,[eax+000000B0] // ---------- DONE INJECTING ---------- "Server.dll"+4CBE5: 3B F2 - cmp esi,edx "Server.dll"+4CBE7: 0F 82 21 01 00 00 - jb Server.dll+4CD0E "Server.dll"+4CBED: 3B F2 - cmp esi,edx "Server.dll"+4CBEF: 0F 84 91 00 00 00 - je Server.dll+4CC86 "Server.dll"+4CBF5: 2B F2 - sub esi,edx "Server.dll"+4CBF7: 3B 6B 10 - cmp ebp,[ebx+10] "Server.dll"+4CBFA: 89 74 24 10 - mov [esp+10],esi "Server.dll"+4CBFE: 73 12 - jae Server.dll+4CC12 "Server.dll"+4CC00: 8B 14 24 - mov edx,[esp] "Server.dll"+4CC03: 8B 7B 14 - mov edi,[ebx+14] } Цитата Дааа, я это сделал, не поздравляйте... 20000 монет при покупке (таймер 10 секунд) Спойлер { Game : GoldenLand.exe Version: Date : 2020-11-19 Author : MeVirus This script does blah blah blah } [ENABLE] {$LUA} memrec=getAddressList().getMemoryRecordByID("1398") memrec.color = 0x0008000 PlaySound(findTableFile([[Activate]])) timer = createTimer(true) timer:setInterval(100) timer.OnTimer = function() timer.destroy() sleep "10000" if memoryrecord_isActive(memrec) then memoryrecord_unfreeze(memrec) memrec.color = 0x00000ff PlaySound(findTableFile([[Deactivate]])) end end {$ASM} aobscanmodule(money,Server.dll,8B 90 B0 00 00 00 3B F2) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov dword ptr[eax+000000B0],#20000 code: mov edx,[eax+000000B0] jmp return money: jmp newmem nop return: registersymbol(money) [DISABLE] money: db 8B 90 B0 00 00 00 unregistersymbol(money) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Server.dll"+4CBDF "Server.dll"+4CBB5: 89 74 24 0C - mov [esp+0C],esi "Server.dll"+4CBB9: FF 34 AA - push [edx+ebp*4] "Server.dll"+4CBBC: 8B CB - mov ecx,ebx "Server.dll"+4CBBE: E8 29 10 00 00 - call Server.dll+4DBEC "Server.dll"+4CBC3: 85 C0 - test eax,eax "Server.dll"+4CBC5: 0F 84 98 00 00 00 - je Server.dll+4CC63 "Server.dll"+4CBCB: 8B 90 A8 00 00 00 - mov edx,[eax+000000A8] "Server.dll"+4CBD1: 3B 54 24 14 - cmp edx,[esp+14] "Server.dll"+4CBD5: 0F 85 88 00 00 00 - jne Server.dll+4CC63 "Server.dll"+4CBDB: 8B 74 24 10 - mov esi,[esp+10] // ---------- INJECTING HERE ---------- "Server.dll"+4CBDF: 8B 90 B0 00 00 00 - mov edx,[eax+000000B0] // ---------- DONE INJECTING ---------- "Server.dll"+4CBE5: 3B F2 - cmp esi,edx "Server.dll"+4CBE7: 0F 82 21 01 00 00 - jb Server.dll+4CD0E "Server.dll"+4CBED: 3B F2 - cmp esi,edx "Server.dll"+4CBEF: 0F 84 91 00 00 00 - je Server.dll+4CC86 "Server.dll"+4CBF5: 2B F2 - sub esi,edx "Server.dll"+4CBF7: 3B 6B 10 - cmp ebp,[ebx+10] "Server.dll"+4CBFA: 89 74 24 10 - mov [esp+10],esi "Server.dll"+4CBFE: 73 12 - jae Server.dll+4CC12 "Server.dll"+4CC00: 8B 14 24 - mov edx,[esp] "Server.dll"+4CC03: 8B 7B 14 - mov edi,[ebx+14] } PS: Спойлер Странно, но скрипты срабатывают на покупку, на продажу работают, но не в нашу пользу (увеличивает деньги продавца), ну да ладно, скрипты оставлю здесь на память, или как памятка для таких как я утюгов. . Ссылка на комментарий Поделиться на другие сайты Поделиться
Конунг Опубликовано 5 апреля, 2021 Поделиться Опубликовано 5 апреля, 2021 (изменено) Доброго времени суток. Хотелось бы узнать у экспертов, как занопить в newmem, если при добавлении нопов в newmem, значение продолжается меняться. Вот пример...но тут мне пришлось нопить сам код (тогда значение в игре не меняется). А через newmem это можно как то сделать? Закомментировал в code ту функцию, которую нужно занопить. Спойлер [ENABLE] aobscanmodule(Energy,GameRus.exe,39 86 A8 0A 00 00) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: db 90 90 90 90 //cmp [esi+00000AA8],eax jmp return Energy: jmp newmem nop return: registersymbol(Energy) [DISABLE] Energy: db 39 86 A8 0A 00 00 unregistersymbol(Energy) dealloc(newmem) Изменено 5 апреля, 2021 пользователем Конунг Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 5 апреля, 2021 Поделиться Опубликовано 5 апреля, 2021 59 минут назад, Конунг сказал: как занопить в newmem Судя по твоему коду, ты не представляешь, что делаешь и зачем нопишь. Рекомендую почитать про инструкцию cmp, тогда станет понятно, что ты делаешь не так. Ссылка на комментарий Поделиться на другие сайты Поделиться
Конунг Опубликовано 5 апреля, 2021 Поделиться Опубликовано 5 апреля, 2021 (изменено) 2 часа назад, Xipho сказал: Судя по твоему коду, ты не представляешь, что делаешь и зачем нопишь. Рекомендую почитать про инструкцию cmp, тогда станет понятно, что ты делаешь не так. Да, я новичок. Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают. Вот оригинальный код на всякий случай. Там стоят комментарии, где такой же скрипт нопами, делает максимальное значение параметров. А вот через newmem не получается. Мне кажется через него правильнее будет, чем через code. А про cmp прочитаю, спасибо за наводку. Спойлер 00460115: 8B CE - mov ecx,esi 00460117: E8 BE B2 FC FF - call 0042B3DA 0046011C: 3B D8 - cmp ebx,eax //Религия 0046011E: 7D 02 - jnl 00460122 00460120: FF 07 - inc [edi] 00460122: 33 ED - xor ebp,ebp 00460124: A1 EC 7B 4F 00 - mov eax,[004F7BEC] 00460129: 8B C8 - mov ecx,eax 0046012B: D1 F9 - sar ecx,1 0046012D: 03 C1 - add eax,ecx // ---------- INJECTING HERE ---------- 0046012F: 39 86 A8 0A 00 00 - cmp [esi+00000AA8],eax //Энергия // ---------- DONE INJECTING ---------- 00460135: 7E 06 - jle 0046013D 00460137: 89 86 A8 0A 00 00 - mov [esi+00000AA8],eax 0046013D: A1 F0 7B 4F 00 - mov eax,[004F7BF0] 00460142: 8B C8 - mov ecx,eax 00460144: D1 F9 - sar ecx,1 00460146: 03 C1 - add eax,ecx 00460148: 39 86 AC 0A 00 00 - cmp [esi+00000AAC],eax //Стамина 0046014E: 7E 06 - jle 00460156 00460150: 89 86 AC 0A 00 00 - mov [esi+00000AAC],eax 00460156: A1 F4 7B 4F 00 - mov eax,[004F7BF4] Изменено 5 апреля, 2021 пользователем Конунг Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 5 апреля, 2021 Поделиться Опубликовано 5 апреля, 2021 33 минуты назад, Конунг сказал: Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают. Вот как почитаешь про инструкцию, станет понятно, почему так происходит. Ссылка на комментарий Поделиться на другие сайты Поделиться
NubZilla Опубликовано 6 апреля, 2021 Поделиться Опубликовано 6 апреля, 2021 18 часов назад, Конунг сказал: Да, я новичок. Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают. Вот оригинальный код на всякий случай. Там стоят комментарии, где такой же скрипт нопами, делает максимальное значение параметров. А вот через newmem не получается. Мне кажется через него правильнее будет, чем через code. А про cmp прочитаю, спасибо за наводку. Скрыть контент 00460115: 8B CE - mov ecx,esi 00460117: E8 BE B2 FC FF - call 0042B3DA 0046011C: 3B D8 - cmp ebx,eax //Религия 0046011E: 7D 02 - jnl 00460122 00460120: FF 07 - inc [edi] 00460122: 33 ED - xor ebp,ebp 00460124: A1 EC 7B 4F 00 - mov eax,[004F7BEC] 00460129: 8B C8 - mov ecx,eax 0046012B: D1 F9 - sar ecx,1 0046012D: 03 C1 - add eax,ecx // ---------- INJECTING HERE ---------- 0046012F: 39 86 A8 0A 00 00 - cmp [esi+00000AA8],eax //Энергия // ---------- DONE INJECTING ---------- 00460135: 7E 06 - jle 0046013D 00460137: 89 86 A8 0A 00 00 - mov [esi+00000AA8],eax 0046013D: A1 F0 7B 4F 00 - mov eax,[004F7BF0] 00460142: 8B C8 - mov ecx,eax 00460144: D1 F9 - sar ecx,1 00460146: 03 C1 - add eax,ecx 00460148: 39 86 AC 0A 00 00 - cmp [esi+00000AAC],eax //Стамина 0046014E: 7E 06 - jle 00460156 00460150: 89 86 AC 0A 00 00 - mov [esi+00000AAC],eax 00460156: A1 F4 7B 4F 00 - mov eax,[004F7BF4] Тебе или наверное всем(и мне тоже)) нужен справочник команд ассемблера; про NOP - http://www.club155.ru/x86cmd/NOP , про CMP http://www.club155.ru/x86cmd/CMP . Дело в том что когда ты нопишь инструкцию CMP. проверка не происходит и значение не меняется. Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 6 апреля, 2021 Поделиться Опубликовано 6 апреля, 2021 4 минуты назад, NubZilla сказал: Тебе или наверное всем(и мне тоже)) нужен справочник команд ассемблера; про NOP, про CMP. Дело в том что когда ты нопишь инструкцию CMP. проверка не происходит и значение не меняется. Не надо публично, рекламировать сторонние ресурсы, напиши личное сообщение. Ссылка на комментарий Поделиться на другие сайты Поделиться
KiberAndy Опубликовано 17 января, 2022 Поделиться Опубликовано 17 января, 2022 Нет ничего такого, чтобы использовать много девяток и другие большие числа, ведь главное, чтоб всё стабильно работало, а в большинстве случаев так и будет) Может и выглядит не совсем эстетично, зато работает и обычно из-за этого не возникает лагов Ссылка на комментарий Поделиться на другие сайты Поделиться
Din102 Опубликовано 27 января, 2022 Поделиться Опубликовано 27 января, 2022 Добрый день! Подскажите такой вопрос, нашёл адрес пытаюсь записать его в метку, сделал такой код Спойлер alloc(newmem,$1000,ammo_bonus) label(code) label(return) label(pABonus) registersymbol(pABonus) newmem: mov [pABonus],rax code: movsd xmm6,[rax+rcx*8] jmp return ammo_bonus: jmp newmem pABonus: db 0 return: registersymbol(ammo_bonus) [DISABLE] //code from here till the end of the code will be used to disable the cheat ammo_bonus: db F2 0F 10 34 C8 unregistersymbol(ammo_bonus) unregistersymbol(pABonus) dealloc(newmem) Далее создаю запись в CE которая смотрит на pABonus, но адрес в неё не правильный, так как мне по сути нужен не rax а именно rax+rx*8 а как этот адрес поместить в метку? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 27 января, 2022 Поделиться Опубликовано 27 января, 2022 3 часа назад, Din102 сказал: так как мне по сути нужен не rax а именно rax+rx*8 lea в неиспользуемый регистр и затем mov в твою метку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Din102 Опубликовано 27 января, 2022 Поделиться Опубликовано 27 января, 2022 Спасибо за ответ, извиняюсь за глупый вопрос, но не нашёл информации как сделать. Не подскажите ещё, по Вашему описанию, я получил корректный адрес, НО он лёг в значение label pABonus, я же хочу сделать так, чтобы он лёг в адрес этого поля и после активации скрипта я мог корректировать содержимое полученного адреса. Возможно в самом CE надо как-то иначе заводить, но я не не нашёл. Может есть где почитать про такое подробно для совсем новичка? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 28 января, 2022 Поделиться Опубликовано 28 января, 2022 17 часов назад, Din102 сказал: после активации скрипта я мог корректировать содержимое полученного адреса Вытаскивай в таблицу не метку, а метку как указатель. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 января, 2022 Поделиться Опубликовано 28 января, 2022 В 27.01.2022 в 10:55 AM, Din102 сказал: Далее [rax+rcx*8] - это контейнер, даже если сделаешь правильно (через lea) у тебя все равно будет много адресов, нужно фильтровать по ID, в твоем случае id находится в ecx Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 29 января, 2022 Поделиться Опубликовано 29 января, 2022 18 часов назад, Garik66 сказал: в твоем случае id находится в ecx А как ты определил что в ecx я смотрел скрипт там его нет, и логи он не прописал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения