Excelsior JET Java

Тема в разделе "WASM.RESEARCH", создана пользователем jakimushka, 8 ноя 2006.

  1. jakimushka

    jakimushka New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2006
    Сообщения:
    43
    В общем так: возникла у меня проблема: отследить как ведет себя приложение написанное судя по всему на джаве и скомпилированое при помощи сабжа. Первое что бросилось в глаза - то что в секции rdata исполняемого файла идет перечисление всех глобальных переменных данного приложения, хотя как мне показалось, приложение в своей работе не обращается к этим данным. Имел ли кто нибудь опыт общения с файлами подобного типа и может ли посоветовать как быть и с чего начинать?
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    jakimushka
    rdata - это обычно секция read-only data. Сюда складываются имена публичных символов (импорт и экспорт). Возможно, компилятор поместил туда имена классов/глобальных переменных, чтобы можно было вывести их при возникновении исключения, например. Откройте файл в IDA Pro и поищите ссылки на эти имена в коде.

    Ну, раз даже имена переменных попадают в экзешник, реверсировать его будет не так сложно ;) А что, собственно, нужно сделать и в чём загвоздка?
     
  3. jakimushka

    jakimushka New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2006
    Сообщения:
    43
    Дело в том что ссылок на эти имена Ида не нашла, также я ставил в ollydebug ере брикпоинты на чтение из этой секции - тоже без результатно, т. е. чтение есть, но не того чего надо. А суть вот какая: имеется покер написанный таким образом и надо в риалтайме тянуть из него значения выпавших карт/игроков сидящих за столом/торгов и т. д.
    Может есть другой более легкий вариант, чем реверсинг, если подскажете - буду премного благодарен.
     
  4. jakimushka

    jakimushka New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2006
    Сообщения:
    43
    а загвоздка в отсутствии большого опыта. Времени дано мало, нужно использовать его как можно более рационально, можете подсказать, как обычно решаются задачи подобного рода, хотя бы в общих чертах. т. е. например, где и как искать карты которые находятся на столе... может быть написано сумбурно, но в общих чертах должно быть ясно.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    jakimushka
    Без опыта в реверсинге браться за такие задачи... Обычно люди тренируются на банальных крякмисах, а потом уже начинают копаться в больших прогах.

    Другой - это фотографировать содержимое окна покера и анализировать картинку на предмет наличия карт и т.д. Это не легче и не лучше.

    Т.к. прога написана на ЯВУ, рисование, очевидно, происходит не прямо через API GDI, а через кучу обьектов и интерфейсов, которые только усложняют реверсирование. Тем не менее, GDI (BitBlt, LineTo и т.д.) должно вызываться рано или поздно (если прога вообще рисует не через DirectX...) Попробуйте поискать эти функции в импорте экзешника или DLL, которые он подгружает.

    Допустим, Вы уже нашли место, где отрисовываются карты. А дальше что? Нужно будет модифицировать код, чтобы оповещалось внешнее приложение... В общем, простого решения я не вижу.
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Quantum
    Найти область памяти где хранится список карт, и исследовать формат данных. Но это потребует некоторого опыта в реверсинге.
     
  7. zimer

    zimer New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    2
    каков прогресс? чтонибудь получилось?
     
  8. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    jakimushka
    Если написана на Яве, почему не воспользоваться декомпилятором Явы?
     
  9. zimer

    zimer New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    2
    ну хотя бы потому что классфайлов видимо нету...
     
  10. jakimushka

    jakimushka New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2006
    Сообщения:
    43
    zimer
    Да, все получилось. Спасибо