![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: -1 Всего: 4 |
Так то все стало понятно отлов появления на панели задач сделал, а как теперь в тестовом приложении словить появление окна формы.
Код прилагаю. Да еще без ide среды запускаешь проект ошибка обращения к памяти dll вылетает. Это сообщение отредактировал(а) tigger - 20.2.2007, 17:52 Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
tigger, основное твое непонимание:
CreateFileMapping создает область памяти. MapViewOfFile - отображает эту область в адресное пространство твоего процесса. т.е. ты не должен выделять память для ArrHide, и работать с этим массивом нужно после CreateFileMapping/MapViewOfFile. причем в схеме, которую я приводил, это вроде как достаточно очевидно. вобщем, в dll у тебя правильно сделано, если убрать GetMem. относительно массива pid'ов: делай его размер на один элемент больше и последний эл-т делай = 0. в dll отловишь конец массива именно по этому нулевому эл-ту. StopHookProc вызываешь неинициализированный - это остался "хвост" от прошлой версии dll. сделай обычную процедуру с таким же именем:
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
+ ПОКА не будет сделано UnmapViewOfFile, данные, что ты поместил в отораженную область памяти у себя в процессе, будут недоступны другим процессам(читай-хукам в других процессах), AFAIK.
p.s. хотя кажется я гоню) но главное не забыть про синхронизацию Это сообщение отредактировал(а) MetalFan - 20.2.2007, 22:16 -------------------- There are always someone smarter than you... |
|||
|
||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: -1 Всего: 4 |
Я не понял почему этот код не отлавливает появление главного окна в моем тестовом приложении.
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
потому, что он с кучей ошибок(часть которых тебе указали) и, как следствие, не является рабочим. ты определись, что ты хочешь: сам что-то понять и сделать или чтобы за тебя все сделали, а ты бы только вставил "if count > 2 then ShowMessage('это demo-версия')"? - если последнее, то я - пас. |
|||
|
||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: -1 Всего: 4 |
Спасибо за ответ.
Это сообщение отредактировал(а) tigger - 22.2.2007, 12:32 |
|||
|
||||
MetalFan |
|
||||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
причеши код, а?
честно говоря, с кодом, написаным ТАКИМ стилем ковыряться нет никакого удовольствия и/или желания( если приведешь в читаемый вид, то посмотрю ;)
трудно чтоли отформатировать так: ??
хотя зачем столько exit'ов и проверок?
з.ы. добавлю - ошибок просто масса... причем порой из-за ужасного кода -------------------- There are always someone smarter than you... |
||||||
|
|||||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: -1 Всего: 4 |
MetalFan посмотри причесал вроде бы. Какие там ошибки там кода то мало я ничего не вижу?
Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
tigger, ММ.. что причесал? не вижу никакого причесывания.
ладно, в кратце по ошибкам. в dll: 1) где выделяется/освобождается память под PHookRec? 2) почитай( в мсдн например) как правильно работать с хуком WH_CBT. у тебя бред написан, imho 3) в DllEntryPoint что-то тоже както неочень хорошо написано. проведи рефаторинг кода или забрось программирование... код написан просто УЖАСНО. 1) код отформатирован абсолюьно нечитаемо и не наглядно 2) названия локальных/глобальных переменных/полей классов ничем не отличаются 3) весь код в классах форм "свален" в обработчики событий... 4) и т.д. и т.п. з.ы. былоб время, причесал бы немного твой код. но время=деньги... если хошь, могу баксов за 10-20 довести до рабочего состояния твой проектик ;) Это сообщение отредактировал(а) MetalFan - 21.2.2007, 18:34 -------------------- There are always someone smarter than you... |
|||
|
||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: -1 Всего: 4 |
MetalFan, сомневаюсь что от форматирования кода зависит его работа, то что код в обработчиках это не смертельно.
PHookRec я уже не использую после подсказок "мозголома". И все таки ошибка в чем то глобальном. Всем спасибо, побольше бы таких учителей. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
зависит. еще как. ошибки гораздо проще находить. это как минимум. вот именно. на некоторые места, что содержат ошибки, я тебе уже указал. в таким образом оформленном коде их править мягкоговоря не удобно. а рефакторингом за тебя заниматься никто не будет) повторюсь: к этому еще добавлю абсолютно не оправданное использование глобальных переменных. -------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |