понедельник, 28 февраля 2011 г.

Первое сообщение серверу нашими руками.

В прошлый раз мы остановились на самом интересном месте. Вот только все началось получаться. Разобрались с программой для отлова сетевых сообщений и даже поймали несколько. Вот только непонятно, а что дальше? А дальше нужно определиться, как принимать и отсылать сообщения по сети. Но прежде чем это сделать необходимо узнать, а как вообще строится общение сетевых приложений. По стандарту или в терминах Интернет сообщества по спецификации существует два вида коммуникационных пакетов передаваемых по сети. Один с гарантированной доставкой и называется TCP/IP, а второй это UDP/IP. Хотя на самом деле здесь видно три протокола обмена информацией IP, TCP, UDP. IP протокол предназначен для организации взаимодействия компьютеров с помощью специальных Интернет адресов. TCP и UDP, в свою очередь, предлагают методы для общения между компьютерами, первый с гарантированной доставкой (правильнее будет сказать, с возможностью контроля доставки), а второй для доставки пакетов без какой-либо гарантии, что эти пакеты будут доставлены. Почему это важно знать, хотя бы в общих чертах? Ну потому, что для написания программы с поддержкой UDP будет нужно использовать совсем другие функции, чем для ПО с поддержкой TCP.
Но какой же протокол нужен нам?

Ответом на вопрос станет вышеприведенное изображение. Под столбцом с названием «protocol» ясно видно, что написано UDP. При этом если посмотреть весь процесс общения клиента с сервером, то есть прокрутить и посмотреть все пакеты, то видно, что используется везде протокол UDP. Теперь-то с уверенностью можно приступать к созданию нашего клиента для общения с сервером.

Исходный код main.cpp

Копируем код программы, которая должна представлять собой каркас нашего будущего клиента, и позволяет принимать и отправлять сообщения.
Этот код нужно скопировать и вставить вместо вашего кода в файле main.cpp. Осталась маленькая деталь. Для того, чтобы код заработал нужно в файл проекта (*.pro) нужно добавить строку:
LIBS += "путь к файлу "
А что это за путь до файла и самое главное до какого файла? Все просто вам нужен заголовочный файл для работы с Winsock библиотекой. Где найти этот файл и как он называется?
Файл называется «libws2_32.a» и найти его можно в папке где установлено QT, в папке mingw, а проще всего сделать это с помощьб стандартного поиска файлов. Затем скопировать путь до файла.
В результате должно выйти что-то типа:
LIBS += "C:\Qt\2010.05\mingw\lib\libws2_32.a"

Ну а теперь пробуем запустить. Если все правильно сделали, то появится консольное окно, которое зависнет. Это пока нормально. Закрываем его.
Ну и как теперь посмотреть, получилось или нет? Точно также, как мы смотрели общение между сервером и клиентом, то есть в окне Network Protocol Analyzer.


Великолепно. Мы отправили наше первое сообщение серверу.

воскресенье, 27 февраля 2011 г.

Грозовые ворота. Часть 2.


Но отбросим предубеждения. Смотрим дальше. Ничего не предвещало беды. Вдруг оказалось, что этот пятачок самое главное место северного Кавказа и почти все боевики-террористы собираются куда-то двигаться, а путь их обязательно должен пройти через этот пятачок. Вот оно начало роста героев фильма. Именно отсюда они начинают мужать и внушать гордость. И даже шикарный клип, повествующий о жизни простого русского паренька с рублевки, который не знает куда себя в жизни не может пристроить не может остановить нарастающую гордость. Особенно запомнился острейший социальный накал, показанный в воспоминании будущего героя бывшего простого паренька из элитной семьи. Подруга постоянно унижала его, называла несмелым и признавалась, что ей «нравится с ним только спать», а так по жизни он тряпка. Ну, в пятнадцать или семнадцать-то лет «просто спать», а по-русски, сексом заниматься это неплохо. Совсем неплохо. Особенно, если целевой зритель это молодежь от 10 до 25. То есть готовим заранее детей и не только к подвигам. Но это полбеды. Далее скорая на ногу подруга подначивает мальчишку на некрасивый поступок, ворваться на выступление депутата и облить его кетчупом. Но это не все. После этого юная особа врывается в квартиру к своему бойфренду-тряпке и начинает отчитывать его очтима, будущего депутата, за непонятно что, при этом тыкая взрослому мужчине. Финалом стала феерическая сцена признания отчимом своей неправоты в чем-то и, здесь самый сильный момент в фильме, выливания на свою рубашку кетчупа. Победа. Дальше уже не так интересно.

Громыхают танки, взрываются мины, стреляют пулеметы, в кадр попадают Турчинские, по пять раз по одной и той же местности пролетают два вертолета, боевики выскакивают то тут, то там, Пореченков дерется на кулаках с полуглавным злодеем. Финалом всей этой вакханалии является взятие боевиками высоты и этого пятачка. Но как оказалось горстка русских солдат героев умирали не просто, а для великой победы. Они стали всего лишь приманкой в большой игре и сумели заманить в капкан более 2000 террористов. Но, как и полагается, финал дерущий душу, главный русский берет на себя всю ответственность и вызывает огонь артиллерии на себя, чтобы всех боевиков разнести в клочья.

Потому что штабные руководители как всегда облажались и не смоги прислать помощь. Взрывы, кромешный ад и месиво. И о чудо. Последние кадры фильма показывают, что наши герои все живы и представлены к наградам, а зло побеждено, а штабные генералишки пришли поклониться живым. 
Особо романтично смотрится возвращение с покаянием малолетней возмутительницы спокойствия, той, которая подружка бывшего мальчика-тряпки из элитной семьи. Ведь он доказал свою мужественность, стал настоящим мужиком, получил медаль за героизм.
Новая Россия - новое кино.

суббота, 26 февраля 2011 г.

Грозовые ворота. Часть 1.


Неожиданно подкралось послеобеденное время праздничного дня 23 февраля. День хороший. Время поздравлений. Хороший праздничный обед. Череда концертов и выступлений была прервана неожиданно начавшимся фильмом. Почему неожиданно? Потому, что уже на протяжении многих лет этот праздник носит  непонятный характер, непонятно кого и за что поздравлять. Была советская армия, которая прославилась на весь мир подвигами и победами. А вот российская армия еще не так славна. И фильмы показываемые в этот день, так сказать для воодушевления и воздания почестей защитникам отчизны, обычно ничего патриотического не показывали или показывали, но откровенное старье, на которое чихать хотела нынешняя молодежь. А тут что-то новенькое. Фильм называется «Грозовые ворота». Начало стандартное. Смешиваются разные люди с разными судьбами. При этом вроде как фильм начинается с середины, ну чтобы интереснее было и непонятнее. А по ходу дела будет раскручиваться линия жизни каждого персонажа в ракурсе текущих событий с оглядкой в мутное прошлое. А сюжет просто как три копейки. Наша доблестная российская армия прославилась могучими боевыми действиями на фронте, который находится внутри страны, если точнее на северном Кавказе. То есть армия прославилась успехами в боевых действиях внутри страны своей.

Итак, есть набор персонажей, которые по замыслу должны расти в своих глазах, глазах своих близких, ну и, конечно же, телезрителей. Отправляется сия команда защищать интересы государства на Кавказ. Местом действия является горная гряда с удобным открытым пятачком на этой горной гряде, куда все тропы сходятся. Тропы, по которым ходят бандиты толпами, те, что в начале 90-х терроризировали весь Кавказ России. 
Так вот на этом пятачке и размещается горстка русских солдат. Почему-то сразу вспомнился великолепнейший патриотический фильм «9 рота». Но пока речь не об этом. По ходу дела создатели фильма нас знакомят с будущими героями России, рваными кусками проникая в их прошлое. У каждого была своя причина, чтобы попасть в эту мясорубку. Кто-то не мог достичь продвижения по службе, но его бросила жена.

Кто-то был тряпкой и тюфяком по жизни, живя за родительскими связями и деньгами. Ну, всех не перечесть. Но вот стойкий привкус розовых киселей и вычурного блеска, начинает набивать рот, знакомо по «9 роте».

пятница, 25 февраля 2011 г.

Выбор инструментария: исследование сетевого трафика для соединения «loopback» в ОС Windows.


В прошлый раз, при попытке получить доступ к самому интимному месту сетевой игры – сетевым пакетам, перед нами возникло неожиданное препятствие, которое, как оказалось, преодолеть с помощью Wireshark не удастся. В результате чего был произведен поиск и анализ инструментов для работы с сетевыми пакетами, которые бы работали под Windows, умели работать с loopback, да еще были бы бесплатными. Из трех десятков программ разного калибра и фасона, так и не нашлось достойного кандидата. Тогда под руку попался SoftPerfect Network Protocol Analyzer – очень даже неплохой инструмент. Конечно если бы наше занятие было профессиональным и оплачиваемым, а не развлечением для интересаи псевдонаучного исследования, то т огда выбор без сомнения пал бы на CommView от Tamosoft.
Но вернемся к выбору нужной программы. Для этого скачиваем по ссылке демонстрационную версию программы
благо ограничение стоит лишь на период использования, в отличие от того же CommView (http://www.tamos.com/download/main/), который показывает содержимое лишь половины полученных пакетов.
Процессов установки незамысловат, в основном сводится к нажатию кнопки продолжить. Если вдруг предложат установить дополнительные драйверы, то с радостью соглашайтесь. Ну и в случае необходимости проведите перезагрузку компьютера.
Итак, инструмент готов к использованию. Запускаем программу, пробуем найти нужный нам сетевой адаптер

Но что такое, опять обман? Не видно «loopback» и все тут. Но хитрость разработчиков данного ПО нас не смутила и через минуту можно ликовать, нужное нам найдено в меню Tools -> Loopback Monitor. Ну что, уже неплохо. Запустим наш сервер. А теперь вновь вернемся к окну перехвата сетевого трафика. В выпадающем окошке с гордым названием «Process filter» выбираем процесс, за которым мы собираемся наблюдать, то есть исполняемый файл сервера «TM.exe» и нажимаем кнопку «Start capture». Ну, а теперь, в предвкушении потирая руки, запускаем игру. Заходим в меню сетевой игры, вносим поле настроек сервера заветное «127.0.0.1:12300» и, затаив дыхание, подключаемся к сетевой игре. После окончания загрузки данных, для пущей важности стрельнув во врага, покидаем игру. Открываем окно Network Protocol Analyzer и выдыхаем. Все получилось.

Теперь можно приступать к настоящему взлому.

четверг, 24 февраля 2011 г.

Анализ сетевого трафика с помощью WireShark.


Приступим к изучению подопытного. Для это запускаем сначала сервер, а потом и клиент игры.

После чего запускаем WireShark, выбираем нашу сетевую карту и запускаем режим захвата трафика. Чтобы узнать, а что все-таки мы ищем нужно обратиться к файлу настроек сервера. Открываются настройки в блокноте.

Ищем строку «ServerPort = 12300», ага, вот он голубчик и попался. Это значит сервер принимает сообшения на порту номер 12300. Ну что ж, уже что-то. Значит в окне WireShark вносим данные в поле «Filter» - «udp.port == 12300 || tcp.port == 12300», что на русском означает, что мы хотим увидеть все сетевые пакет приходящие и уходящие на порт с номером 12300. Но почему-то в окне захваченных пакетов пусто. Ну, ничего, бывает. И тут вспоминаем, что в настройках подключения мы указывали адрес «127.0.0.1:12300», а это значит, что подключались к локальному компьютеру через  виртуальный сетевой адаптер «loopback». Значит осталось лишь найти такой сетевой адаптер в списке адаптеров. После недолгих поисков, которые не увенчались успехом, пробуем найти ответ на официальном сайте.


Откуда следует, что виртуальный сетевой интерфейс Windows в WireShark не поддерживается, а попытки решить проблему через рекомендуемые действия опять не привели к успеху.


Добавленная виртуальная сетевая карта не решила проблему.

Остается только вариант с подключением через Интернет к своему собственному серверу. То есть процесс в идеале должен выглядеть следующим образом. Ваш клиент обращается к удаленному серверу, а этим сервером является опять же ваш сервер. Соответственно все сетевые пакеты проходят через сетевую карту, соответственно все действия сетевой карты регистрируются  WireShark и мы получаем, то что хотим. Но есть ограничения для сервера, который требует наличия «белого» IP адреса. Но увы и ах, большинство сегодняшних провайдеров не балуют своих пользователей. С другой стороны, если вы находитесь в локальной сети и интернет раздается каким-либо устройством внутрь это сети, то сервер опять не сможет взаимодействовать с внешними подключающимися клиентами.

Что, мы потерпели фиаско? И да и нет. Данный пример лишь наглядно продемонстрировал, что была допущена ошибка. Ошибка заключалась в выборе инструмента. К сожалению, он не подошел для данного случая, когда нет «белого» IP адреса и подключение происходит к собственному локальному серверу.

Инструмент анализа сетевого трафика не подошел, будем искать другой.

среда, 23 февраля 2011 г.

Выбор инструментария: исследование сетевого трафика.

Все приготовления уже закончены. Есть игра, которую будем изучать. Есть среда, в которой будем писать клиентское ПО. Но осталось ощущение, что чего-то еще забыли. А забыли выбрать инструмент для изучения сетевого трафика поступающего от игры к серверу и обратно, а ведь именно это нас интересует, иначе попросту взлом не состоится. Давайте поподробнее рассмотрим сетевое взаимодействие. Как правило на глаз или на нюх очень сложно определить общаются по сети, ну разве только посмотреть на сетевую карту и если светодиод моргает, то значит идет обмен сообщениями по сети идет, а иначе нет. Но так далеко дело не пойдет.
Поскольку нам нужно узнать как происходит общение программ по сети, то инструментарий нужен подходящий. WireShark будет тем самым увеличительным стеклом, с помощью которого мы рассмотрим процесс межсетевого обмена в деталях. Скачать можно с официального сайта.

Устанавливаем. Все настройки оставляем по умолчанию. Не забудем установить библиотеку WinPcap. Не забудьте, что драйвер сетевых интерфейсов нужно установить в режим автоматической загрузки.

После всех манипуляций с установкой, на вашем компьютере должен появиться полноценный бесплатный инструмент для перехвата и анализа сетевого трафика.
Теперь все, что осталось сделать – запустить программу.

Для того чтобы начать захват трафика, прежде необходимо выбрать сетевой интерфейс, проще говоря сетевую карту для отслеживания. Меню Capture -> Interfeces.

В появившемся окне ищите свою сетевую карту, название которое скорее всего будет в общем виде записано, хотя можно сориентироваться по активности пересылаемых пакетов. Запускаем захват пакетов кнопкой «Start». Все, теперь можно заняться перехватом сетевых пакетов. Если захват не начался автоматически, то в меню Capture -> Start.

Наблюдаем за сетевым трафиком.

вторник, 22 февраля 2011 г.

Настройка и проба сетевой игры.


Настал черед разобраться с возможностью играть по сети в «Tread Marks». В самой игре для этого все уже присутствует. И клиентская часть – это та, которую мы запускаем и видим красивые менюшечки и собственно гоняем на танках, и серверная часть – это тот же самый файл запускается, но уже в режиме сетевого сервера. Если с запуском клиентской части проблем не возникает, то с сервером может и не получиться. Процесс запуска сервера и клиента одинаков, через ярлык запуска игры. После чего появляется окно с выбором режима. Вот тут-то и нужно сначала выбрать «Edit Dedicated Configuration» для того, чтобы настроить параметры сервера, а лишь только затем «Launch Dedicated Server». Если бы мы собирались играть по сети, то пару манипуляций с файлом настроек все же придется произвести. Но поскольку наша цель не игра по сети, а лишь наблюдение за процессом обмена сетевыми пакетами, то нам подойдет сервер с неизменными настройками. Итак, запускам сервер и пытаемся подключиться. Для этого после запуска сервера, запускаем клиент и переходим к настройке сетевого подключения. Процитирую настройку взятую тут:


Настройка сетевого соединения.
Выбираем режим игры "Multiplayer", затем танк и псевдоним в игре.
Теперь в поле адрес сервера пишем 127.0.0.1 и номер порта 12300.
Итого получается строка: 127.0.0.1:12300 для ввода.

Нажимаем подключиться и после недолгого ожидания оказываемся в игре, сетевой. Все как обычно – можно стрелять, убивать, разрушать вместе с вашими друзьями. На этом подготовительная часть закончена.

Пора уже и к самому взлому переходить? Скоро узнаем с чего начать.

понедельник, 21 февраля 2011 г.

Экземпляр для исследования или какую игру ломаем?

Пришла пора поговорить о выборе игра для взлома. Не буду лукавить, эта игра не очень современная и, наверное, даже не очень известная в этой стране. Однако свой кусочек счастья и денег она все-таки принесла компании-разработчику. Кстати, чем же знаменита и чем прославилась игра? Новым жанром. Вернее сказать старым избитым жанром, великолепно воплощенным на ПК. Это жанр называется «гонки на выживание» и в разное время на разных игровых платформах в этих гонках участвовали и мотоциклы с машинами, и танки, и разного рода космические корабли с возможностью таранить, стрелять, подрывать и уничтожать противников. В этот раз все банально и просто. Война танков в гонке за выживание. Игра называется «Tread Marks». Про красоту пейзажей вы сами можете написать опус. Отдельно остановимся лишь на возможности подключать к игре почти неограниченное количество нового оружия, которое можно моделировать собственными руками. Ну и все-таки чем знаменита игра? Ну, конечно же, своей реалистичной физикой. Да-да, именно физикой игры, взрывов, падений, столкновений. А еще полным терраморфингом. То есть все что окружаем, в том числе и ландшафт может быть разрушен до основания. Но зачем писать хвалебные оды, если достаточно лично ознакомиться с подопытным.

Ссылка на скачивание демо версии.

Отмечу сразу, что в демо версии на моем ПК под Windows7 так и не заработал сервер, хотя был обязан (в Windows XP нормально работал). Поэтому лучше взять полную версию.
Скачиваем, устанавливаем, знакомимся.

Кратко об игре  прочитаете здесь. Этот сайт у меня периодически открывается. Надеюсь у вас тоже.

воскресенье, 20 февраля 2011 г.

Интернет-банкинг для каждого из нас


Удивительное дело эти Интернет технологии. Так быстро и стремительно приникают в нашу жизнь, что начинаешь задаваться вопросом, а как раньше вообще можно было жить и обходиться без них. Тому доказательством служит появление сайтов у фирм, которые можно отнести к разряду средних, потому как крупные и динамичные компании уже давно освоили эту нишу. Банковский сектор тоже не остался в стороне. Пожалуй, только банки из самых дальних провинций не имеют своего сайта. Но сегодня просто представительства в сети иметь мало. Нужно чтобы и функционал приличный присутствовал, иначе толку от таких разукрашек мало. В погоне за клиентом да за пылью, которую можно пустить конкурентам в глаза самые продвинутые банки, на манер западных, принялись предоставлять доступ к банковским услугам через Интернет. Ну к примеру, если у вас есть вклад, то вы можете отслеживать через сайт его пополнение или же списывать средства с этого счета и переводить на другой. Казалось бы очень удобно. Тем более в век информационно пространства, когда даже не нужно отрывать попу от стула, чтобы что-то купить или заказать, то есть совершить действие по трате денег. Но тут-то и вскрывается несколько неожиданных деталей. Ну начнем с того, что если внимательно присмотреться к таким чудо сайтам с возможностью оказания чудо услуг, то более половины окажется писанными на коленке. Ну то есть не совсем на коленке, конечно же писались они в каких-то фирмочках. Только вот поскольку это дело новое и неотлаженное, то многие моменты остаются вне поле зрения разработчиков. И самое первое и главное – это система контроля безопасности. Начиная от того, конфиденциальные данные могут передаваться в открытом виде или использовать простейшие алгоритмы шифрования и заканчивая банальными уязвимостями перед внедрением опасного кода для исполнения на стороне сервера.
С другой стороны, если взглянуть на удобство и комфорт, отсутствие очередей, грубости и тяжелого томительного ожидания многие на такие мелочи не обращают внимания. Процент того, что именно вы, со своими 10 тысячами, понадобитесь какому-то хакеру настолько мал, что и времени об этом задумываться не находится. Вот и пользуемся, не задумываясь.
Но что будет, если все-таки с вами приключится огорчительная история и у вас уведут со счета деньги. А ничего не будет. Точнее никому ничего не будет кроме вас. Поскольку ни одним законом не предусмотрены правила пользования банковскими услугами через сеть Интернет. То есть услуга есть, а правил нет. И никак вы не сможете доказать что какой-то хакер «Вася» отправил ваши деньги «Маше», а не лично вы. Никак. Потому что, подпись вы не ставили, паспорт у вас не спрашивали, а вместо этого вводился логин и пароль. И потому, наверное, нужно внимательно знакомиться с инструкциями использования Интернет-банком, особенно, с разделом безопасности данных. А еще лучше следовать нескольким простейшим правилам, которые если и не уберегут от мошеннических действий, то, по крайней мере, затруднят их воплощение в жизнь.
Во-первых, не храните пароли от сайтов, позволяющих управлять вашими деньгами в банке в вашем любимом браузере. Да-да, просто не пользуйтесь волшебной палочкой для входа на сайт, а делайте это руками.
Во-вторых, удостоверьтесь, что вход на сайт Интернет-банка осуществляется по шифрованному протоколу «https», ну если говорить проще, то в данном случае должен появится в адресной строке или строке состояния значок соединения с замочком. Это всего лишь значит, что при передаче ваши данные будут шифроваться стандартными методами криптографии. Уже плюс.
Ну, и в-третьих, все-таки большие суммы лучше переводить лично и управлять такими суммами лично в банке. Не нужны вам эти сложности с Интернет-банком и постоянные тревожные мысли, а вдруг мошенники подберут или украдут пароль.

Спите спокойно. Управляйте деньгами лично и очно.

суббота, 19 февраля 2011 г.

Бесцветные чернила в действии

Как частное лицо не часто имею дело с банками и их услугами. И самой частой из получаемых услуг является оплата чего-либо через банк. В частности речь идет о Сбербанке. Смысла не имеет отдельно рассматривать персонал и уровень качества обслуживания. Но вот что более всего начинает беспокоить в последнее время все больше так это чеки, которые получаешь после оплаты. На что обращаешь сразу внимание, так это качество чернил, которое во многих отделениях оставляет желать лучшего качества, а может быть количества. Конечно, понято что времена трудные и нужно экономить на всем, но данная проблема была актуальна и 3-4 года назад. Спросите: "ну что тут такого, в чем проблема?". Как многие из вас понимают, этот документ имеет юридическую силу, то есть является подтверждением оплаты чего-либо. Ну, например, оплаты штрафа или квартплаты. В случае спорных ситуаций или просто необходимости предъявить этот документ возникает трудность. Самая простая и непредвиденная. Чернила выцветают или стираются! И вместо документа у нас на руках кусок бумаги с тайнописным текстом, по сравнению с которыми записки Ленина будут как жирный черный текст на мраморном листе. И все бы ничего, но пострадаете от этого только вы. И хорошо если просто отделаетесь простой повторной уплатой, а то может статься так, что и пеню удержат, лет эдак за пять.

Поэтому выбирайте где и как оплачивать услуги.

пятница, 18 февраля 2011 г.

Проба сил в QT.


Настало время разобраться с установленной средой разработки и хоть что-то написать. Запускаем QT Creator. В появившемся окошке можно ознакомиться с проектами, которые даны для ознакомления. Но мы сразу перейдем к созданию собственного. Выбираем пункт меню «файл», затем «новый файл или проект».


Поскольку наше дело писать клиентскую сторону для возможности общения во внутриигровом чате, то можно выбрать и GUI проект, чтобы наш клиент был красив и функционален. Но на практике разработка GUI приложения требует намного больше усилий и знаний, поэтому выберем «консольное приложение». Тем более для начала нужно разобраться в самой логике работы  клиента-сервера взламываемой игры. Выбираем где будут размещаться файлы проекта .

В двух оставшиеся окнах подтверждаем свои намерения.

Вот теперь перед нами окно для разработки нашего приложения. С чего начнем. Пожалуй с того, что откажемся от услуг библиотеки QTCore, поскольку никаких наворотов QT нам не понадобится и будем использовать простой С++. Как это сделать. Во-первых по умолчанию у вас в окне редактора уже открыт файл main.cpp, так вот код программы должен выглядеть следующим образом:

int main(int argc, char *argv[])
{

}

Все остальное просто стираем. Второй  шаг это настройка самого проекта. Для этого переходим к правке файла отвечающего за эти самые настройки, то есть слева в окне обзора проектов выбираем файл «client1.pro» (если ваш проект назывался по-другому, то ищите файл с названием проекта и расширением «.pro») и дваойным нажатием открываем этот файл в окне редактирования кода. Меняем одну лишь строку:

QT       += core

на

QT       -= core

Теперь можно приступать к созданию программы.

Наша первая программа будет простой. Выведет на экран сообщение и завершится.
Код программы прост и должен находится в файле main.cpp, так что октроем снова этот файл и заменим содержимое на:


#include <iostream> //поключение заголовочных файлов для работы с потоками ввода-вывода
#include <conio.h> // для работы с функциями очистки консольного экрана и получения симовла
using namespace std; // упрощаем жизнь и обращение к потокам ввода-вывода с помощью объявления нужного пространства имен
int main(int argc, char *argv[])
{
    cout << "This is test. #" << 1;
    getch();
}


Теперь запускаем программу и в результате увидим на экране в консоле сообщение This is test. #1. Нужно напомнить, что если мы попробуем вывести на экран сообщение на русском языке, то получим нечитаемое месиво. Это связано с различными кодировками при работе с консолью и в графическом режиме. Чтобы не истязать себя просто договоримся пользоваться английскими символами для вывода на экран.

Наш первый проект готов.

четверг, 17 февраля 2011 г.

Выбор инструментария: среда разработки

Итак, начнем. Сегодня мы выбираем инструментарий для решения наших задач.
К выбору среды разработки нужно подходить очень серьезно. Ведь если наш инструмент окажется громоздким или неудобным, то и весь процесс превратится в муки.  Конечно же выбирать будем из бесплатного ПО. По сути здесь выбор стоит между Codeblocks, написанного на Delphi и QT, обе среды разработки используют minGW в качестве базы для построения и компиляции. К сожалению Codeblocks в моих руках так и не заработал нормально, постоянно вываливался с ошибками или не хотел давать справку. Другое дело QT, устанавливается и настраивается без особых затруднений. Да и по большому счету настраивать там нечего, если говорить о нашем проекте. Скачивать нужно QT здесь, при этом выбираем LGPL. Добавлю, что производителем данного инструмента является известная компания, которая занимается телефонами и смартфонами - финская Nokia.
На этом пока завершим знакомство с инструментарием. Скачиваем, устанавливаем и начинаем знакомиться с интерфейсом самостоятельно.
Хотя на самом деле из интерфейса понадобятся три кнопки: "запустить" , "остановить", "запустить в режиме отладки".

среда, 16 февраля 2011 г.

Взлом игр

Попробуем разобраться в программировании с точки зрения практического применения. Вот выучен язык, вот есть желание что-то создать и запрограммировать, вот есть желание почувствовать мощь собственного ума. И что же? С чего начать?
Конечно же с игр. Начинаем цикл статей посвященных взлому игр, а вернее взлому сетевых игр. Ну а чтобы был хоть какой-то прок от этого взлома, будем писать сетевой клиент для внутриигрового текстового чата.
Какой от этого прок?
Научимся: перехвату и анализу сетевого трафика, разбору внутриигрового протокола обмена данными между клиентом и сервером, создавать ООП код для работы со всей этой мишурой, ну и, конечно же, созданию сетевых приложений.

Язык программирования С++.