31.12.2013 / 22:53 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Naik, Элементарная ошибка, завтра исправлю
|
1.01.2014 / 11:09 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| http://pastebin.com/Gt2Y8SayКлассы модифицирует как надо, но со стеком трабл появился. Хотя не как надо, он все invokevirtual в статик перепиливает Изменено kiriman (1.01 / 11:15) (всего 1 раз) |
1.01.2014 / 11:28 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Короче когда допилю работать должно Понял почему стек косячит и понял, что кое-что лишнее модифицируется. |
1.01.2014 / 13:23 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| http://pastebin.com/CMXJQf11Вот, вызов метода меняет, но размер стека все портит...(Поэтому вылетит ошибка VerifyError) Допиливайте сами |
1.01.2014 / 14:37 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Может помочь удаление 2A B6 00 02 перед нужным нам опкодом. Это getClass(): 0: aload_0
1: invokevirtual java/lang/Object/getClass()Ljava/lang/Class;
Тогда стек будет в порядке. Но надо с умом удалять, ибо между invokevirtual java/lang/Object/getClass()Ljava/lang/Class; и invokevirtual getResourceAsStream(Ljava/lang/StringLjava/io/InputStream; стоит параметр метода getResourceAsStream, который можно передать как строкой "" так и методом.. Изменено kiriman (1.01 / 14:38) (всего 2 раза) |
2.01.2014 / 08:30 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Пришла в голову другая идея, которая решит проблему со стеком. Но придется написать более умный анализ кода. * меня кто-нибудь понимает? *
|
2.01.2014 / 09:15 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Может помочь удаление 2A B6 00 02А если так делать, то лучше nop-ить, а то нарушится структура метода. Но я придумал другое Изменено kiriman (2.01 / 09:26) (всего 1 раз) |
2.01.2014 / 10:37 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| ^ Тихо сам с собою я веду беседу
__________________
let live Изменено aNNiMON (2.01 / 10:37) (всего 1 раз) |
2.01.2014 / 11:29 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| aNNiMON, Ага) В общем пока так http://pastebin.com/h00Xje8zВ скором времени допишу. |
2.01.2014 / 13:13 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| kiriman, я тебя понял, но не проще взять dex-компилятор и одним разом в dex перегнать с заменой нужных методов, и тогда все будет работать. https://github.com/android/platform_dalvik/tree/master/dxпомойму это компилятор из Java байткода в dex __________________
знает толк Изменено vl@volk (2.01 / 13:13) (всего 1 раз) |