22.11.2020 / 01:55 | |
Askalite Пользователь Сейчас: Offline
Имя: Аскалайт Регистрация: 12.10.2011
| Цитата Pahon: Всем привет! Меня тут, чисто любопытства ради, заинтересовал один вопрос В общем, вспомнились мне былые J2ME годы и то, что в те времена частенько модили чужие приложения. Я сейчас не говорю о заменеЧерез реверс инжиринг, декомпиляцию, дизасемблер, деобфускацию, искали нужные точки и включали туда код. Ну и спецификация: http://java.sun.com/docs/books...l/VMSpecTOC.doc.html |
22.11.2020 / 03:51 | |
Devey Пользователь Сейчас: Offline
Регистрация: 14.01.2010
| Всё было ещё проще, через сборку kiriman'a декомпиляция fernflower'ом и деобфускация самим же ProGuard'ом. Можно спросить в личку, может осталость
|
22.11.2020 / 11:42 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Цитата Devey: Всё было ещё проще, через сборку kiriman'a декомпиляция fernflower'ом и деобфускация самим же ProGuard'ом. Можно спросить в личку, может осталостьСпасибо, что напомнил, у меня как раз завалялись файлы, залил на сракес https://spac1.net/files/view/fernflower-83416922/ __________________
わからない!! |
22.11.2020 / 12:58 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Только в батниках ошибки, эти строки менять надо java -jar fernflower.jar -dgs=true %~n1.jar %RESULT%\ (только декомпиляция, decompile.bat)
java -jar fernflower.jar -dgs=true %OUTFOLDER%\%~n1.jar %RESULT%\ (обфускация и декомпиляция, deobfuscate.bat)
А так по вопросу, то для сильных изменений надо иметь знания java и опыт написания программ. Дело не в софте
Изменено kiriman (22.11 / 12:59) (всего 1 раз) |
22.11.2020 / 17:56 | |
GreeNLine Пользователь Сейчас: Offline
Имя: Саша Регистрация: 02.02.2012
| Цитата Pahon: Всем привет! Меня тут, чисто любопытства ради, заинтересовал один вопрос В общем, вспомнились мне былые J2ME годы и то, что в те времена частенько модили чужие приложения. Я сейчас не говорю о заменене знаю как у вас, а я помню, что такие дела делаются с помощью ollydbg, которая умела вшивать в энтрипоинт запуск кастомной библиотеки, но я могу ошибаться. возможно не из той оперы Изменено GreeNLine (22.11 / 17:56) (всего 1 раз) |
5.02.2021 / 18:49 | |
Devey Пользователь Сейчас: Offline
Регистрация: 14.01.2010
| Мне нужен класс URLEncoder с поддержкой русских букв для j2me для енкодинга и декодинга url, если у кого остался - буду очень благодарен
|
6.02.2021 / 14:11 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Devey, только такое нашёл. и такое и такое private int getNextCharacter(InputStream inpStream, boolean UTF)
throws IOException {
int a;
try {
a = inpStream.read();
} catch (IOException iOException) {
a = -1;
}
if (!UTF || a==-1) return a;
int t = a;
if ((t | 0xC0) == t) {
int b = inpStream.read();
if (b == 0xFF) { // Check if legal
t = -1;
} else if (b < 0x80) { // Check for UTF8 compliancy
throw new IOException("Bad UTF-8 Encoding encountered");
} else if ((t | 0xE0) == t) {
int c = inpStream.read();
if (c == 0xFF) { // Check if legal
t = -1;
} else if (c < 0x80) { // Check for UTF8 compliancy
throw new IOException("Bad UTF-8 Encoding encountered");
} else {
t = ((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F);
}
} else {
t = ((a & 0x1F) << 6) | (b & 0x3F);
}
}
return t;
}
__________________
let live
Прикрепленные файлы: HTTPUtil.java (8.61 кб.) Скачано 393 раза |
7.02.2021 / 17:29 | |
Devey Пользователь Сейчас: Offline
Регистрация: 14.01.2010
| aNNiMON, спасыба
|
19.11.2023 / 22:12 | |
N0004 Пользователь Сейчас: Offline
Имя: Arthur Alunts Регистрация: 15.10.2023
| Здорово, всем. Есть у кого-нибудь рабочий исходник для создания если не существует/открытия если существует/добавления/редактирования/закрытия RecordStore? В нете нет рабочего полностью примера. Я уже запарился. Знаете зачем? "... потому, что надо было." Изменено N0004 (19.11 / 22:20) (всего 1 раз) |
20.11.2023 / 03:40 | |
SuperSystem Пользователь Сейчас: Offline
Имя: Dmitry Откуда: Киев Регистрация: 04.06.2017
| N0004, вот попробуй: import javax.microedition.rms.*;
public class DataStorage {
private RecordStore recordStore;
public DataStorage(String storeName) {
openRecordStore(storeName);
}
private void openRecordStore(String storeName) {
try {
recordStore = RecordStore.openRecordStore(storeName, true);
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
public void closeRecordStore() {
try {
if (recordStore != null) {
recordStore.closeRecordStore();
}
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
public void addData(String data) {
try {
byte[] byteData = data.getBytes();
recordStore.addRecord(byteData, 0, byteData.length);
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
public String[] getAllData() {
try {
RecordEnumeration enumeration = recordStore.enumerateRecords(null, null, false);
int numRecords = enumeration.numRecords();
String[] data = new String[numRecords];
int index = 0;
while (enumeration.hasNextElement()) {
int recordId = enumeration.nextRecordId();
byte[] record = recordStore.getRecord(recordId);
data[index++] = new String(record);
}
enumeration.destroy();
return data;
} catch (RecordStoreException e) {
e.printStackTrace();
}
return null;
}
public void deleteAllData() {
try {
RecordEnumeration enumeration = recordStore.enumerateRecords(null, null, false);
while (enumeration.hasNextElement()) {
int recordId = enumeration.nextRecordId();
recordStore.deleteRecord(recordId);
}
enumeration.destroy();
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
}
__________________
HTML - !это язык программирования |