|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||||||
Не работает поиск сигнатуры16.03.2012, 21:03. Показов 7397. Ответов 24
Метки нет (Все метки)
Доброго времени суток.
Задач - найти адрес в памяти по известной сигнатуре. В Си новичек. Перелопатил нет, из нарытого накодил:
Подскажите плз где я ошибся. Возможно у кого-нить есть пример кода для такого сканера памяти.
0
|
||||||
| 16.03.2012, 21:03 | |
|
Ответы с готовыми решениями:
24
Поиск сигнатуры в директории Поиск сигнатуры в памяти процесса Поиск сигнатуры в памяти процесса и подключение к нему |
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 17.03.2012, 03:35 | ||||||
|
Всё найдётся; но для затравки один вопрос- ты не ошибся, написав:
представление MyAddress
0
|
||||||
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||||||||||||||
| 17.03.2012, 12:10 [ТС] | ||||||||||||||
0
|
||||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.03.2012, 14:03 | |
|
Есть предположения; пока высказывать не буду, скинь мне прогу Timerocketxb
0
|
|
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||
| 17.03.2012, 14:23 [ТС] | ||
Если сможешь глянуть, файлик приатачил. Еще нашел на хабре статью, в ней и код сканера есть, только он кривой, а мои познания в плюсах на данном этапе исправить его не позволяют.... Щас читаю мануалы... Буду благодарен за любую помощь и подсказки.
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.03.2012, 14:32 | |
|
Блин, какая-то страшная программа... Чё за программа-то?
0
|
|
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||
| 17.03.2012, 14:40 [ТС] | ||
Да что попалось под руку то и взял. Маленькая игрушка. В принципе пробовал и с калькулятором винды. Через СЕ просто выбирал сигнатуру и пытался найти ее адрес. Пока результат ты знаешь. ))
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 17.03.2012, 15:18 | ||||||
|
Пока просмотри
Доступ к памяти другого процесса Добавлено через 11 минут Пока же предварительный ответ такой: ты сканируешь адреса, которых просто нет. Я щас запустил твою программу и приаттачился к ней отладчиком, наблюдаю такую картину: (адрес участка памяти и размер)
Но! Возможно этот адрес появляется в ПРОЦЕССЕ работы программы, я не знаю. Вообще откуда ты взял этот адрес?
2
|
||||||
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||
| 17.03.2012, 15:24 [ТС] | ||
|
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.03.2012, 15:45 | |
|
Интересно, а почему я не могу найти такой сигнатуры 89 BE 0A 02 00 00 E9 87 00 00 00 83 E8 00 74 12? КОГДА ИМЕННО ты приаттачиваешься к процессу? Просто: что мне нужно сделать, на какие кнопи понажимать, куда человечка переставить, чтобы она и у меня появилась?
Добавлено через 15 минут Короче чуть-чуть продвинулся, может поможет, не знаю; Timerocketxby.exe порождает stdrt.exe, который порождает окно и в адресном пространстве которого действительно присутствует такая сигнатура (правда, у меня по жругому адресу, но не суть); То есть возможно ты приаттачиваешься к stdrt.exe? Так, находждишь адрес, а ПРОГРАММНО ищешь эту сигнатуру в совсем другом процессе, Timerocketxby.exe, где её нет! Может так быть?
0
|
|
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
|||||||
| 17.03.2012, 15:59 [ТС] | |||||||
![]() Вот я блин даю... Ты прав, я аттачился к stdrt.exe Мне стыдно, что сам до этого не допер... Блин... Но всеравно, в этом случае должно было выдаться сообщение, что "Искомой сигнатуры нет", а оно постоянно лепит первый адрес. Добавлено через 6 минут Сейчас сделал так:
ЗЫ Спасибо большое за примеры... Они мне пригодятся!
0
|
|||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 17.03.2012, 16:41 | ||||||
|
Так он и скомпилится работать не будет; какой компилятор вообще это хавает? Теперь по ошибкам:
1
|
||||||
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
|||
| 17.03.2012, 18:00 [ТС] | |||
|
Добавлено через 1 час 0 минут Перелопатил приведенные тобой примеры. Там то что мне нужно, но... не могу собрать ни один проект - вываливает кучу ошибок.... Некоторые пофиксил, но этого мало... Сорри, но мне пока сложно самостоятельно разобраться... Вижу что код именно такой как нада, но как отладить? ЗЫ Компилил Microsoft Visual Studio 2010 Express
0
|
|||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.03.2012, 18:17 | |
|
Ну я не знаю, облагородь как-нибудь, уменьши по возможности, дай сюда. Попробую посмотреть. Почему я говорю попробую- я работаю преимущественно в Dev-Cpp, с MSVS (установлена) особо не дружу, но попытаться можно будет.
0
|
|
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||||||||||||
| 17.03.2012, 19:10 [ТС] | ||||||||||||
|
Я сам только обратился к плюсам, но как я понимаю MSVS как-то слишком трепетно относится к описанию функций и переменных. Код подправил согласно его требований, но
0
|
||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 17.03.2012, 21:35 | |||||||||||
|
MSVS 2008, создал пустой проект CLR. там два файла main.cpp и handle_processa.h такого содержания:
main.cpp
handle_processa.h
Там кое что подправил, убрал некоторые понты (типа заголовка окна, с котроым не хотелось возиться). А что не понравилось- что MSVS выдумывает свои функции и заставляет использовать их вместо стандартных, я говою об fopen_s вместо fopen, scanf_s вместо scanf и прочая. То есть стандартные вроде как использовать не воспрещается, но либо любуйся предупреждениями, либо используй специальный ключ компилятора, чтобы их не видеть. Куда ключ писать тоже вопрос. Короче я забил, позаменял имена функций на предлагшаемые. Компилить: "построить решение"; в общем делай. В общем MSVS факт не для консоли, для консоли Dev-Cpp
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
|||||
| 18.03.2012, 01:17 [ТС] | |||||
|
Добавлено через 1 час 19 минут Вобщем,майкрософт рулит - в 2010 и 2006 оно не собирается... Возможно я косячу, но у знакомого сишника в 2006 тоже не пошло
0
|
|||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 18.03.2012, 01:49 | ||||||
|
Поменяй, если при вызове стандартных функций будет выдавать предупреждения, то там должно быть написано типа "используйте ключ такой-то", его надо куда-то прописать, пропишешь и предупреждения не будут маячить перед глазами; fopen вызывается с другими аргументами нежели fopen_s, вот так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||||||||||||||||||
| 18.03.2012, 17:08 [ТС] | ||||||||||||||||||
|
main.cpp
handle_processa.h
main.cpp
Все отлично отработало!! Получил дамп: rez.txt
0X8b, 0Xff, 0X55, 0X8b,
0Xec, 0X83, 0Xec, 0X10, 0Xa1, 0X64, 0X40, 0Xfd, 0X00, 0X83, 0X65, 0Xf8, 0X00, 0X83, 0X65, 0Xfc, 0X00, 0X53, 0X57, 0Xbf, 0X4e, 0Xe6, 0X40, 0Xbb, 0Xbb, 0X00, 0X00, 0Xff, 0Xff, 0X3b, 0Xc7, 0X0f, 0X85, 0Xb4, 0Xb4, 0X01, 0X00, 0X56, 0X8d, 0X45, 0Xf8, 0X50, 0Xff, 0X15, 0X88, 0X12, 0Xf8, 0X00, 0X8b, 0X75, 0Xfc, 0X33, 0X75, 0Xf8, 0Xff, 0X15, 0X7c, 0X11, 0Xf8, 0X00, 0X33, 0Xf0, 0Xff, 0X15, 0X64, 0X11, 0Xf8, 0X00, 0X33, 0Xf0, 0Xff, 0X15, 0X60, 0X11, 0Xf8, 0X00, 0X33, 0Xf0, 0X8d, 0X45, 0Xf0, 0X50, 0Xff, 0X15, 0X5c, 0X11, 0Xf8, 0X00, 0X8b, 0X45, 0Xf4, 0X33, 0X45, 0Xf0, 0X33, 0Xf0, Теперь глупый вопрос.. ))) Ответ еще не искал, так-что пока спрошу.. ))) Я ведь могу дамп скидывать не в тхт, а в массив и в нем искать сигнутуру? Может есть готовый алгоритм, чтоб максимально можно было увеличить скорость поиска? Я вот тут еще подумал... Я ведь могу дампить память кусками и в них искать? Допустим нашел, как потом оттуда вытянуть адрес сигнатуры? Добавлено через 7 минут И я вот все равно как-то не пойму... если я могу делать дамп, то почему я не могу сразу искать в памяти процесса?
0
|
||||||||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||||||||||||
| 18.03.2012, 18:04 | ||||||||||||||||||
|
Ты должен озаботиться созданием массива для дампа, например дамп у тебя 100 байт и среди них ты будешь искать сигнатуру, вот объявляй массив так:
Четвёртый параметр- количество байт,то есть ты можешь просто одним вызовом все 100 байт считать и теперь они у тебя в массиве; а дельше вобще элементарно, допустим сигнатура 0Xca, 0Xfe, 0Xba,0xBE; ищешь с помощью memchr
Ну там детали надо знать всякие, например память по использованию над освободить
0
|
||||||||||||||||||
| 18.03.2012, 18:04 | |
|
Помогаю со студенческими работами здесь
20
сигнатуры Сигнатуры Неправильные сигнатуры МК Антивирусные сигнатуры Отправка сигнатуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|