eXeL@B —› Вопросы новичков —› помогите пожалуйста с java |
Посл.ответ | Сообщение |
|
Создано: 28 октября 2017 23:30 · Поправил: vitalik9 · Личное сообщение · #1 Имеется программа написанная на java. Открыл с помощью архиватора, взял необходимый класс. При помощи AndroChef Java Decompiler 1.0 декомпилировал. Вопрос по коду. Фрагмент кода который интересует. private void f() { HashMap var1 = new HashMap(); var1.put("key", this.e); var1.put("hwid", this.d); long var2 = System.currentTimeMillis(); var1.put("timestamp", String.valueOf(var2)); d var4 = c.a(a + "/api/v1/login", var1, (Proxy)null); JSONObject var5 = new JSONObject(var4.a()); if(var5.has("access") && var5.get("access").equals("true") && var5.has("context")) { String var6 = var5.get("context").toString(); String var7 = this.a(var6.replaceAll("[\]\[]", ""), var2); this.a(new JSONArray(var7)); this.i(); this.g(); this.j(); this.o(); this.n(); this.m(); this.l(); this.h(); this.k(); } else { System.exit(-1); } } ответ с сервера приходит вот таким http://prntscr.com/h39f2z но программа упорно не запускается. Помогите пожалуйста |
|
Создано: 28 октября 2017 23:49 · Личное сообщение · #2 |
|
Создано: 29 октября 2017 11:54 · Личное сообщение · #3 |
|
Создано: 29 октября 2017 12:32 · Поправил: -=AkaBOSS=- · Личное сообщение · #4 там должны быть какие-то данные в формате часто встречается ситуация, когда данные десериализуются напрямую в какой-то класс. по приведенному куску кода угадать невозможно. |
|
Создано: 29 октября 2017 12:55 · Личное сообщение · #5 вот сам файл class декомпиляцию делаю прогой AndroChef Java Decompiler вопрос галочку нужно ставить 8ebd_29.10.2017_EXELAB.rU.tgz - Screenshot_1.png Добавлено спустя 1 минуту файл 55f3_29.10.2017_EXELAB.rU.tgz - a.class |
|
Создано: 29 октября 2017 13:56 · Поправил: -=AkaBOSS=- · Личное сообщение · #6 ну вот и приплыли Code:
таким образом в принципе можно запихнуть что угодно и куда угодно, в том числе важные для алгоритмов константы и проч. без валидных данных далеко не уедешь |
|
Создано: 29 октября 2017 22:45 · Личное сообщение · #7 |
|
Создано: 30 октября 2017 00:29 · Личное сообщение · #8 |
|
Создано: 30 октября 2017 00:55 · Личное сообщение · #9 |
|
Создано: 30 октября 2017 08:26 · Личное сообщение · #10 |
|
Создано: 31 октября 2017 12:22 · Личное сообщение · #11 |
|
Создано: 31 октября 2017 13:01 · Личное сообщение · #12 |
|
Создано: 31 октября 2017 14:51 · Поправил: vitalik9 · Личное сообщение · #13 -=AkaBOSS=- пишет: ну вот и приплыли Code: private void a(JSONArray jSONArray) { Class class_ = null; for (Object e2 : jSONArray) { try { Class class_2 = Class.forName(e2.toString().split(":")[0]); if (class_ == null) { class_ = class_2; continue; } Object obj = class_2.newInstance(); String string = e2.toString().split(":")[1]; Field field = class_.getDeclaredField(string); field.setAccessible(true); field.set(class_, obj); } catch (ClassNotFoundException var5_6) { var5_6.printStackTrace(); } catch (IllegalAccessException var5_7) { var5_7.printStackTrace(); } catch (InstantiationException var5_8) { var5_8.printStackTrace(); } catch (NoSuchFieldException var5_9) { var5_9.printStackTrace(); } } } таким образом в принципе можно запихнуть что угодно и куда угодно, в том числе важные для алгоритмов константы и проч. без валидных данных далеко не уедешь чем Вы декомпилировали? перепробовал разные программы все показывают NULL |
|
Создано: 31 октября 2017 15:53 · Личное сообщение · #14 vitalik9 пишет: чем Вы декомпилировали? Основные движки java декомпиляторов можно тестировать здесь: javadecompilers.com, сам пользуюсь когда нужно разобрать какую то мелочь. Но с такими знаниями лучше забить или заплатить кому то. | Сообщение посчитали полезным: sefkrd |
|
Создано: 01 ноября 2017 05:46 · Личное сообщение · #15 |
|
Создано: 03 ноября 2017 09:35 · Личное сообщение · #16 одна просьба если кто сможет помочь нужно установить значение var1.put("timestamp", String.valueOf(var2)); равное 1509342226771 чтоб оно было фиксированным d1c4_03.11.2017_EXELAB.rU.tgz - a.class |
|
Создано: 03 ноября 2017 11:05 · Личное сообщение · #17 |
|
Создано: 14 февраля 2018 10:03 · Личное сообщение · #18 |
|
Создано: 14 февраля 2018 10:54 · Личное сообщение · #19 |
|
Создано: 14 февраля 2018 12:09 · Поправил: vitalik9 · Личное сообщение · #20 |
|
Создано: 14 февраля 2018 12:33 · Личное сообщение · #21 |
|
Создано: 20 февраля 2018 09:51 · Личное сообщение · #22 private void e() { final HashMap<String, String> hashMap = new HashMap<String, String>(); hashMap.put("key", this.b); hashMap.put("hwid", this.a); hashMap.put("cs", d.b().orElse("unavailable")); hashMap.put("timestamp", String.valueOf(System.currentTimeMillis())); hashMap.put("profile", i.a().d()); final JSONObject jsonObject = new JSONObject(com.skypetalker.client.g.b.a(d() + i.a("server.login.path"), (Map)hashMap)); if (jsonObject.has("access") && jsonObject.get("access").equals("true")) { final JSONObject jsonObject2 = jsonObject.getJSONObject("properties"); for (final String s : jsonObject2.keySet()) { com.skypetalker.client.c.a.a().a(s, jsonObject2.getString(s)); ответ приходит в таком формате j8eRHvghgZSfqsavlbA5R5DZVgJTZJ6/Bg4aeTDr1WkoTKxfQtz04HFg2X3nmWeW+lsSEd4LiQc5Aty9Vo3Q9O9bl3p0k41Gh1hZ0uq1b58GSuTC2VcHCDu/8t8mqqLCQtVNQAJt4EhaIRnt52i3DQufDWJF3GXbuKTtcmxiKv/RUgr9gKNZJyAnm9su+F80QzrpiIb/ubr0RPnA9pzfE3+mgfihnZWcFEAzqNCQRU7/Ro6crw/0tAtqMW20kNWRGSCY+NBS7A7t+rV85ttC2TTn1cIA2djXdbHcjRGMwWSdLcnM/X5cqjHWT6CEzwEM7RsMuDH7VdwEPeJA17FJv0dIi20N26gd9KEU/itBEg1LTX1BhcixEqU6W02MV8NvN+/3UeZXvpbu3tb7/Dbgq4tTy3YRFjfGoJSOZujPWVojt39jksHaK0ABSICiIqJnfcB0Hh6YSXM1YoNSC4hFM+q9PBoo3BZV0/in/NDH3Tv1nWCvJavJ2pUK8RE9o9rPRQvKYzcNLZDQoBIwJS+kKgEQWHYNrdN+CKFyE/ep4F8R4yfA3kBMA0MkcItuU4xcnoyT8TvI3ger09/8vwgbnGRX8Iok/o2eae6/ynsSZbxY3iZhhsl7Og0FcaOUkF9vp2RUuJx7v/d28wOMnqXJElvKzco0Q5GgEtPxAMILAy6Lk2hqVXLURePB75yfzSqZjKxWtH4jN5xC2p9rVyKRZbypdxnORvwKnQcUmYHUnRkSX/7JJCsZOYu0JA/HW7KNrPQQF6fO6M4+FMMuCWHSlej+uEfDglji2JgGNE7H2RTo9zgtJYAU3SwUNCU5ZPjBCRXG+aJ93rJZ64mfY+ijLG0h2fTNLD6CuhM3m38776eQDhhIFwO76IqbLuYz5ia2U57JBk/8x3OGrE3+zc3v7RwqkAAJw3emZk99gdey6ynnpVKGKpbg0dqQQUG+fazu34Dq863PtJFl++c/15K+/STU5ogMorvO6E0G/6sv3oeNhaYvynkhMvsm8CvzvguxTc+bndOmMQBlpKIl/Rd6wgQ292XLBkEkZxjMb5ZtbTKMQH4uUo/+xTJ7BJrCEmIoGk4ea6pbALU/XML4bJbqRO/PGbZo1izO+/5KCe/HeXPKnaC89VdiqT8RI4X4Gg3DaE9857cnC/EPDMKTXHJNUR4cr+kDuJ8iG8x2Biw8uxSm0hzjT6RwG8i5guoSb2jeFWUJkYQ7vnV7SBv5hK3zsRfXcfnBwSIa+ZRwMeE6ys2b2Sk95VVtRwr0xyeBXkteJBoVx+4ml4c= судя по проверке ответ должен придти "true" проверял программой HttpAnalyzerStdV7 в каком это формате? какой программой можно получить ответ в правильном формате? |
|
Создано: 20 февраля 2018 10:08 · Личное сообщение · #23 vitalik9 пишет: в каком это формате? бляхо, если ты не видишь, что это base64, то что ты там вообще ковыряешь? наугад, что-ли? ----- SaNX | Сообщение посчитали полезным: VodoleY |
|
Создано: 20 февраля 2018 10:14 · Поправил: VodoleY · Личное сообщение · #24 |
eXeL@B —› Вопросы новичков —› помогите пожалуйста с java |