nedix Опубликовано 13 сентября, 2018 Поделиться Опубликовано 13 сентября, 2018 Ищу в игре GTA SA. Остановился на первом, динамическом адресе. При попытки найти адрес через поиск значений - ничего не выдает. Пытаюсь через скан указателя, раз десять подряд выдает одно и то же кол-во совпадений (1500), редко уменьшает на 1. Перерыв похожие запросы, не нашел того что бы помогло. Единственный совет, или намек, который я нашел: искать последнее обращение к регистру с нужным адресом... А вот где искать не пойму... Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 14 сентября, 2018 Поделиться Опубликовано 14 сентября, 2018 Алгоритм примерно такой: 1. Находишь адрес (патроны, жизни, и вообще что угодно). 2. Ставишь на него бряк на чтение, смотришь в инструкции базу и смещение. Смещение запоминаешь 3. Добавляешь в таблицу адрес базы. 4 Идешь в пункт два. И так до тех пор, пока не доберешься до "зеленого" адреса, или адреса, который не будет меняться. В результате у тебя получится статичный базовый адрес, и несколько смещений. Это и будет твоя цепочка указателей. Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 18 сентября, 2018 Автор Поделиться Опубликовано 18 сентября, 2018 (изменено) @Xipho, не совсем понимаю порядок действий. 1. Нашел адрес. 2. Смотрю что пишет\обращается к нему. 3. Выбираю инструкцию -> Show disassembler. Далее Toggle breakpoint или ПКМ по 1 байту Break on Write. А вот дальше что? В 14.09.2018 в 17:08, Xipho сказал: И так до тех пор, пока не доберешься до "зеленого" адреса, или адреса, который не будет меняться. В результате у тебя получится статичный базовый адрес, и несколько смещений. Это и будет твоя цепочка указателей. Это я понимаю. Вопрос, как найти статический адрес, если варианты: Pointer Scan или *поиск адреса через поиск значений не подходят. * тут я имею ввиду способ описанный в CE туториале "Step 8: Multilevel pointers". Изменено 18 сентября, 2018 пользователем nedix Ссылка на комментарий Поделиться на другие сайты Поделиться
JustHack Опубликовано 18 сентября, 2018 Поделиться Опубликовано 18 сентября, 2018 (изменено) [censored] Изменено 10 апреля, 2020 пользователем JustHack Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 18 сентября, 2018 Автор Поделиться Опубликовано 18 сентября, 2018 @JustHack, 9 минут назад, JustHack сказал: Спойлер https://www.youtube.com/watch?v=SMqW2SvfBgs Как я сказал 57 минут назад, nedix сказал: Pointer Scan или *поиск адреса через поиск значений не подходят. Тогда последний вариант это OllyDbg? Я надеялся со способом @Xipho разобраться Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 18 сентября, 2018 Поделиться Опубликовано 18 сентября, 2018 Чем тебе реверсивный поиск (алгоритм выше и видео из цитаты) не угодил? Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 18 сентября, 2018 Автор Поделиться Опубликовано 18 сентября, 2018 В 14.09.2018 в 00:28, nedix сказал: При попытки найти адрес через поиск значений - ничего не выдает. Пытаюсь через скан указателя, раз десять подряд выдает одно и то же кол-во совпадений (1500), редко уменьшает на 1. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 18 сентября, 2018 Поделиться Опубликовано 18 сентября, 2018 То есть, ты с самого начала не можешь найти адрес нужного тебе значения, что ли? Если так, то смысла нет искать указатель. Потому что указатель ищется на адрес, а не на значение. Смотри урок внимательно, и вникай. Я в алгоритме расписал все подробно, не пойму, в чем проблема. Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 18 сентября, 2018 Автор Поделиться Опубликовано 18 сентября, 2018 Я прошел все туториалы в CE и решил игровые задачи. Знаю AHK и теперь познакомился с Lua. Это к слову, чтобы не было недопонимания. Знаю как находить и находил статический адрес через поинтер скан или через поиск значений. Адрес я нашел: 1 час назад, nedix сказал: 1. Нашел адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 18 сентября, 2018 Поделиться Опубликовано 18 сентября, 2018 В таком случае, я не понимаю, почему ты не можешь пройти по алгоритму и выйти на статичный указатель. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 18 сентября, 2018 Поделиться Опубликовано 18 сентября, 2018 17 минут назад, nedix сказал: Я прошел все туториалы в CE и решил игровые задачи. Знаю AHK и теперь познакомился с Lua. Это к слову, чтобы не было недопонимания. Знаю как находить и находил статический адрес через поинтер скан или через поиск значений. Адрес я нашел: Это все хорошо, но что на счет знаний об устройстве памяти? Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 18 сентября, 2018 Автор Поделиться Опубликовано 18 сентября, 2018 Я правильно понимаю, что в данном случае мне нужно знать значение [r15]? Если да, то как его узнать? Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 20 сентября, 2018 Автор Поделиться Опубликовано 20 сентября, 2018 Ломаю голову, чувствую что истина где-то рядом, возможно она на самом видном месте, но откуда мне знать. Я сделал скрипт на Lua с прибавлением значения, при выстреле. В нем пытаюсь найти цепочку указателей на адрес значения. В таком же скрипте на AHK цепочка указателей нашлась без проблем. Я пробовал использовать Break and trace, но мне кажется я в нем хожу по кругу. Если бы в интернете были подобные примеры, вопросы бы отпали, но я таких не нашел. Две кнопки: выстрел и сброс. Спойлер getApplication().Title='LuaGame' ShotCount = 0 form=createForm() -- form.OnClose = function(sender) closeCE() return caFree end -- закрытие скрипта, использовать при компиляции в .exe form_centerScreen(form) control_setSize(form,150,150) control_setCaption(form,'Game') button1=createButton(form) control_setSize(button1,50,50) control_setPosition(button1,20,80) control_setCaption(button1,'Shot') button2=createButton(form) control_setSize(button2,50,50) control_setPosition(button2,80,80) control_setCaption(button2,'Re') function Button1Click() ShotCount = (ShotCount + 1) control_setCaption(label1,ShotCount) end setMethodProperty(button1,'OnClick',Button1Click) function Button2Click() ShotCount = 0 control_setCaption(label1,ShotCount) end setMethodProperty(button2,'OnClick',Button2Click) label1=createLabel(form) control_setPosition(label1,70,30) control_setCaption(label1,ShotCount) local font1=label1.Font local font2=button1.Font local font3=button2.Font font1.Size = 16 font2.Size = 14 font3.Size = 16 form.ShowInTaskBar = 'stAlways' Буду благодарен, если кто-нибудь поможет найти цепочку указателей. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 21 сентября, 2018 Поделиться Опубликовано 21 сентября, 2018 На нашем канале в плейлисте "Взлом игр от А до Я" есть видео "Указатели. Реверсивный поиск". Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 21 сентября, 2018 Автор Поделиться Опубликовано 21 сентября, 2018 @Xipho, я видел, там не говорится о проблеме поиска указателя, какая возникла у меня. Я посмотрел не мало видео\статей уроков, нигде не упоминается такая проблема. Ссылка на комментарий Поделиться на другие сайты Поделиться
JustHack Опубликовано 21 сентября, 2018 Поделиться Опубликовано 21 сентября, 2018 (изменено) [censored] Изменено 11 апреля, 2020 пользователем JustHack Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 21 сентября, 2018 Автор Поделиться Опубликовано 21 сентября, 2018 Да я о том же. Но откуда мне знать на какой режим переключать? Ссылка на комментарий Поделиться на другие сайты Поделиться
JustHack Опубликовано 21 сентября, 2018 Поделиться Опубликовано 21 сентября, 2018 (изменено) [censored] Изменено 11 апреля, 2020 пользователем JustHack Ссылка на комментарий Поделиться на другие сайты Поделиться
sb0na Опубликовано 21 сентября, 2018 Поделиться Опубликовано 21 сентября, 2018 на что ты ищешь указатели? На хп? Ссылка на комментарий Поделиться на другие сайты Поделиться
nedix Опубликовано 21 сентября, 2018 Автор Поделиться Опубликовано 21 сентября, 2018 @sb0na, нет. На данный момент я сделал скрипт, который по нажатию, прибавляет значение. Вот статический адрес этого значения и пытаюсь выяснить. А так выглядит скрипт: Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения