Windows api MessageBoxA не может работать с чистым стеком?

Я хочу вызвать функцию с чистым стеком, который может отрезать стек вызовов.

==================== начало псевдокода =========================== =====

stackBaseAddress = найти базовый адрес стека с помощью NtCurrentTeb

stackCurrentSize = stackBaseAddress — esp

резервный стек

memset (esp, 0, stackCurrentSize)

MessageBoxA (0, «1», 0, 0) <== здесь проблема, MessageBoxA завершается ошибкой, а GetLastError == 0

восстановить стек

============================= конец псевдокода =================== ==================

если нет memset (esp, 0, stackCurrentSize), все идет хорошо.

так что я думаю, что в стеке должно быть что-то, что нельзя стереть, но что?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]