![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
![]()
Требуется найти адреса двух функций в процессе. Для этого мне посоветовали создать сигнатуру и по ней искать. Но составить сигнатуру мне так и не удалось (только нервные клетки сгубил). Каким образом ее можно сделать? Пожалуйста, объясните.
Полный исходный код искомых функций имеется, при необходимости выложу. |
![]() |
![]() |
![]() |
#2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Имеется ввиду наверное то, что вам стоит скомпилить данные функции, открыть их (его .exe, .dll....) в WinHex (например). Найти например по меткам каким либо (данные свои описать и т.п.) скопировать их код, например первые 64 байта или т.п. Вот вам и сигнатуры.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
![]()
BOBAH13
Вот на этом-то я мозг и сломал. Эти функции написаны таким образом, что их отдельно не скомпилировать. Куча собственных типов, структур от структур, которые я сойду с ума вырезать. А как обрежу конец функции - этот компилятор-оптимизатор недоделанный обязательно что-то вырежет. Надеялся, что найдется способ полегче. P.S. Пока писал - нашел! Взять исходники, подменить exe на dll, выставив нужные функции в экспорт, затем через API-функции найти их адрес и на лету попереть машинный код ![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
![]()
Есть ли какие-то функции для поиска сигнатуры в памяти процесса?
Последний раз редактировалось Zlyden'; 28.02.2010 в 23:28. |
![]() |
![]() |
![]() |
#5 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Со словом дизассемблер знакомы ? Поищите, все найдете.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
![]() |
![]() |
![]() |
![]() |
#7 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
почитайте тут, чуть ниже там есть
http://www.xakep.ru/magazine/xs/057/084/1.asp |
![]() |
![]() |
![]() |
#8 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
А я имел ввиду, чтобы
1. откомпилить ваши функции 2. открыть в дизасме готовый ехе (или что там у вас) 3. найти нужные функции по коду asm 4. найти соответствующие адреса этих функций в exe 5. копи-паст готового hex-кода - то бишь ваших сигнатур |
![]() |
![]() |
![]() |
#9 | ||
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
![]() Цитата:
Цитата:
Да, и еще вопрос. Я получил сигнатуры с помощью скомпилированной dll, но когда я искал этот код в .ехе, я обнаружил очень похожий - первые 9 байт совпадали 100%, остальные байты совпадали 60х40. Это так и должно быть? Я имею ввиду, что это зависит от компиляции, и при разных настройках компилятор реализует функцию по-разному? Последний раз редактировалось Zlyden'; 01.03.2010 в 17:55. |
||
![]() |
![]() |
![]() |
#10 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
1. Да. Разные настройки компилятора - разный генерируемый код.
2. Для чтения и записи в память другого процесса - OpenProcess, ReadProcessMemory, WriteProcessMemory - see MSDN |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считать значение из памяти чужого процесса | EvgenyZ | Win Api | 2 | 27.11.2009 09:29 |
Чтение данных из памяти процесса (need help) | lexastik | Win Api | 10 | 26.02.2009 20:50 |
Редактирование памяти процесса (Delphi) | Air | Помощь студентам | 4 | 17.10.2008 15:19 |
Редактирование памяти процесса | Air | Win Api | 6 | 16.02.2008 20:15 |