 |

07.06.2025, 19:44
|
|
Познавший АНТИЧАТ
Регистрация: 12.01.2023
Сообщений: 1,016
С нами:
1757019
Репутация:
88
|
|
Мне нужно записать значение 0x10E00 в инструкцию MOV W0, #imm, чтобы увеличить размер структуры
Но 0x10E00 — это больше чем 16 бит, и поэтому не помещается в одну инструкцию MOVZ без сдвига.
Чтобы корректно записать его в W0, нужно две инструкции (MOVZ и MOVK), то есть 8 байт кода
Но если я запишу 8 байт, я затру следующую инструкцию, которая нужна для создания пула
Что делать в такой ситуации?

|
|
|

07.06.2025, 20:01
|
|
Новичок
Регистрация: 13.05.2024
Сообщений: 19
С нами:
1055778
Репутация:
8
|
|
Сообщение от Lance_Sterling
Мне нужно записать значение 0x10E00 в инструкцию MOV W0, #imm, чтобы увеличить размер структуры
Но 0x10E00 — это больше чем 16 бит, и поэтому не помещается в одну инструкцию MOVZ без сдвига.
Чтобы корректно записать его в W0, нужно две инструкции (MOVZ и MOVK), то есть 8 байт кода
Но если я запишу 8 байт, я затру следующую инструкцию, которая нужна для создания пула
Что делать в такой ситуации?
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Сообщение от DarkPhantom
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Ну это единственное, что пришло в голову
|
|
|

07.06.2025, 20:04
|
|
Познавший АНТИЧАТ
Регистрация: 12.01.2023
Сообщений: 1,016
С нами:
1757019
Репутация:
88
|
|
Сообщение от DarkPhantom
Попробуй использовать adrp для загрузки базового адреса , а затем add , что бы добавить нужное смещение .
Ну это единственное, что пришло в голову
все равно ведь используем две инструкции, получается 8 байт, а мне надо 4
|
|
|

07.06.2025, 22:25
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
я сам с арм64 не сталкивался, но обычно в рантайме патчат, ставя джамп хук тот же - копируешь ориг инструкции в заранее выделенное место, добавляешь туда еще свою инструкцию, и прыгаешь обратно, тем самым ничего не затирая
|
|
|

07.06.2025, 23:29
|
|
Познавший АНТИЧАТ
Регистрация: 12.01.2023
Сообщений: 1,016
С нами:
1757019
Репутация:
88
|
|
Сообщение от moreveal
я сам с арм64 не сталкивался, но обычно в рантайме патчат, ставя джамп хук тот же - копируешь ориг инструкции в заранее выделенное место, добавляешь туда еще свою инструкцию, и прыгаешь обратно, тем самым ничего не затирая
дай пример jmp хука на arm64, если есть, с копированием ориг инструкций (как в kthook)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|