SerVick Опубликовано 23 апреля, 2017 Автор Поделиться Опубликовано 23 апреля, 2017 Попробовал сделать так как ты пишешь, Патроны стало значение 0, а запас патрон с добавленными байтами в обще не включается. Может конечно я что не так сделал. Вот что я сделал в запасе патрон. Скрытый текст aobscanmodule(AAM,G_Indy.sgl,8B 86 XX XX 00 00 8B 8E 8B 8E E4 0F) / alloc(newmem,$1000) label(code) label(return) newmem: mov [esi+00000FE0],#320 code: mov eax,[esi+00000FE0] jmp return AAM: jmp newmem nop return: registersymbol(AAM) [DISABLE] //code from here till the end of the code will be used to disable the cheat AAM: db 8B 86 E0 0F 00 00 unregistersymbol(AAM) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "G_Indy.sgl"+5A477 "G_Indy.sgl"+5A459: 84 C0 - test al,al "G_Indy.sgl"+5A45B: 74 1A - je G_Indy.sgl+5A477 "G_Indy.sgl"+5A45D: 8B 86 E8 0F 00 00 - mov eax,[esi+00000FE8] "G_Indy.sgl"+5A463: 8B 8E E4 0F 00 00 - mov ecx,[esi+00000FE4] "G_Indy.sgl"+5A469: 8B 54 24 08 - mov edx,[esp+08] "G_Indy.sgl"+5A46D: 03 C8 - add ecx,eax "G_Indy.sgl"+5A46F: B0 01 - mov al,01 "G_Indy.sgl"+5A471: 5E - pop esi "G_Indy.sgl"+5A472: 89 0A - mov [edx],ecx "G_Indy.sgl"+5A474: C2 04 00 - ret 0004 // ---------- INJECTING HERE ---------- "G_Indy.sgl"+5A477: 8B 86 E0 0F 00 00 - mov eax,[esi+00000FE0] // ---------- DONE INJECTING ---------- "G_Indy.sgl"+5A47D: 8B 8E E4 0F 00 00 - mov ecx,[esi+00000FE4] "G_Indy.sgl"+5A483: 8B 54 24 08 - mov edx,[esp+08] "G_Indy.sgl"+5A487: 03 C8 - add ecx,eax "G_Indy.sgl"+5A489: B0 01 - mov al,01 "G_Indy.sgl"+5A48B: 5E - pop esi "G_Indy.sgl"+5A48C: 89 0A - mov [edx],ecx "G_Indy.sgl"+5A48E: C2 04 00 - ret 0004 "G_Indy.sgl"+5A491: 90 - nop В итоге он в таблице не активируется. Или там вот если смотреть mov [esi+00000FE0] а тут уже в обратном порядке G_Indy.sgl"+5A477: 8B 86 E0 0F 00 00 может и те что ниже по коду тоже вписывать в обратном порядке?! Ладно завтра ещё попробую. А игру заново прошёл, всё -таки умели раньше игры делать. С большим удовольствием пробежал по игре за ново. Конечно без читов.проходил. Читы -это так для развития кругозора.... . Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 23 апреля, 2017 Поделиться Опубликовано 23 апреля, 2017 1 час назад, SerVick сказал: aliast, спасибо за совет, Попробую сейчас, здесь хотя -бы для меня ясно, что делать... . Я тоже давал тебе тот же совет - см п.2. 49 минуты назад, SerVick сказал: Попробовал сделать так как ты пишешь, Делаешь не правильно. PS: Вот пример использования этого способа. Как видишь скрипты я выложил в январе 2015 г. версия мода 1.197 Недавно дописывал некоторые скрипты версия была 1.209. Сечас версия Мода 1.216 апрель 2017. И все скрипты работают. Так как на Моде Плагин АА-Маркер не работал - делал все сигны вручную. А в этом сообщении ещё и пример как исправить, если не работает сигна. Ссылка на комментарий Поделиться на другие сайты Поделиться
SerVick Опубликовано 23 апреля, 2017 Автор Поделиться Опубликовано 23 апреля, 2017 Garik66, ОГРОМНОЕ СПАСИБО!!! Буду смотреть может и что получится... . Ссылка на комментарий Поделиться на другие сайты Поделиться
SerVick Опубликовано 24 апреля, 2017 Автор Поделиться Опубликовано 24 апреля, 2017 Добрый вечер!!! Посмотрел я Garik66 все эти дела по ссылкам и понял,что ничего не понял. Это что вот из такой к примеру строчки (Heal,G_Indy.sgl,D5 85 C0 74 1B D9 80 84 00 00 00) сделать подобное этому: [ENABLE]aobscan(address30, 89 XX XX XX A1 XX XX XX XX 89 XX XX XX A1 XX XX XX XX 03 XX 8A XX XX)aobscan(address31, 89 XX XX XX A1 XX XX XX XX 03 XX 8A XX XX FE XX)aobscan(address32, 01 XX XX A1 XX XX XX XX 03 XX 8A XX 8B XX XX XX XX XX 01 XX XX)aobscan(address33, 01 XX XX 8B XX XX XX XX XX FE XX 8B XX XX XX 8D XX XX 6B XX XX)aobscan(address34, 89 XX XX A1 XX XX XX XX 03 XX FE XX 8B XX XX XX XX XX 89 XX XX)aobscan(address35, 89 XX XX 8B XX XX XX XX XX 8B XX XX XX 8D XX XX 6B XX XX 8B XX. Для меня такое пока тёмный лес, я просто "заблудился" сразу и потерялся в строчках. Тем -более не понятно что -куда и откуда?! Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2017 Поделиться Опубликовано 24 апреля, 2017 15 минуту назад, SerVick сказал: Тем -более не понятно что -куда и откуда?! Нужно брать только байты опкодов (типа MOV, ADD и т.д.) все остальные байты заменять XX. И проверять после замены XX на уникальность сигнатуру, если не уникальная - удлиняешь дальше. Собственно идея такая - с написанием патчей для игр в основном меняются адреса, но также могут поменяться и регистры тоже, смотри мою ссылку на сообщение в пред.посте, а вот опкоды, т.е. логика кода скорее всего не поменяются (ну если это не основательные изменения в игре). Вот из-за этого та моя старая табличка оказалась такой долго живущей. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
SerVick Опубликовано 24 апреля, 2017 Автор Поделиться Опубликовано 24 апреля, 2017 Основа понятно, но с моими знаниями рановато это делать. Вернее надо читать по этой теме. В общем надо ещё знаний как проверять уникальность. и т.д. . Я -же ещё дилетант во многих вопросах. Тут правда на сайт не плохой перенаправили (asmworld). Думаю надо там сначала подучится, Что бы не выглядеть таким идиотом на вашем фоне... . Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 26 апреля, 2017 Поделиться Опубликовано 26 апреля, 2017 Я щас посмотрел игру - там как буд то игра чистит за собой всё, даже не надо переходить на другой уровень, а просто помер, загрузился и игра всё затрет и выделит по новой код. Затирает всё вместе с хуками - одни метки остаются, которые СЕ уже не снимет - так как видать не соображает что происходит К примеру выглядит это вот так. Пробный скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 В 24.04.2017 в 19:03, Garik66 сказал: Нужно брать только байты опкодов а как распознать байты опкодов? Я обычно плагин AA использую, но было бы круто самому сигнатуры находить этим способом. Ссылка на комментарий Поделиться на другие сайты Поделиться
youneuoy Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 13 часов назад, Pitronic сказал: а как распознать байты опкодов? Вот это: В 24.04.2017 в 19:03, Garik66 сказал: Нужно брать только байты опкодов (типа MOV, ADD и т.д.) все остальные байты заменять XX значит, что нужно заменять всё, что не опкоды на XX. Опкоды это всё, что ADD,MOV,PUSH и т.д. Не опкоды это всё, что ecx, [0x123], 2 и т.д(это операндами называется). Байты опкодов это обычно один или два первых числа каждой строчки в дизассемблере CE. Пример - mov [esi+00000FE0], упомянутый выше в теме. Здесь опкод - mov, это 8B. Посмотреть список опкодов можно, например, здесь(одна из первых ссылок в гугле): http://ref.x86asm.net/coder32.html#x0FE0. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 (изменено) 26 минут назад, youneuoy сказал: значит, что нужно заменять всё, что не опкоды умный да? тогда скажи что здесь не опкоды 8B 89 70 0D 00 00 56 8B 75 08 56 E8 5D EB C5 FF 8B C6 5E 5D C2 08 00 CC CC CC CC CC CC 6A чтобы менять не опкоды на иксы нужно знать в каких байтах опкоды! В моём примере только видно что 8B первый байт примем что это опкод, забей остальные где не опкоды. если все иксами перечеркнёшь будет у тебя миллион результатов, а чтоб оставить опкоды нужно видеть в байтах их. Об этом и был вопрос. Изменено 28 октября, 2020 пользователем Pitronic исправление грам ошибок Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 33 минуты назад, Pitronic сказал: огда скажи что здесь не опкоды Перейди в отладчик и там смотри сам - нам нужно это сделать за тебя? 47 минут назад, youneuoy сказал: Байты опкодов это обычно один или два первых числа каждой строчки в дизассемблере CE Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 (изменено) 7 минут назад, Garik66 сказал: это обычно один или два первых числа понял скопировать по больше строчек с верху в низ, первые байты оставить остальное иксами,сложить в одну сигнатуры методом поиска и укорачивания найти самую короткую что один результат выдаёт. Изменено 28 октября, 2020 пользователем Pitronic исправление грам ошибок Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 1 минуту назад, Pitronic сказал: понял скопировать по больше строчек с верху в низ, первые байты оставить остальное иксами,сложить в одну сигнатуры методом поиска и укорачивания найти самую короткую что один результат выдаёт. тебе же дали ссылку, там видно как выглядят опкоды в байтах: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
youneuoy Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 45 минут назад, Pitronic сказал: умный да? ? 45 минут назад, Pitronic сказал: тогда скажи что здесь не опкоды на: 8b XX XX XX XX XX 56 8b XX XX 56 e8 XX XX XX XX 8b XX 5e 5d c2 XX XX CC CC CC CC CC CC XX 45 минут назад, Pitronic сказал: если все иксами перечеркнёшь будет у тебя миллион результатов, а чтоб оставить опкоды нужно видеть в байтах их. ? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 я по той ссылке не понял, по чему то ад и двумя нолями и о1 и н=02 даже на вашей картинке тоже. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 от 00 до 05 это опкод add и т.д. 4 минуты назад, Pitronic сказал: я по той ссылке не понял, по чему то ад и двумя нолями и о1 и н=02 даже на вашей картинке тоже. хотя я просто тупо оставлял в строке первый (первые) известный байт и все, когда делал вручную Ссылка на комментарий Поделиться на другие сайты Поделиться
youneuoy Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 3 минуты назад, Pitronic сказал: я по той ссылке не понял, по чему то ад и двумя нолями и о1 и н=02 даже на вашей картинке тоже. посмотри остальные столбцы, байты опкодов зависят от того, какие у них операнды. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 28 октября, 2020 Поделиться Опубликовано 28 октября, 2020 2 минуты назад, Garik66 сказал: от 00 до 05 Всй теперь разобрался . тебе и youneuoy по плюсику. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 29 октября, 2020 Поделиться Опубликовано 29 октября, 2020 16 часов назад, Pitronic сказал: тогда скажи что здесь не опкоды 8B 89 70 0D 00 00 56 8B 75 08 56 E8 5D EB C5 FF 8B C6 5E 5D C2 08 00 CC CC CC CC CC CC 6A ща я по памяти скажу что тут... mov push mov push call mov pop pop ret int 3 push xx чего то... в 2 байта вот так бы сделал плагин. 8B * * * * * * 8B * * * E8 * * * * 8B * * * C2 * * * * * * * * 6A Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 29 октября, 2020 Поделиться Опубликовано 29 октября, 2020 5 часов назад, LIRW сказал: ща я по памяти скажу что тут Женя это вопрос был к конкректному человеку Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 1 ноября, 2020 Поделиться Опубликовано 1 ноября, 2020 (изменено) В 28.10.2020 в 23:14, Garik66 сказал: нам нужно это сделать за тебя Мне не надо делать для меня, вопрос был задан не всем, а к конкретному человеку, потому что сомневался что он это знает, правда он доказал обратное, я ему даже плюсанул за это. Сигнатура была снята не потому что у меня были проблемы, а конкретно для него. Изменено 1 ноября, 2020 пользователем Pitronic исправление грам ошибок 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 4 ноября, 2020 Поделиться Опубликовано 4 ноября, 2020 В 29.10.2020 в 15:20, LIRW сказал: вот так бы сделал плагин. А для чего E8 и C2 ты чёрным прописал? Что это значит? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 ноября, 2020 Поделиться Опубликовано 4 ноября, 2020 26 минут назад, Pitronic сказал: А для чего E8 и C2 ты чёрным прописал? Что это значит? Это не Женька, это форумный движок сделал. 8B * * * * * * 8B * * * E8 * * * * 8B * * * C2 * * * * * * * * 6A Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 4 ноября, 2020 Поделиться Опубликовано 4 ноября, 2020 11 минут назад, Garik66 сказал: форумный движок Понятно Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения