Вниз  J2me Loader
- 2.01.2014 / 14:22
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
kiriman (02.01.2014/08:30)
Пришла в голову другая идея, которая решит проблему со стеком. Но придется написать более умный анализ кода. * меня кто-нибудь понимает? *
*нет но очень интересно*
__________________
 わからない!!
- 2.01.2014 / 16:42
kiriman
  Пользователь

kiriman 
Сейчас: Offline
vl@volk, Нет. То, что я делаю и так сама простота.

Изменено kiriman (2.01 / 16:53) (всего 1 раз)
- 2.01.2014 / 22:14
Naik
  Пользователь

Naik 
Сейчас: Offline
vl@volk, так я через dx и перегоняю классы в dex, но как им заменить метод не представляю
- 2.01.2014 / 22:17
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Naik, http://pastebin.com/dqcwHJ1Z
тестируй!
рефакторить отказываюсь! :-D
я тестил на этом классе:

Изменено kiriman (2.01 / 22:19) (всего 1 раз)


Прикрепленные файлы:
Main.class (0.7 кб.) Скачано 633 раза
- 2.01.2014 / 22:33
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Naik, если я скачал исходники dx, то посмотрю что там, может чего придумаю
__________________
 знает толк
- 2.01.2014 / 22:39
kiriman
  Пользователь

kiriman 
Сейчас: Offline
  1. } else {
  2. // Заодно оптимизируем класс удалив к ***м ненужные аттрибуты
  3. System.out.println("Fuck!!!");
  4. }
Вот эта ветвь в моем коде вообще сомнительна, потому что кол-во аттрибутов записано в файле класса..
Так что там лучше поставьте 1 в записи кол-ва.
Это здесь:
  1. System.out.println("Loading method: " + cpool.elementAt(name_index - 1));
  2. dos.writeShort(name_index);
  3. dos.writeShort(dis.readShort()); // Дескриптор
  4. int count_attr = dis.readShort();
  5. dos.writeShort(1);
Ну и цикл тогда можно убрать.

Изменено kiriman (2.01 / 22:41) (всего 4 раза)
- 2.01.2014 / 23:11
kiriman
  Пользователь

kiriman 
Сейчас: Offline
А вообще я думаю, что класслоадеру пофиг на аттрибуты. Ибо класс, который я кинул в пример имеет их несколько. Те же stackmap и code. Но после изменения микроэмулятор его запустил спокойно. Так что можешь ничего не менять

Изменено kiriman (2.01 / 23:20) (всего 1 раз)
- 2.01.2014 / 23:30
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Хотя я ща бред написал, я сонный(
- 3.01.2014 / 02:21
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Проверил, работает на классах aNMPWR_v2_0.jar
http://pastebin.com/dFfq9ge4
- 3.01.2014 / 04:28
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Не пашет для NewClass.class.getClass().getResource...
И некоторые классы думается мне не обработаются верно, но.. Naik, запили тестовую версию эмулятора с моим кодом! В дальнейшем может быть перепишу.
Кстати о microemulator.. Посмотри как там сделано :) Я не особо шарю в загрузке классов, может что поможет в сорцах

Изменено kiriman (3.01 / 04:39) (всего 1 раз)
Наверх  Всего сообщений: 224
Фильтровать сообщения
Поиск по теме
Файлы топика (23)