|
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
|
||||||
Не работает поиск сигнатуры16.03.2012, 21:03. Показов 7430. Ответов 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
сигнатуры Сигнатуры Неправильные сигнатуры МК Антивирусные сигнатуры Отправка сигнатуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|