Сейчас на форуме: rmn, exp50848 (+8 невидимых)

 eXeL@B —› Основной форум —› java applet
Посл.ответ Сообщение


Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 30 октября 2011 19:48
· Личное сообщение · #1

есть ява аплет, который ломиться на сервер, нужно глянуть, каике данные он шлёт. очень геморно его реверсить, т.к. при небольшом
простое java.exe киляется. максимум что я нарыл, данные уходят в сеть:

net.Java_java_net_SocketOutputStream_socketWrite0 -> WS2_32.send

всё бы хорошо, но соединение обернуто в SSL. не могу найти место, или апиху, где данные ещё не шифрованы. пните в нужную сторону.

-----
[nice coder and reverser]




Ранг: 60.6 (постоянный), 87thx
Активность: 0.060
Статус: Участник

Создано: 30 октября 2011 20:03
· Личное сообщение · #2

Поставить Charles, врубить перехват SSL, запустить аплет через SocksCap, предварительно настроив проброс через Charles.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 30 октября 2011 20:05
· Личное сообщение · #3

Kaimi проблемы с запуском могут быть, он стартует из браузера. хотя Proxifier, наверное сможет прокинуть соединение. ну как варинт попробую.

-----
[nice coder and reverser]




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 30 октября 2011 21:19
· Личное сообщение · #4

Hellspawn
а jar достать можно?




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 30 октября 2011 21:23
· Личное сообщение · #5

он там как-то хитро отдается скриптом, пока не разобрался как дернуть файлик.

-----
[nice coder and reverser]




Ранг: 3.0 (гость), 3thx
Активность: 0=0
Статус: Участник

Создано: 31 октября 2011 05:50
· Личное сообщение · #6

Если апплет запускается из браузера, то можешь попробовать stacktrace (http://www.adaptj.com/main/stacktrace). Аттач к апплету и дальше по желанию можешь либо дампить код и смотреть что шлется, либо ставить брейк и дебаггить с нужной точки.

Тулза запускается бесплатно через явовскую веб старт, если будет нужен крак для полной версии свисти через ПМ - сброшу.

Если же вопрос стоит только посмтотреть что уходит в траффике - то лучше интерсепт прокси. Я пользую burp, не забудь настроить прокси в браузере и проверить что java тоже использует настройки браузера для прокси - запусти javacpl.cpl

| Сообщение посчитали полезным: Hellspawn, Johnny Mnemonic

Ранг: 35.4 (посетитель), 15thx
Активность: 0.020
Статус: Участник

Создано: 31 октября 2011 06:55
· Личное сообщение · #7

еще можно опробовать
http://code.google.com/p/ospy/



Ранг: 85.4 (постоянный), 51thx
Активность: 0.090
Статус: Участник

Создано: 31 октября 2011 09:44
· Личное сообщение · #8

http://www.exelab.ru/f/action=vthread&forum=5&topic=19172




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 31 октября 2011 10:03
· Личное сообщение · #9

drbolsen прикольная утилитка, закинь лечилку, вроде то что нужно.

-----
[nice coder and reverser]





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 31 октября 2011 22:41
· Личное сообщение · #10

drbolsen установил, приатачился, сдампил в лог. поковырялся в консольке, нашёл selectOnRelease().
а как мне например вывалиться на обработчик по кнопке? я яву почти не знаю, как там дебажить то?

-----
[nice coder and reverser]




Ранг: 24.1 (новичок), 1thx
Активность: 0.010
Статус: Участник

Создано: 01 ноября 2011 11:22 · Поправил: RedAbishai
· Личное сообщение · #11

Можно попробовать dumpAwtEvents (если там интерфейс на AWT - смотреть нужные события), breakpoint(String clazz, String methodRegex), или когда найдёшь нужный метод - то intercept(String clazz, String methodRegex, Object advice) и поставить свой адвайс, в котором можно посмотреть/изменить аргументы метода перед его выполнением и посмотреть/изменить результат метода (в доках на http://www.adaptj.com/main/tracedocs есть пример простого адвайса).



Ранг: 3.0 (гость), 3thx
Активность: 0=0
Статус: Участник

Создано: 02 ноября 2011 06:18
· Личное сообщение · #12

RedAbishai все правильно написал.

Тут на самом деле подход зависит от разных факторов.

Если приложение не obfuscated, я бы просто дампнул jar и декомпелировал чтобы посмотреть логику, найдя нужный метод запустил бы тулзу и поставил брейкпоинт на этот метод, выглядит команда приблизительно так

breakpoint("bla.bla.classname",".method"); или даже так breakpoint("bla.bla.classname",".*") - будет останавливаться на вызове любого метода соответствующего класса.

Если нужно сдампить сам jar файл, то находим его следующими командами:

1. Получаем список тридов из консоли - threads(); выбираем индекс того трида который наш - он обычно обозначен как main и получаем ссылку на него - t=threads()[index];
2. Получаем context class loader - cl=t.getContextClassLoader();
3. Получаем path к jar файлу - print(cl.ucp.path.elementData);
4. Качаем jar из браузера и декомпилируем

Если же ты хочешь поймать через события пользовательского интерфейса - то myUIElement=selectOnEnter(); выбираешь нужный элемент - он отразится в логах консоли, не убирая мышки переключаешься на консоль через Alt-Tab и жмешь кнопку ввода. myUIElement будет содержать ссылку на выбранный элемент, дальше получаешь обработчики его событий через print(myUIElement.listenerList.listenerList);. Выбираешь нужный(случайный - методом тыка) и ставишь брейк как описано выше.

Можешь прогу или ссылку на нее дать ? Я пока свободен, гляну быстро



Ранг: 36.2 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 19 апреля 2012 16:49 · Поправил: alt76
· Личное сообщение · #13

поделитесь пожалуйста, у кого есть, StackTrace (и, если можно, кряком к нему).

(домашняя страница не доступна, в гугле нигде не нашел, нашел только веб, без самого StackTraceSetup.exe в http://web.archive.org/web/20110707083216/http://www.adaptj.com/main/download )



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 21 апреля 2012 11:59
· Личное сообщение · #14

alt76
вот ета штука не заменит раритет?
http://www.debugtools.com/rss_jdebugtool.xml



Ранг: 36.2 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 21 апреля 2012 12:43
· Личное сообщение · #15

sendersu
моя задача сходна с этим (нужно проанализировать работу класса, который создается динамически и не имеет своего файла class с байткодом)

debugger, который очень хочет исходные коды исследуемого приложения для своей работы, наврятли сможет мне помочь.


 eXeL@B —› Основной форум —› java applet
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати