Сейчас на форуме: jinoweb (+4 невидимых) |
eXeL@B —› Программирование —› Windows 10 + WOW64 + NtCreateThread |
Посл.ответ | Сообщение |
|
Создано: 23 апреля 2020 05:14 · Личное сообщение · #1 С некоторых пор в Windows 10 функция NtCreateThread из под WOW64 научилась создавать потоки в нативных x64 процессах, но зато разучилась их создавать в таких же WOW64 процессах Кроме как патчем в памяти это не исправить ни как(jz -> jnz) В моем GhostDbg намного удобнее NtCreateThread, чем NtCreateThreadEx потому буду городить огород c "Heaven’s Gate". Пример(Не работает на Win10 10240 и Windows 7): Code:
|
|
Создано: 23 апреля 2020 14:32 · Поправил: Boostyq · Личное сообщение · #2 Vicshann пишет: из под WOW64 научилась создавать потоки в нативных x64 процессах Недавно эксперементировала с этим Из 32 битного процесса нельзя создать поток в 64 битном, даже если влезает адрес в DWORD, если только не найти 64-битную ntdll и из нее вызвать 64-битную версию Вот пример кода, который я делала для маппера, тестила на вм 10 1903, у меня во всех комбинациях маппера и цели успешно исполнялся код такой разрядности как целевой процесс (т.е. на wow64 32-битный) Code:
П.с. не совсем ясно что за память у вас выделяется, если это под шеллкод, так память не исполняемая, и я на всякий случай в 64-битном процессе из wow64 тоже выделяю 64-битной версией И если по описанию вы хотите создать поток в wow64 из wow64, то зачем вообще через heaven's gate лезть? ----- В облачке многоточия |
|
Создано: 23 апреля 2020 15:39 · Личное сообщение · #3 |
|
Создано: 23 апреля 2020 16:57 · Личное сообщение · #4 Vicshann пишет: Нужно именно wow64 из wow64, но там баг в Wow64NtCreateThread и в Wow64pCpuInitializeStartupContext, как оказалось. Вот так прекол, выходит на 64-битной винде 32-битный процесс не может создать удаленный поток, щас разом упало куча софта и я вместе с ними на пол катаясь от смеха. Vicshann пишет: В x64 процессах потоки создает из под wow64, проверял Х#й его знает что ты там проверял, но 32-битный процесс не может через стандартную функцию создать поток в 64-битном априори, для адреса нужно 64-бита, а у него 32-битные указатели. Vicshann пишет: А heaven's gate нужен что бы пропатчить баг в x64 памяти wow64.dll Пааанимаю, лечитесь. ----- В облачке многоточия | Сообщение посчитали полезным: Alchemistry |
|
Создано: 23 апреля 2020 17:16 · Личное сообщение · #5 |
|
Создано: 23 апреля 2020 19:59 · Поправил: Boostyq · Личное сообщение · #6 Vicshann пишет: уже ни кем кроме меня не используется Vicshann пишет: в Windows 10 функция NtCreateThread из под WOW64 научилась создавать потоки в нативных x64 процессах То есть мелкомягкие добавляют новый функционал, но забивают на тесты? Зарепортите им баг тогда, либо используйте Ex версию ----- В облачке многоточия |
|
Создано: 24 апреля 2020 00:56 · Личное сообщение · #7 |
|
Создано: 24 апреля 2020 01:37 · Личное сообщение · #8 |
|
Создано: 24 апреля 2020 02:33 · Личное сообщение · #9 |
|
Создано: 24 апреля 2020 03:18 · Личное сообщение · #10 Сделал отдельный проект для теста, ID процесса в командной строке нужно указать b17b_24.04.2020_EXELAB.rU.tgz - Win10WowCrtThreadBug.7z |
|
Создано: 26 апреля 2020 20:38 · Личное сообщение · #11 |
|
Создано: 27 апреля 2020 08:00 · Личное сообщение · #12 |
eXeL@B —› Программирование —› Windows 10 + WOW64 + NtCreateThread |