И ещё. Получается, чтобы поместить нужный для редактированияclass файл в rms, необходимо сначала в редакторе создать файл точно такой же длины и сохранить его. Затем отрезать от него первые 64 кб и приклеить их к этому class файлу, т.к. в этом заголовке содержится длина файла.
Ну тогда давай уберем "стере" из "Сколько стере" и вместо пробела поставим вопросительный знак. Открываем файл, в котором мы заменили пару байт на русскую букву В. Дальше "Позиция", вводим 2897, курсор слева на экране устанавливается на 19, дальше нажимаем на 1 и видим число 25.
Кроме длинны файла в тех 64кб по идее должен быть записан id этого файла,по которому он определяется. Сделал бы автор сохранение файлов в фс,как бы все упростилось.
ВНИМАНИЕ!!! Поскольку это очень важно, пишу пояснение. Каждая строка в ява классах перед началом самой строки имеет два байта, в которых указывается длина этой строки или, проще говоря, число байт, в которых поместится эта строка. Так что когда меняешь (увеличиваешь или уменьшаешь) саму строку, нужно ОБЯЗАТЕЛЬНО менять и число в этих двух байтах, иначе прога после сборки не будет работать.
Но если длина строки меньше 256 байт, то первый байт всегда имеет нулевое значение. Можете проверить после перехода на позицию 2897, нажав на 4, курсор сместится на один байт назад, нажав на 1 вы увидите что этот байт содержит 0. Нажав на 6, возвращаемся на прежнюю позицию. Нажимаем на 1 и видим число 25. Это значит что следующая дальше строка имеет размер 25 байт.
А поскольку мы хотим уменьшить строку, значит надо уменьшить и это число 25. Стираем его и вводим 15, нажимаем на OK и видим что слева под курсором 19 изменилось на 0F. Дальше нажимаем 3 раза на 8 и устанавливаем курсор на 20. 20 (32 в десятичной) - это пробел. Нажимаем 1 раз на 6 и устанавливаем курсор на D1. Дальше нажимаем на софт, выбираем "Удалить к-во поз.", вводим 10, нажимаем OK. Видим что 10 байт исчезли и под курсором 01.
Нажимаем 1 раз на 4 и возвращаемся опять на 20, нажимаем на 1 и видим 32, стираем его и вводим 63, OK, видим что 20 изменилось на 3F, а левее видим что пробел заменился на ?. Всё! Дальше Menu, "Сохранить в..", copy_file1 например, на левый софт "Сохранить". А дальше уже известные вам операции, запаковка, проверка работоспособности проги, проверка изменилось ли.
11 фев 2007 в 16:53