XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
DioD

offline
Опыт: 45,184
Активность:
Решил на днях познать дзен, прошел где-то месяц - не получается.
Суть такая, относительно недавно мне надоело писать всякую хрень на яве и я решил лезть в самые самые "глубины", а именно при помощи ряда колдунств, волшебного класса Unsafe (который запитан не менее волшебными нативками) я задумал писать и читать память JVM "на прямую".
На базе ряда примеров которые валялись в интернетах я смог "кастить" классы в друг друга игнорируя требования верификатора (да еще так чтобы это работало) подменять методы, подменять объекты, редактировать их произвольным образом, в общем всё то что было в примерах я освоил и адаптировал под 64бита и текущую версию ява машины.
Всё это хаки и костыли, однако это существенно интереснее чем книжки "ява для чайников" от того и потому что узнаешь чтото принципиально новое (хотя никому и не нужное).
Однако в отличии от изначальных разработчиков я действовал достаточно грубыми методами, вроде брутфорса, что явно и очевидно "не торт". (хотя не факт, в статьях люди не пишут как они узнали за что отвечает объект А и какова его структура).
Позже я начал всё сильнее и сильнее зарываться в сорцы виртуальной машины, той самой openJDK от ребят из оракла.
А упёрся я в чтение и запись "локальных" переменных игнорируя безопасность изоляцию и вообще всё что только можно, на прямую.
Из статей, описания, здравого смысла и ряда других вещей я знаю, что на каждый метод, при его вызове, создаётся стекфрейм, стекфреймы хранятся на натив потоке до определённого числа (а дальше stackoverflow).
В этих самых стекфреймах и записаны локальные переменные, да еще и так, что их можно спокойно читать ровно как поля класса.
А ВОТ В СОРЦЕ JVM НАЙТИ ЭТОГО НЕ МОГУ.
кто шарит пните в нужную сторону а?
Старый 13.02.2014, 18:06
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 04:19.