Synchronize работает только с потоком MainThreadID (в котором происходит загрузка dll). Ты же создаешь Application.Handle в доп.потоке и соотв-но...
l_inc Ну ежели углубляться в тонкости, то само собой разумеется, что lock может\должен блокировать доступ к памяти только после завершения...
Достали уже эти страшилки про невыравненные адреса. Ладно бы речь шла об обязательности\необязательности выравнивания вообще (десятков, сотен...
Rel Нужно учитывать особенности файловой системы, в данном случае (видимо) NTFS: см. в мсдн SetFileValidData и пояснения в двух словах, как...
Отвечаю на конкретный вопрос - приведенный пример вообще совершенно "дебильный" и не решает проблем с выравниванием, о которых вы тут так...
Mika0x65 Это тебя не туда понесло :) Тебе и по русски и по аглицки объяснили, что по отдельности операции чтения и записи (выравненных операндов)...
x86 гарантирует атомарность выполнения команды mov для выравненных данных. Соотв-но префикс LOCK используется только для команд, которые должны...
С чего это ты взял ? Хуки, связанные с виндовыми сообщениями, вызываются в момент вызова потоком Get\PeekMessage или передачи сообщения в оконную...
Sercher Кто ж так делает ?! Какой смысл хранить кучу инфы о свободных блоках в каких-то внешних структурах, если ее можно хранить в самих этих...
MSoft qqwe Насколько я понимаю, сама задача #1 предусматривает только один пробег (просто получение очередного квазислучайного числа, отличного...
Если перехват делается сплайсингом (а не через таблицу импорта), то - да. В частности, если юзаешь detours, то - да
Если юзаешь detours, то то там все это реализовано и расписано как юзать (см. ф-ю DetourCreateProcessWithDll в мане к detours или, например, тут)
Выделять память через calloc скорее всего безопасно, поскольку в "нормальных"=неэкзотических реализациях std::string конструктор по умолчанию...
gorodon Под XP SP2 очень даже effective. В "древних" мсдн времен w2k тоже никаких подобных приписок не было. Поэтому либо это "враки", либо...
Если пропускать вообще все #DB то можно нарваться на древнейше-примитивнейший антиотладочнй трюк с вызовом int3 в самой проге - если отладчик его...
Это как-бы "хорошо известно" ;) О том, что это спец-брик для отладчика у Руссиновича сказано (в описании создания процесса). Да и на "бытовом...
KeSqueer Первый брейк, генерируемый в ntdll.DbgBreakPoint, предназначен именно отладчику, и соотв-но в ответ на него нужно слать DBG_CONTINUE
Ты еще не озвучил вразумительного алгоритма, а уже о каком-то супер-выигрыше говоришь. В общем сл. после конца строки могут идти не только другие...
:offtop: Самый оптимальный вариант как по размеру, так и по скорости - экспортировать перечисленные функции из ntdll :D
Это все - implementation specific и может зависеть как от компилятора, так и от размера выделяемого блока. Для гарантированного выравнивания нужно...
Имена участников (разделяйте запятой).