Исследование Easy File Sharing Web Server 1.2 Автор: SLV. В этой статье идёт речь о программе Easy File Sharing Web Server v.1.2. "Гипертрофированный вариант программы WWW File Share Pro. Настоятельно рекомендую его всем, кто не желает открывать маленький и скромный веб-сервер, а хочет сразу - одним кликом! - развернуть на своей машине настоящий сервак «ну чисто как у реальных пацанов»," - так о ней говорят авторы журнала Хакер, с диска которого прога и была мною взята. В unregistereg version при кождом запуске нас ожидает наг-окно с просьбой зарегистрироваться, чего мы делать не собираемся :) Наг представляет собой окно, которое также появляется при попытке "нормально" зарегистрировать программу. На нём лежат 2 Edit-а, несколько Static-ов, малнький битмап и ссылка на производителя. К томуже при запуске проги это окно исчезает через нечколько секунд. Начнём. Запускаем fsws.exe и в трее, кликнув правой кнопкой крысы, выбираем пункт меню "Registration...". Вываливается уже знакомое окошко с вышеупомянутой просьбой. Заполняем поля "Username:" и "Registration code:" по вкусу. ставим в Soft_ICe бряки на GetWindowTextA и GetDlgItemTextA. Давим кнопку "Register" и попадаем в айс на GetWindowTextA . Нажимаем F5, т.к. "текст из окна" берётся дважды и по F10 проходим по ходу до тех пор, пока не увидим такие строки: ... ... ... call 0042FBD0 add esp,08 test al,al jz 0043062F ... ... ... Значит чтобы программа стало зареганной, надо не прыгнуть на 0043062F, а для этого al должен содержать значение больше 0. Перепишем на бумажку адрес 42FBD0. Выйдем из Soft_Ice-а и откроем exe-шник в W32DASM-е. GoTo/GoToCodeLocation. Вводим запомненный адрес и нажмём "OK". попадаем в начало процедуры, вызывающеёся из программы целых 4 раза: * Referenced by a CALL at Addresses: |:004302FB , :0043059F , :004332E5 , :00435028 | :0042FBD0 6AFF push FFFFFFFF :0042FBD2 68A5154400 push 004415A5 :0042FBD7 64A100000000 mov eax, dword ptr fs:[00000000] :0042FBDD 50 push eax ... ... ... ... ... ... ... ... ... ... ... ... Осталось самое простое, надо заменить всю эту фигню на эти строки: xor al,al inc al ret После этого в al-е ВСЕГДА будет 1, а в проге не будет такого бага, как регистрация.