Просмотр полной версии : запись значения в регистр
Lance_Sterling
07.06.2025, 19:44
Мне нужно записать значение 0x10E00 в инструкцию MOV W0, #imm, чтобы увеличить размер структуры
Но 0x10E00 — это больше чем 16 бит, и поэтому не помещается в одну инструкцию MOVZ без сдвига.
Чтобы корректно записать его в W0, нужно две инструкции (MOVZ и MOVK), то есть 8 байт кода
Но если я запишу 8 байт, я затру следующую инструкцию, которая нужна для создания пула
Что делать в такой ситуации?
https://forum.antichat.xyz/attachments/28612638/
DarkPhantom
07.06.2025, 20:01
Мне нужно записать значение 0x10E00 в инструкцию MOV W0, #imm, чтобы увеличить размер структуры
Но 0x10E00 — это больше чем 16 бит, и поэтому не помещается в одну инструкцию MOVZ без сдвига.
Чтобы корректно записать его в W0, нужно две инструкции (MOVZ и MOVK), то есть 8 байт кода
Но если я запишу 8 байт, я затру следующую инструкцию, которая нужна для создания пула
Что делать в такой ситуации?
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Ну это единственное, что пришло в голову
Lance_Sterling
07.06.2025, 20:04
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Ну это единственное, что пришло в голову
все равно ведь используем две инструкции, получается 8 байт, а мне надо 4
moreveal
07.06.2025, 22:25
я сам с арм64 не сталкивался, но обычно в рантайме патчат, ставя джамп хук тот же - копируешь ориг инструкции в заранее выделенное место, добавляешь туда еще свою инструкцию, и прыгаешь обратно, тем самым ничего не затирая
Lance_Sterling
07.06.2025, 23:29
я сам с арм64 не сталкивался, но обычно в рантайме патчат, ставя джамп хук тот же - копируешь ориг инструкции в заранее выделенное место, добавляешь туда еще свою инструкцию, и прыгаешь обратно, тем самым ничего не затирая
дай пример jmp хука на arm64, если есть, с копированием ориг инструкций (как в kthook)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot