Сейчас на форуме: tyns777 (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› X64DBG Сканер памяти (Поиск шаблона) |
Посл.ответ | Сообщение |
|
Создано: 24 августа 2019 22:42 · Поправил: PEvgen · Личное сообщение · #1 Уважаемые! Возникла необходимость сканировать память в скрипте. Сделать что-то типа этого: ![]() Нарыто: 1. x64dbg.DbgMemMap(memmap) - "count" получается верный, к страницам как получить доступ хз 2. x64dbg.FindMem(start, size, pattern) - в каком виде подсовывать ей шаблон, строку не находит, хоть и требует "const char *"(может я с размером 1 к 1-му не прав?). "ctypes" строку не принимает Вот суть вопроса из 2х частей. Возможно ли желаемое? ![]() |
|
Создано: 27 августа 2019 14:49 · Личное сообщение · #2 Не, ну могли хотя бы написать: "Жень, перестань нас беспокоить своими мелочами, для подобной х....ни мы слишком умные" ![]() |
|
Создано: 27 августа 2019 15:08 · Личное сообщение · #3 PEvgen пишет: Возникла необходимость сканировать память в скрипте. для скрипта вроде find с аргументами, а то что ниже на уровне плагина, но то что ты юзаешь,для других задач. в принципе диа вынес в скрипт, то же самое что и в сдк апи семпл Code:
----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 27 августа 2019 15:13 · Личное сообщение · #4 Мог бы загуглить вопросы на гитхабе, там были подобные темы .. Если это касается отладчика X64DBG, то нужно самостоятельно всё разбирать, там есть баги или отсутствие документации, поэтому будь протагонистом. Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 27 августа 2019 18:25 · Личное сообщение · #5 Bronco пишет: то же самое что и в сдк апи - видимо этого покамест нету.... В принципе пол ответа это уже что-то, по крайней мере в конкретной ситуации.... В общем полноценно эмулировать поиск шаблона, наверное, можно лишь через плуг, в конце-концов прога ведь это делает.... как раз и плуг пора пробовать писать... Всем спасибо! Добавлено спустя 3 минуты Кстати... мож кто в курсе как из PyScr $RESULT получить? ![]() ![]() |
|
Создано: 27 августа 2019 18:48 · Личное сообщение · #6 PEvgen пишет: как раз и плуг пора пробовать писать... ClawSearch - A memory scanner plugin for x64dbg, inspired by Cheat Engine - PEvgen пишет: В принципе пол ответа это уже что-то, по крайней мере в конкретной ситуации.... PEvgen пишет: Bronco пишет: то же самое что и в сдк апи - видимо этого покамест нету.... Можно же не ждать ответа, дали хорошие наводки, сорсы дебагера открыты, что ещё нужно для счастья?! DbgMemMap(&wMemMapStruct); файл в сорсах MemoryMapView.cpp Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 27 августа 2019 18:50 · Поправил: Bronco · Личное сообщение · #7 PEvgen пишет: полноценно эмулировать поиск шаблона, наверное, можно лишь через плуг смотря какая задача, сам поиск на двиге яра, а она шустрая ого-го. Если просто искать паттерн, то и скриптовых команд достаточно, если потом править через асм, то это слабое место. при большом кол-ве сабж падает. Если искать указатели, как рав так и ва, то лучше через плаг. бывают коллизии на совпадение, и надо выравнивать оффсет патерна и проверять содержимое. И обязательно отслеживать размер памяти для поиска, так и быстрее и наверняка. Да, и это, ....это не эмуляция, это реальная задачка. mak пишет: что ещё нужно для счастья?! вот реально, встроенный патчер не отключишь, к слову никак. а из-за него куча бед, падений и фризов. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 27 августа 2019 19:45 · Личное сообщение · #8 mak пишет: Можно же не ждать ответа, дали хорошие наводки я ж это и имею в виду! found = pattern.FindMem(cip, 0x1000, "83 EC ?? E9"); - это пол ответа: 1. я давал строку в чистом виде 2. где-то на глаза мне попадалось, что эти поиски автоматически доходят до конца страницы (повторный поиск этой теории к успеху не привел:s10 ![]() MEMORY_BASIC_INFORMATION вот этого и нету в скрипте и перебор страниц в карте (хоть в каком-то виде) тоже отсутствует Bronco пишет: Если просто искать паттерн, то и скриптовых команд достаточно все верно, факт наличия искомого подтверждается одной строчкой в обычном скрипте Bronco пишет: это не эмуляция, это реальная задачка эмуляция имелось в виду для упрощения понимания сути вопроса - "вот так же" (но с перламутровыми пуговицами) ![]() |
|
Создано: 29 августа 2019 08:19 · Личное сообщение · #9 |
|
Создано: 29 августа 2019 20:32 · Личное сообщение · #10 задача - поиск по всему процессу аки артмани или читэнжин, только в виде скрипта. искать есть смысл только в аллокнутых регионах памяти, к которым есть доступ стандартные функции икс64дебага предполагают, что юзер уже и так понимает где он ищет. и никаких средств для получения доступа к карте памяти процесса нет. печально, между прочим. однако и между прочим - в юзермоде винды нет структур, внятно описывающих границы выделенных процессу страниц памяти. значит, чтобы выполнять поиск "чегототам" по всей памяти процесса - надо сначала построить свою карту процесса - все регионы памяти, имеющие доступ хотя бы на чтение. для этого в цикле придётся перебрать всё адресное пространство через GetProtect, GetBase, GetSize ориентируясь на MemoryAlign. DbgMemMap - явно недоработанная часть, которая не поддерживает нативное (хз, может там какой-то хитрый метод может) перечисление страниц. Я уже ранее натыкался на костыли и недоработки питоновой обёртки, так что я думаю для опытных это не новость - там еще пилить и пилить) /*твин дефексакава закончил*/ ![]() |
|
Создано: 30 августа 2019 22:41 · Личное сообщение · #11 |
|
Создано: 31 августа 2019 04:23 · Поправил: difexacaw · Личное сообщение · #12 -=AkaBOSS=- > искать есть смысл только в аллокнутых регионах памяти, к которым есть доступ Именно так. MEMORY_WORKING_SET_BLOCK это список страниц, загруженных в рабочий набор, к которым прошла выборка. Остальные трогать не нужно. > в юзермоде винды нет структур, внятно описывающих границы выделенных процессу страниц памяти. Есть, одним сервисом возвращается дамп всей памяти ^ Code:
----- vx ![]() |
|
Создано: 01 сентября 2019 21:03 · Личное сообщение · #13 |
|
Создано: 02 сентября 2019 05:15 · Поправил: Bronco · Личное сообщение · #14 |
|
Создано: 02 сентября 2019 08:31 · Личное сообщение · #15 |
![]() |
eXeL@B —› Вопросы новичков —› X64DBG Сканер памяти (Поиск шаблона) |