Я не уверен, что это правильное место для публикации, но я потратил довольно много времени, пытаясь решить эту проблему, но не смог найти никаких решений.
Я пытаюсь проанализировать EXCEL 4.0образец макроса, введенный в https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-macros-xlm.
Во время тестирования образца я столкнулся с проблемой.Он хорошо работает на 32-битном EXCEL, но не работает должным образом на 64-битных.В конце концов, я нашел причину, а именно: VirtualAlloc
функция всегда возвращает 4 байта из 8 байтов.
Реализация здесь:
= REGISTER("Kernel32", "VirtualAlloc", "JJJJJ", "valloc", , 1, 9)
= valloc(0, 64 * 1024, 4096, 64)
Может ли кто-нибудь научить меня, что решениеявляется?Заранее спасибо.
PS Если этот вопрос не подходит для этого сообщества, пожалуйста, дайте мне знать правильное место для публикации.