Добрый день ! Подскажите способы и с помошью чего можно реверснуть CGI скрипт. Опишу ситуацию: есть сервер apache на нем поднят сайт, который использует CGI скрипт - который видимо проверяет дату и при наступлении определенной даты перестает работать выдавая сообщение что время работы истекло... Сам файл видимо откомпилирован чем-то... т.к. представляет из себя не текстовый файл, а бинарный.. Время на сервере перевести невозможно... ХЕЛП
Да я его скачал... посмотрел тектовым редактором в нем как кракозябры так и нормальный текст (читаемый - на русском !)... открыл идой... она его распознала, но не весь... может нужны какие-то спецовые сигнатуры ? файлик этот под юниксом крутится... может есть какие особености? Получится у меня из него рабочий потом сделать в виндах?
web.cgi: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9.1, dynamically linked (uses shared libs), stripped Я такими делами пока не занимаюсь, пусть кто-нить другой ковырнет.
надо понимать такими: Время действия лицензии на пользование данным экземпляром програмного продукта истекает 31 марта 2005 года. Обратитесь к разработчику.
основная функция: 804d03c: 55 push %ebp 804d03d: 89 e5 mov %esp,%ebp 804d03f: 83 ec 08 sub $0x8,%esp 804d042: 83 c4 fc add $0xfffffffc,%esp 804d045: 68 bc e9 06 08 push $0x806e9bc 804d04a: 68 bc d9 06 08 push $0x806d9bc 804d04f: 68 a0 3f 06 08 push $0x8063fa0 // сохраняем адрес нашей формы с ошибкой("Время действия лицензии на пользование данным экземпляром програмного продукта истекает 31 марта 2005 года. Обратитесь к разработчику.") 804d054: e8 0b d1 ff ff call 0x804a164 804d059: 83 c4 10 add $0x10,%esp 804d05c: e8 13 00 00 00 call 0x804d074 804d061: 83 c4 f4 add $0xfffffff4,%esp 804d064: 68 8d 41 06 08 push $0x806418d 804d069: e8 f6 d0 ff ff call 0x804a164 804d06e: 83 c4 10 add $0x10,%esp 804d071: c9 leave 804d072: c3 ret откуда зовется эта функция(0x804d03c): 804ab39: 8d 76 00 lea 0x0(%esi),%esi 804ab3c: 83 c4 f8 add $0xfffffff8,%esp 804ab3f: 68 84 b8 05 08 push $0x805b884 804ab44: 68 e0 d4 06 08 push $0x806d4e0 804ab49: e8 96 f8 ff ff call 0x804a3e4 804ab4e: 83 c4 10 add $0x10,%esp 804ab51: 89 c0 mov %eax,%eax 804ab53: 85 c0 test %eax,%eax 804ab55: 75 0d jne 0x804ab64 // интересный jump меняем его например на "eb 0d" 804ab57: e8 e0 24 00 00 call 0x804d03c // вызываем функцию 804ab5c: e9 3b 02 00 00 jmp 0x804ad9c Если не помогает, лезем выше по коду и смотрим откуда вызывается функция, находящаяся по адресу 0x804ab39. Анализируем.. ps: Проверить самому не было возможности, ибо моя машина под linux'ом, фряхи нет под рукой. Физическое смещение джампа в файле - 0x2B55