Для программы обфускации, которую я пишу на Java, мне нужно найти способ получить значение по определенному адресу. Например, в программе, которую я открыл в шестнадцатеричном редакторе, по адресу 0000001F - это шестнадцатеричное значение «00». Кроме того, возможно ли записать на определенный адрес памяти? Например, записывая 0000001F и меняя его с «00» на, например, «FF»Как получить значение с адреса с помощью Java?
ответ
Чтобы ответить на ваш первый вопрос, вы можете открыть файл в виде двоичного потока и прочитать все, что вы хотите от него. Это не сильно повлияет на загрузчик классов, но если у вас есть пользовательский загрузчик классов, который манипулирует файлом и преобразует его во время выполнения в класс, который действителен и загружен JVM, это, безусловно, теоретически возможно. Интересно, в чем дело, поскольку сам загрузчик классов не был бы запутан таким образом.
Чтобы ответить на второй вопрос, вы не можете напрямую написать адрес памяти с Java. Вы можете вызвать функцию через JNI, которая может это сделать (вне распределения памяти JVM).
Это звучит так, как будто вы используете неправильный язык для того, что хотите.
Вы используете неправильный язык. C или C++ - лучший выбор, потому что вы можете легко вызвать библиотеки операционной системы (в большинстве систем) и попытаться получить доступ к памяти в определенном месте.
Большинство POSIX-совместимых операционных систем реализуют mmap, что позволяет сопоставлять память в определенном месте в текущем адресном пространстве процессов.
- 1. Как получить значение JSON с помощью Java
- 2. получить значение с URL-адреса с помощью php
- 3. Получить значение с URL-адреса с помощью javascript
- 4. Как получить значение с URL-адреса после/
- 5. Как получить все IP-адреса в сети с помощью java?
- 6. Как получить адрес MAC-адреса хоста с помощью Java 5?
- 7. Получить значение тега XML с помощью java
- 8. Как читать значение с абсолютного адреса с помощью кода C
- 9. Как получить возвращаемое значение с помощью __cyg_profile_func_exit?
- 10. Фильтровать URL-адреса с помощью Java
- 11. Получить значение атрибута из удаленного URL-адреса с помощью jQuery
- 12. Как получить строку с адреса?
- 13. Node.js получить значение с конца URL-адреса
- 14. Как получить значение href с помощью JS?
- 15. Как получить значение переменной с помощью строки
- 16. Получить контент защищенного паролем URL-адреса с помощью Java 8
- 17. получить значение с URL-адреса - jsp
- 18. Невозможно получить значение с URL-адреса
- 19. Как получить значение из JSON с помощью Java
- 20. Как получить значение элемента XML с помощью Java?
- 21. Как получить значение Корея Характер из свойств с помощью Java
- 22. Как получить значение переменной из HTML с помощью Java-кода?
- 23. Как получить значение элемента из ответа SOAP с помощью Java?
- 24. как получить значение из договора солидности с помощью Java
- 25. Как получить значение SAME XML-тега byStaX с помощью java?
- 26. Как получить значение элемента из json с помощью java?
- 27. как получить значение по ссылке подсчета с помощью Java
- 28. как получить одно значение с помощью куки в Java Script
- 29. Java - Отражение - Как получить @RequestHeader значение с помощью отражения
- 30. Как получить значение узла из XML с помощью java
Когда вы говорите, что записываете на определенный адрес памяти, вы имеете в виду в текущем процессе? Вы не сможете сделать это на Java, так как ваш код будет ограничен для запуска под виртуальной машиной. Я уверен, что вы это уже знаете, поэтому я, возможно, неправильно понял этот вопрос. – Gangadhar
Вы пишете обфускатор на языке, который вы не знаете достаточно хорошо, чтобы знать, что прямой доступ к памяти недоступен без собственного кода? Интересно. –