Есть базовые знания асма, понимание что есть стек и как функции вызываются и т.д. (но в куче кода все знания теряются, когда смотрю дизассемблированный код) вообще интересуюсь темой реверсинга, решил начать с исследования протокола игры. Интересно узнать мнения кто с чего бы начинал. Если протокол, то надо найти место где программа формирует пакет перед отправкой. Игра не запакована. Спасибо заранее за ответ.
Denek_Urich Если бы у меня в своё время была возможность начать с этого, я бы так и сделал. А после этого единственное, что определяет Вашу продуктивность в процессе реверсинга, - опыт, количество успешно или безуспешно проведенных в реверсинге часов. И, наверное, чтобы почувствовать себя уверенно, понадобится не год и не два.
Вопрос не ясен.. но я постараюсь дать наводящии советы.. wireshark в помощь.. Делаешь действие в игре, и смотришь на данные в снифире, потом повторяешь тоже самое действие.. и опять в снифер глядишь...смотришь какой байт изменился)... Понимашь теперь как формируются пакеты информации. А дальше от твоего желания... смотря что хочешь делать.. если хочешь пожульничать.. то проблем нет, вклиниваешься локально..между клиентом и серваком... и модифицируешь все пакеты , как тебе нужно... Шифрование игрухи врятли поможет...(на пиратских серваках)... Темболее..если уж, есть желание...то под дебагером находишь место шифрования пакета...и воссаздаёшь код ).. под дизассемблером это просто... ну и тд...... Былоб желание...
ну и ещё..добавлю Приобрети книгу одного(или даже двух??) участника форума.. не буду говорить кого ))) искусство дизассемблирования
Ragnarock, но тут не в игре дело, просто хочется с чего-то начать и чтобы это было интересно. Если есть какие-то предложения, то пожайлуста напишите. =)
Denek_Urich Я бы для разгона нашел в дизассемблированной (с помощью IDA) программе функции для работы с сетевыми пакетами, нашел бы, в каких процедурах они участвуют, попытался бы понять, что каждая из процедур делает. Восстановил прототипы, присвоил имена, если надо, отреверсил. Ну и так далее. Кстати, иногда в играх все сетевую кухню выносят в отдельные DLL.
Мое самое выдающееся достижение в реверсинге - распаковка MPQ-файлов из старкрафта До сих пор использую изображения оттуда в качестве картинок на рабочий стол По теме: используй совместно отладчик и дизассемблер. Поставь точку останова на send, смотри стек вызовов, потом лезь в иду и отмечай там все, что сможешь понять
Я квак долго реверсил и разбиралсо, но.. сурцы есть, что упрощало разбор кода. Наверно к исходным текстам этой игры доступа нет.