<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://bolandio.bb10.ru/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>ГОРОД ДЗЕРЖИНСК</title>
		<link>https://bolandio.bb10.ru/</link>
		<description>ГОРОД ДЗЕРЖИНСК</description>
		<language>ru-ru</language>
		<lastBuildDate>Tue, 26 Dec 2023 18:38:04 +0300</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>авто +то запчасти</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=124#p124</link>
			<description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;&lt;span style=&quot;font-size: 26px&quot;&gt;Поставим на твой авто новый кузов&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;font-size: 14px&quot;&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Обнови внешность своего автомобиля на 10 лет. PRIME TUNING - &lt;a href=&quot;https://t.me/PrimeTuning.&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://t.me/PrimeTuning.&lt;/a&gt; Продажа комплектов рестайлинга для обновления внешности вашего автомобиля. Продажа тюнинга, запчастей китайского производства и оригинальных запчастей на автомобили Mercedes-Benz, BMW, Porsche, Audi, Toyota, Lexus, Land Rover, Bentley, Rolls-Royce, Ferrari, Lamborghini. Профессиональная установка и практический опыт в работе с китайскими запчастями. Установка комплектов для полной смены поколения либо марки вашего автомобиля. &lt;/span&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;display: block; text-align: center&quot;&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://upforme.ru/uploads/0000/b2/4b/1766/852595.jpg&quot; alt=&quot;https://upforme.ru/uploads/0000/b2/4b/1766/852595.jpg&quot; /&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;font-size: 14px&quot;&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Тюнинг, рестайлинг и дооснащение внешнего облика либо интерьера автомобиля. Подбор запчастей под ваш автомобиль, грамотная консультация и быстрые сроки доставки. Большой ассортимент комплектов и элементов тюнинга в Москве. Удобные локации автосервисов, в разных районах города. Высокое качество продукции и гарантия на установку поставляемых запчастей. Гарантия на продукцию и выполненную работу. Наш канал - &lt;a href=&quot;https://t.me/PrimeTuning&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://t.me/PrimeTuning&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;display: block; text-align: center&quot;&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://upforme.ru/uploads/0000/b2/4b/1766/852595.jpg&quot; alt=&quot;https://upforme.ru/uploads/0000/b2/4b/1766/852595.jpg&quot; /&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;font-size: 14px&quot;&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Primetuning, tuning, тюнинг, рестайлинг, автомобиль, авто, автомобили, машина, двигатель, car, cars, auto, запчасти, капот, крыло, крылья, бампер, бампера, переднийбампер, заднийбампер, фары, оптика, фонари, свет, тормоза, колодки, запчастиизкитая, бензин, топливо, электромобиль, электрокар кузовныезапчасти обвес спойлер диффузор выхлоп чиптюнинг карбон автозапчасти, Mercedes-Benz, Mercedes, Мерседес, Мерседесбенз, BMW, БМВ, Беха, Бэха, М5, m5, Porsche, Порше, Порш, Каен, Cayenne, Panamera, Панамера, Макан, Macan 911, Audi, Toyota, Крузер, Крузак, LandCruiser, Камри, Camry, Lexus, Лексус, LandRover, ЛэндРовер, РенджРовер, RangeRover, Bentley Бентли, Континенталь, ContinentalGT, Bentyaga, Бентайга, Бентейга, RollsRoyce, Роллсройс, Фантом, Гост, Рейс, Cullinan, Куллинан, ghost, wraith, dawn, phantom, Каллинан, Ferrar,i Фера, Феррари, Lamborghini, Ламборгини, Ламба, Huracan, Urus, урус, Murchelago, Aventodor, Turbo, Турбо, Уракан, Авентодор, Mansory, Менсори, Брабус, Brabus, Techart, Akropovich, автолюбитель, автоблогер&lt;/span&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;font-size: 14px&quot;&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Вот ссылка на телегу - &lt;a href=&quot;https://t.me/PrimeTuning&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://t.me/PrimeTuning&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;display: block; text-align: center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 16px&quot;&gt;&lt;a href=&quot;https://u.to/onsyIA&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Перейти&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (vzsekojgga)</author>
			<pubDate>Tue, 26 Dec 2023 18:38:04 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=124#p124</guid>
		</item>
		<item>
			<title>Секреты рулетки 2023г</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=120#p120</link>
			<description>&lt;p&gt;Новинка 2023г!&amp;#160; &amp;#160;&lt;a href=&quot;http://rouletka.top/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://rouletka.top/&lt;/a&gt;&amp;#160; Отныне выиграть много и быстро для тебя станет легко. Перейди по ссылке и введи свои данные в форму подписки: &lt;a href=&quot;https://is.gd/i5L5KE&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://is.gd/i5L5KE&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (vzsekojgga)</author>
			<pubDate>Sat, 15 Apr 2023 04:15:29 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=120#p120</guid>
		</item>
		<item>
			<title>хочеш понты колотить и вернуть контакт ,,,,,,,,,,,,,,,,,,,,,</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=108#p108</link>
			<description>&lt;p&gt;подумай и напиши сюда..........&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Thu, 03 Jun 2010 03:19:44 +0400</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=108#p108</guid>
		</item>
		<item>
			<title>Основные сочетания клавиш для windows.</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=107#p107</link>
			<description>&lt;p&gt;CTRL+C: копирование&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+X: вырезание&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+V: вставка&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+Z: отмена действия&lt;br /&gt;&amp;#160; •&amp;#160; DELETE: удаление &lt;br /&gt;&amp;#160; •&amp;#160; SHIFT+DELETE: удаление выбранного объекта без возможности восстановления, не помещая объект в корзину &lt;br /&gt;&amp;#160; •&amp;#160; CTRL с перетаскиванием объекта: копирование выделенного объекта &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+SHIFT с перетаскиванием объекта: создание ярлыка для выбранного объекта&lt;br /&gt;&amp;#160; •&amp;#160; Клавиша F2: переименование выбранного объекта&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+СТРЕЛКА ВПРАВО: перемещение точки ввода в начало следующего слова &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+СТРЕЛКА ВЛЕВО: перемещение точки ввода в начало предыдущего слова &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+СТРЕЛКА ВНИЗ: перемещение точки ввода в начало следующего абзаца &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+СТРЕЛКА ВВЕРХ: перемещение точки ввода в начало предыдущего абзаца &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+SHIFT + клавиши со стрелками: выделение блока текста &lt;br /&gt;&amp;#160; •&amp;#160; SHIFT + клавиши со стрелками: выбор нескольких объектов в окне или на рабочем столе, а также выделение текста в документе &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+A: выделение всего документа &lt;br /&gt;&amp;#160; •&amp;#160; Клавиша F3: поиск файла или папки &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ВВОД: просмотр свойств выбранного объекта &lt;br /&gt;&amp;#160; •&amp;#160; ALT+F4: закрытие активного окна или завершение работы активной программы &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ВВОД: просмотр свойств выбранного объекта &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ПРОБЕЛ: вызов контекстного меню активного окна &lt;br /&gt;&amp;#160; •&amp;#160; CTRL+F4: закрытие активного документа в приложениях, в которых одновременно можно открыть несколько документов &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ТАБУЛЯЦИЯ: переход между открытыми объектами &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ESC: просмотр объектов в том порядке, в котором они были открыты &lt;br /&gt;&amp;#160; •&amp;#160; Клавиша F6: поочередный просмотр элементов интерфейса в окне или на рабочем столе &lt;br /&gt;&amp;#160; •&amp;#160; Клавиша F4: отображение панели адресов в папке «Мой компьютер» или в обозревателе Windows Explorer &lt;br /&gt;&amp;#160; •&amp;#160; SHIFT+F10: вызов контекстного меню для выделенного элемента &lt;br /&gt;&amp;#160; •&amp;#160; ALT+ПРОБЕЛ: вызов системного меню для активного окна&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+ESC: вызов меню «Пуск» &lt;br /&gt;&amp;#160; •&amp;#160; ALT+подчеркнутая буква в названии меню: вызов соответствующего меню&lt;br /&gt;&amp;#160; •&amp;#160; Подчеркнутая буква в имени команды открытого меню: выполнение соответствующей команды&lt;br /&gt;&amp;#160; •&amp;#160; Клавиша F10: активация строки меню в используемой программе&lt;br /&gt;&amp;#160; •&amp;#160; СТРЕЛКА ВПРАВО: вызов следующего меню справа или подменю&lt;br /&gt;&amp;#160; •&amp;#160; СТРЕЛКА ВЛЕВО: вызов следующего меню слева или закрытие подменю&lt;/p&gt;
						&lt;p&gt;Клавиша F5: обновление активного окна&lt;br /&gt;&amp;#160; •&amp;#160; Клавиша BACKSPACE: просмотр содержимого папки, расположенной выше на один уровень в каталоге «Мой компьютер» или обозревателе Windows Explorer &lt;br /&gt;&amp;#160; •&amp;#160; Клавиша ESC: отмена выполняемого задания&lt;br /&gt;&amp;#160; •&amp;#160; SHIFT при загрузке компакт-диска в привод для компакт-дисков: предотвращение автоматического воспроизведения компакт-диска&lt;br /&gt;&amp;#160; •&amp;#160; CTRL+SHIFT+ESC: вызов диспетчера задач&lt;br /&gt; &lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://bolandio.no-ip.info/index.gif&quot; alt=&quot;http://bolandio.no-ip.info/index.gif&quot; /&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 18:12:23 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=107#p107</guid>
		</item>
		<item>
			<title>Технология LabelFlash: рисуем на дисках</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=106#p106</link>
			<description>&lt;p&gt;До сих пор мы не имели возможности просто и недорого создавать рисунки на поверхности записываемых &amp;quot;болванок&amp;quot;. Рисовать маркером как-то несолидно, а покупать специальный принтер для компакт-дисков – слишком накладно. К тому же отпечатанные картинки на поверхности специальных дисков &amp;quot;Printable&amp;quot; имеют свойство быстро тускнеть и стираться. Но сейчас производители оптических приводов предложили нам сразу две конкурирующие технологии, позволяющие выводить рисунки на дисках с помощью лазера. Об одной из них, технологии &amp;quot;LabelFlash&amp;quot;, мы и поговорим. Она реализована в очень популярных оптических приводах фирмы NEC, а потому доступна широкому кругу пользователей.&lt;br /&gt;Прежде чем мы расскажем о том, как пользоваться новой &amp;quot;фичей&amp;quot;, нужно разобраться с тем, как она вообще работает. Иначе у пользователей начинают возникать нелепые вопросы, вызванные элементарным непониманием сути этой технологии.&lt;br /&gt;(Заметим, что вся приведенная в следующем разделе информация является результатом наших умозаключений, производители не разглашают никаких деталей реализации технологий рисования на дисках).&lt;br /&gt;Оптическая запись: немного теории&lt;br /&gt;Как известно, компакт-диски используют оптический принцип для хранения информации, основанный на измерении интенсивности светового потока лазерного луча, отраженного от поверхности носителя. Сервосистема оптического привода ведет сфокусированный с помощью линзы луч лазера вдоль спиралевидной дорожки. Если луч лазера отразился полностью, электроника привода считает, что прочитан &amp;quot;0&amp;quot;, если луч поглотился или не попал на фотодатчик, прочитана &amp;quot;1&amp;quot;.&lt;br /&gt;На обычном диске типа -ROM модуляция отражающей способности обеспечивается за счет рельефа поликарбонатной подложки. Рельеф наносится с помощью штампа, поэтому такие диски часто называют штампованными или прессованными. Поверхность подложки затем покрывается отражающим слоем (обычно – алюминиевой пленкой). Луч лазера отражается в фотодатчик только от плоских поверхностей, на перепадах он отклоняется, за счет чего и обеспечивается чтение данных.&lt;br /&gt;У дисков записываемых (-R) и перезаписываемых (-RW) рельеф используется не для записи информации, а для разметки границ дорожек и хранения адресной и идентификационной информации. Имитация перепадов, обозначающих отдельные биты информации, производится с помощью красителя (dye) или меняющего фазу полимерного вещества (для перезаписываемых дисков). Так, чистый записываемый диск состоит из подложки со слоем отражающего материала и красителя, по умолчанию прозрачного. Лазерный луч в процессе записи наносит непрозрачные метки на краситель, которые имитируют перепады рельефа обычного ROM-диска.&lt;br /&gt;В случае перезаписываемого диска лазер может вызывать как помутнение полимерного вещества (переход в аморфное состояние), так и возвращение к прозрачному (кристаллическому) состоянию.&lt;br /&gt;Рисуем&lt;br /&gt;Поскольку при записи мы имеем дело с красителем, почему бы не приспособить пишущий привод для выведения рисунка на поверхности диска? Достаточно записать такой поток данных, чтобы темные точки складывались в определенный узор. Для этого записываемый слой нужно нанести и на обратной стороне диска (с этим проблем нет, так как диски DVD изначально являются двухслойными, так как толщина диска 1.2 мм, а толщина одного слоя – 0.6 мм), чтобы иметь возможность рисовать с помощью записи специального шаблона данных.&lt;br /&gt;Скорее всего, именно так технология LabelFlash и работает. Только для создания рисунка используется краситель иного типа, обеспечивающий большую контрастность изображения. Под действием лазера он обесцвечивается, в результате чего проявляется инверсное изображение.&lt;br /&gt;С контрастностью как раз не все так просто. Внимательный читатель заметит, что темные (непрозрачные) участки не могут идти сплошной чередой, поскольку информация на диске хранится как единичные &amp;quot;1&amp;quot; в ряду &amp;quot;0&amp;quot;. Для получения контрастного изображения придется повторять запись, сдвигая с каждым разом все &amp;quot;1&amp;quot; относительно предыдущей записи, что существенно увеличивает время выполнения рисунка.&lt;br /&gt;Еще один недостаток связан с невозможностью получения цветной картинки. Получить полутона еще можно, так как размер темных участков настолько мал, что человеческий глаз не заметит следов зернистости. Но отражающий слой, расположенный под красителем, имеет конкретный цвет, изменить который нельзя. У дисков двухслойных (Dual/Double Layer) отражающих слоев два, и их можно теоретически сделать разноцветными. Но лучший выход – создать краситель, который будет менять не только прозрачность, но и цвет. Пока о разработках в этом направлении ничего не слышно.&lt;br /&gt;Но и возможность наносить на диск черно-белые рисунки и надписи без специального принтера кажется нам достаточно привлекательной. Особенно если для этого не придется покупать специальные &amp;quot;болванки&amp;quot;.&lt;br /&gt;Технология LabelFlash&lt;br /&gt;Сегодня технология LabelFlash поддерживается только пишущими DVD-приводами NEC, а также приводами, производимыми NEC по контракту для других производителей (LaCie, MadDog, TDK и т.д.). Возможно, производители, применяющие контроллеры NEC (например, Pioneer), тоже реализуют поддержку LabelFlash.&lt;br /&gt;Собственно, эта технология была разработана несколько лет компанией Yamaha. Тогда она носила название &amp;quot;DiscT@2&amp;quot; (&amp;quot;disk tattoo&amp;quot;), которое очень точно отражало ее суть. Узор на основной поверхности диска, не занятой полезными данными, могли наносить только некоторые приводы фирмы Yamaha, а вопрос о записывающем слое на обратной (этикеточной) стороне тогда не ставился. Увы, компания Yamaha почти одновременно объявила об уходе с рынка оптических накопителей и свернула выпуск перспективных приводов. О технологии забыли.&lt;br /&gt;Фирма Fujifilm решила возродить старую идею после того, как компания HP представила аналогичную технологию – &amp;quot;LightScribe&amp;quot;. Почему именно HP? Наверное, потому, это эта компания славится своими устройствами печати, а мы в данном случае имеем дело именно с печатью, только с помощью пишущего привода. Fujifilm, будучи производителем носителей информации, в том числе &amp;quot;болванок&amp;quot;, решила предложить свой вариант, взяв за основу &amp;quot;DiscT@2&amp;quot;.&lt;br /&gt;Технология LightScribe работает только на специальных дисках, у которых обе поверхности записываемые. Верхняя (лицевая) поверхность таких дисков имеет золотистый цвет, на котором лазер рисует коричневый рисунок. Сегодня HP предлагает также диски других цветов. А технология LabelFlash может использоваться для рисования и на специальных дисках, и на основной стороне обычных &amp;quot;болванок&amp;quot; – в месте, не занятом данными. Это, конечно, не так удобно, но все же лучше, чем ничего.&lt;br /&gt;Итак, что необходимо для использования LabelFlash:&lt;br /&gt;привод NEC модели 3551, 4551 или более новой (номер должен заканчиваться на &amp;quot;1&amp;quot;);&lt;br /&gt;диск LabelFlash для записи на лицевой стороне;&lt;br /&gt;диск DVD+R или DVD-R для записи на обратной стороне (диски CD-R, увы, не подходят);&lt;br /&gt;программа записи дисков с поддержкой LabelFlash.&lt;br /&gt;Переделываем привод NEC&lt;br /&gt;Пишущий DVD-привод NEC&lt;br /&gt;Если вы уже купили модель 3550 или 4550, то возможность использовать LabelFlash у вас все еще имеется. Вам необходимо &amp;quot;залить&amp;quot; в ваш привод прошивку от 3551 или 4551, благо все эти модели идентичны. Конечно, проделать это стандартными средствами не удастся, так что придется рисковать и менять прошивку самодельными утилитами.&lt;br /&gt;Мы не будем приводить тут описание всей процедуры, которая включает замену скрытого блока Flash-памяти и заливку другой прошивки. Прочитать подробности и скачать нужные утилиты вы можете во многих местах в Интернет (например: тут и тут). Помните только, что в случае неудачи (да и в случае удачи тоже) вы теряете гарантию.&lt;br /&gt;Дорабатываем Nero&lt;br /&gt;Когда приводы NEC с поддержкой LabelFlash только появились в продаже, у многих пользователей возникли проблемы с программой для рисования картинок. Вместе с коробочными версиями приводов поставлялась специальная OEM-версия популярного пакета Nero, скачать которую не представлялось возможным. К счастью, совсем недавно поддержка LabelFlash была включена в последнее обновление Nero 7, и мучаться с поиском специальной версии уже не нужно. Главное, чтобы у вас был серийный номер для Premium-версии. Где его взять, не мне вас учить.&lt;br /&gt;Если же вам по каким-то причинам не нравится седьмая версия Nero, или нет возможности скачать стомегабайтный дистрибутив этой программы, вы можете &amp;quot;прикрутить&amp;quot; поддержку LabelFlash и к предыдущей версии. Вам нужна только библиотека LLS.DLL, которая отвечает за рисование и запись картинок с помощью как LightScribe, так и LabelFlash. Найти ее не составит труда. Скопируйте ее в подкаталог Core каталога Nero, и возможность рисования будет обеспечена.&lt;br /&gt;Тестируем&lt;br /&gt;Диск LabelFlash нам достать, естественно, не удалось, так как в продаже таковые пока не замечены. Поэтому пришлось воспользоваться обычным диском DVD+R. &lt;br /&gt; Запускаем Nero, выбираем пункт &amp;quot;Burn Label&amp;quot;, и нам предоставляется возможность нарисовать текст или разместить картинку на диске. Собственно, данный редактор является копией Nero CoverDesigner – векторного редактора для создания обложек и макетов для печати на дисках – с тем лишь отличием, что он сам определяет размер доступной для рисования зоны.&lt;br /&gt;(&amp;quot;Закрывать&amp;quot; диск можно, для рисования это не помеха). Редактор не слишком интуитивный, как и сам пакет Nero, но разобраться в нем можно. Главное, что он может автоматически выравнивать надписи по периметру диска (нужно включить свойство текста &amp;quot;Bend&amp;quot;) и задавать разные шрифты и стили текста.&lt;br /&gt;Наш диск был записан примерно на половину (2.3 Гб), но Nero предложил нанести только узкую каемку с надписями шириной менее 9 мм. Увы, компакт-диски пишутся от центра, и для рисунков остаются лишь края. Куда интереснее было бы нарисовать картинку на весь диск, но для этого нужны специальные &amp;quot;болванки&amp;quot;.&lt;br /&gt;По прогнозу Nero, созданная нами надпись должна быть записана с максимальным качеством (есть еще два варианта) за 16 минут. Но на самом деле на этот процесс ушло почти 18 минут.&lt;br /&gt;16-скоростной диск (мы использовали 8-скоростной) запишется, скорее всего, вдвое быстрее. Результат – переливающаяся надпись по периметру диска, не слишком яркая и заметная, но очень необычная. На специальных дисках LabelFlash картинка получается более четкой и контрастной, но пока такие диски в продаже не замечены.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 18:01:46 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=106#p106</guid>
		</item>
		<item>
			<title>Для подключения к сети Интернет по ADSL-технологии необходимы:</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=105#p105</link>
			<description>&lt;p&gt;Для подключения к сети Интернет по ADSL-технологии необходимы:&lt;br /&gt;Компьютер&lt;br /&gt;ADSL-модем&lt;br /&gt;Сплиттер&lt;br /&gt;Набор кабелей для соединения модема с телефонной сетью и компьютером.&lt;br /&gt;Требования к компьютеру: &lt;br /&gt;Сетевая карта с интерфейсом Ethernet 10/100Base-T (в случае если модем с Ethernet), либо USB интерфейс (в случае если модем с USB)&lt;br /&gt;Операционная система любая из следующих: Windows 98, ME, 2000, XP. &lt;br /&gt;Порядок подключения оборудования&lt;br /&gt;Подключите сплиттер к телефонной линии;&lt;br /&gt;Подключите к сплиттеру телефонный аппарат и модем; &lt;br /&gt;Подключите компьютер к модему; &lt;br /&gt;Установка сплиттера&lt;br /&gt;Соедините разъем LINE на сплиттере с телефонной розеткой (линией). Если у Вас установлены телефонные розетки старого образца (пятиштырьковые), то необходимо будет приобрести переходник на евроразъем (RJ11).&lt;br /&gt;Внимание!!! Если у вас несколько телефонных розеток или имеются параллельные телефонные аппараты, то сплиттер нужно установить до всех разветвлений вашей телефонной линии. Для стабильной связи очень важно, чтобы на телефонной линии до сплиттера и от сплиттера до модема не было ненадёжных контактов (скруток и т.п.) &lt;br /&gt;Подключение модема &lt;br /&gt;Соедините разъем модема с надписью DSL или WAN с разъемом сплиттера с надписью MODEM, используя телефонный кабель из комплекта поставки модема. Соедините порт LAN на модеме с Ethernet-портом на компьютере или Ethernet-коммутатором при помощи Ethernet-кабеля из комплекта поставки. Подключите адаптер питания и включите модем, нажав кнопку «ON/OFF» на модеме. &lt;br /&gt;Подключение телефонного аппарата&lt;br /&gt;При помощи второго кабеля из комплекта поставки подключите телефонный аппарат к разъему PHONE на сплиттере.&lt;br /&gt;Настройка ADSL модема&lt;br /&gt;Необходимые базовые настройки модема.&lt;br /&gt;VPI (Virtual Path Identifier) = 0 &lt;br /&gt;VCI (Virtual Circuit Identifier) = 33 &lt;br /&gt;Тип инкапсуляции = Bridged IP over ATM LLC SNAP (RFC1483) &lt;br /&gt;Категория сервиса = UBR &lt;br /&gt;Режим включения = Bridge &lt;br /&gt;Для настройки модема необходимо воспользоваться инструкцией производителя, либо с помощью приложенной краткой инструкции (если имеется на ваш модем).&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 16:29:29 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=105#p105</guid>
		</item>
		<item>
			<title>Регистрация доменных имен своими руками.</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=104#p104</link>
			<description>&lt;p&gt;Данная статья открывает собой небольшой цикл статей на тему &amp;quot;Регистрация доменного имени&amp;quot;. Будут рассмотрены многие вопросы: зачем вообще это надо, как выбрать имя, каким способом можно его зарегистрировать, что для этого нужно знать, сколько это будет стоить, какие есть в этом процессе подводные камни, и другие сопутствующие вопросы. Также будут даны пошаговые описания процессов регистрации доменных имен.&lt;br /&gt;Сначала оговорим, кому нужен этот цикл. Если у вас есть деньги и вы готовы заплатить сторонней фирме за регистрацию имени для сайта, то так и сделайте - головной боли меньше. А если вы хотите знать сам процесс, или у вас есть здоровое чувство любопытства, чтобы хотеть сделать это самому, а также вы не хотите переплачивать и хотите быть уверены, что имя будет зарегистрировано именно на вас, а не на фирму-посредника, то - читайте дальше :)&lt;br /&gt;В этой статье мы узнаем некоторые общие понятия; поймем, зачем нам, собственно, нужно доменное имя; узнаем, что на ru, com, net и org свет клином не сошелся; выберем себе имя; научимся проверять, занято оно уже кем-то другим или нет.&lt;br /&gt;Итак, первым делом рассмотрим, что такое, собственно, &amp;quot;доменное имя&amp;quot; (от английского &amp;quot;domain name&amp;quot;). Все знают, что адреса различных сайтов выглядят примерно как wwwcompany.ru. В данном случае доменным именем первого уровня (от английского &amp;quot;top level domain&amp;quot;) будет &amp;quot;ru&amp;quot; (оно часто также называется &amp;quot;домен&amp;quot; и &amp;quot;зона&amp;quot;), а доменным именем второго уровня будет являться &amp;quot;company&amp;quot;. Вот это доменное имя второго уровня и будет нас интересовать в течение всего цикла. Доменные имена третьего уровня выделяются, как правило, бесплатно, особого интереса для нас не имеют, поэтому упоминаться не будут, за исключением доменов .com.ru, .net.ru, .org.ru, .pp.ru, - они выдаются РосНИИРОСом бесплатно, но практически приравнены к домену .ru и поэтому я опишу процесс регистрации доменного имени в этих зонах в следующих статьях. Также в дальнейшем я упомяну и процесс регистрации в зонах .msk.ru и .spb.ru - они являются практически аналогами зон .com.ru и т.д., только делегируются Релкомом.&lt;br /&gt;Прошу учесть, что имя сайта и то, где он находится - вещи разные. Сайт может находиться у вашего провайдера или на каком-нибудь бесплатном сервере, - главное, чтобы они поддерживали такую услугу, как виртуальный хостинг (что это такое, я расскажу в следующей статье). При регистрации доменного имени нужно будет просто правильно указать настройки, и ваш сайт станет доступен по зарегистрированному имени. Часто предлагается регистрация доменного имени вместе с хостингом, то есть для вас регистрируют доменное имя и предоставляют место для расположения вашего сайта (это и называется хостингом). Не менее часто последнее время предлагают зарегистрировать доменное имя бесплатно, если вы согласны платить за хостинг. Так как нас интересует только регистрация доменного имени (хостинг мы себе и сами найдем), то вопрос о бесплатной регистрации доменных имен с платным хостингом мной затрагиваться не будет.&lt;br /&gt;Зачем нужно регистрировать себе доменное имя второго уровня, тем более что это практически всегда стоит денег, если можно бесплатно получить имя третьего уровня, или вообще обойтись адресом, выданным провайдером, нечто типа home.provider.ru/~moya_stranica/? Попытаюсь ответить на этот вопрос. Во-первых, улучшается запоминаемость адреса вашего сайта. Его легко запомнить, увидев на визитке или в рекламе. Его легко продиктовать. Как следствие, если на нем есть ценная или интересная информация, посетитель вернется к нему, даже через неделю вспомнив его адрес, и порекомендует друзьям. Во-вторых, это дает независимость от вашего провайдера и от служб, предоставляющих бесплатные услуги для размещения сайтов. Просто при необходимости переносите сайт и изменяете настройки доменного имени. В-третьих, если вы регистрируете адрес для коммерческой структуры, то пользователь быстрей найдет вас, если знает ваше название и оно совпадает с названием сайта. При поиске информации большинство людей набирает сначала wwwимя_компании.ru (wwwимя_компании.com), а уже потом идет на поисковые сайты. Также ваши конкуренты не смогут использовать против вас или с выгодой для себя имя сайта, размещая там стороннюю информацию. В-четвертых, свое доменное имя укрепляет имидж и солидность, как компании, так и простого человека, если он имеет свой сайт. Отсутствие у сайта собственного доменного имени часто трактуется посетителями сервера как нехватка у его хозяев средств на регистрацию - соответствующее отношение у них (посетителей) и сложится по отношению к фирме. В-пятых, можно будет иметь почтовый адрес что_угодно@ваше_имя.ru - тоже неплохо. Например, если фирма называется &amp;quot;Эктако&amp;quot; и имеет сайт wwwectaco.ru, то можно будет настроить много почтовых адресов: webmasster@ectaco.ru, sotrudnick@ectaco.ru, и т.п.&lt;br /&gt;Итак, мы все обдумали и решили, что мы уже взрослые и свое доменное имя нам зарегистрировать надо. Уясним же теперь одну не очень приятную вещь - это всегда стоит денег. Иногда больше, иногда меньше - в зависимости от престижности домена первого уровня, в котором вы будете регистрировать себе имя. Так, зарегистрировать и ежегодно платить за имя в зоне &amp;quot;ru&amp;quot; будет стоить 24 у.е. (с учетом НДС), а в зоне &amp;quot;tv&amp;quot; - 150 у.е. В других зонах это может быть дешевле, а может и дороже. Системы оплаты могут быть разными. Где-то принимают оплату через кредитную карту, где-то через банк интернет-платежей PayPal, где-то переводом.&lt;br /&gt;Кто-то может возразить, что есть сайты, типа wwwnamezero.com, wwwnamezero.ru, и wwwemeisp.com, дающие доменные имена бесплатно. Да, они дают их бесплатно. Но, во-первых, регистрируют они их на себя, а не на вас, во-вторых, как правило, крутят на вашей странице рекламу, а, в-третьих, они могут после раскрутки вами адреса отказать вам в обслуживании и предложить выкупить раскрученное доменное имя вам же либо кому-нибудь еще за кругленькую сумму. Оно вам надо? К тому же, так как сервис бесплатный, он может в любой момент либо закрыться без предупреждения, либо стать платным. Впрочем, бесплатная регистрация доменных имен - тема отдельная и достаточно интересная, поэтому обязательно будет освещена мной в отдельной статье.&lt;br /&gt;Но не все так плохо. Есть такие неплохие и вместе с тем бесплатные зоны, как .com.ru / .net.ru / .org.ru / .pp.ru / .spb.ru / .msk.ru. О них я расскажу в первую очередь, ибо у простого российского человека денег на платный домен может и не быть.&lt;br /&gt;Теперь займемся выбором зоны, в которой будем регистрировать себе доменное имя. Немногие знают, что этих самых зон очень много, и имя можно себе составить - пальчики оближешь! Ну например, очень даже запросто можно получить имя domashnee.tv, piratskie.cd, europaplus.fm, krutoy.dj, dukenukem.md, i_love.ms, doloi.ie, legko.li, trud.no, hate.is, fig.im, moy_vysokiy.iq, idi.na, da.nu, windows98.se. Я уж молчу про адреса типа bazara.net, anekdotov.net, perevodov.net, referatov.net, deneg.net (правда, именно эти имена уже заняты, хотя, например, насчет имени mozgov.net я не знаю, может и свободно пока что). Да что там! Сейчас писать на заборах &amp;quot;Машка - дура!&amp;quot; уже не модно. Гораздо интереснее раздать её друзьям адрес сайта mashka.co.za, разместив там соответствующую информацию. Для не очень сведущих в компьютерной терминологии поясняю - названия некоторых зон выглядят очень похожими на распространенные сокращения. Например, сочетание &amp;quot;md&amp;quot; расшифровывается как &amp;quot;must die&amp;quot; (должен умереть), &amp;quot;ms&amp;quot; - Microsoft, &amp;quot;ie&amp;quot; - &amp;quot;Internet Explorer&amp;quot;, &amp;quot;se&amp;quot; - &amp;quot;special (или second) edition&amp;quot;, &amp;quot;iq&amp;quot; - &amp;quot;intelligence quotient&amp;quot; (коэффициент интеллекта). Сокращения &amp;quot;tv&amp;quot;, &amp;quot;fm&amp;quot;, &amp;quot;cd&amp;quot;, &amp;quot;dj&amp;quot;, думаю, расшифровывать не надо, а &amp;quot;co.za&amp;quot; при произношении звучит как русское слово &amp;quot;коза&amp;quot;. Список всех зон (доменных имен первого уровня) с указанием, какая зона какой стране принадлежит, а также с ссылками (по возможности) на сервисы &amp;quot;whois&amp;quot; можно было просмотреть 25 августа 2001 г. по адресам &lt;a href=&quot;http://www.host4u.co.za/codes.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.host4u.co.za/codes.htm&lt;/a&gt; и &lt;a href=&quot;http://www.norid.no/domreg.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.norid.no/domreg.html&lt;/a&gt;&lt;br /&gt;Не все зоны доступны для непосредственной регистрации. Например, к великому разочарованию многих товарищей (точнее, господ), адрес tipa.au зарегистрировать просто не получится. Почему - объясняю. Существуют так называемые общемировые зоны. Это com, net, org, edu, mil, gov, произошедшие соответственно от COMmercial (или COMmon), NET (сеть), ORGanization, EDUcation, MILitary, GOVernment. Взяв эти зоны за пример, многие держатели зон, в том числе и au, создали такие подзоны в своих доменах. Таким образом, для регистрации доступны только зоны типа com.au, co.uk, co.jp, co.za, и т.п. То есть, если быть точным, вы регистрируете себе доменное имя уже третьего, а не второго, уровня. Но так как по смыслу они приравнены ко второму уровню, я различий делать в статье не буду, вы же просто примите эту информацию к сведению. Наиболее полный список доступных зон я нашел по адресу &lt;a href=&quot;http://www.allwhois.com/alltlds.html.&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.allwhois.com/alltlds.html.&lt;/a&gt; Тут же можно посмотреть, какие зоны доступны для регистрации в них доменных имен и по каким примерно ценам.&lt;br /&gt;Хочу предупредить: в некоторых зонах регистрировать имена можно только резидентам, то есть тем, кто проживает или зарегистрирован (для фирм) или хотя бы имеет представителя в той стране, которой принадлежит зона. Это, в частности, относится к зоне .is (Исландия). Но не всё так мрачно - во-первых, с помощью того же интернета можно обзавестись друзьями в нужной стране, которые помогут, либо, во-вторых, можно всё же воспользоваться посредническими услугами фирм-регистраторов - другого выхода просто может и не быть.&lt;br /&gt;Теперь приступим к выбору собственно самого имени. Если вы регистрируете его для коммерческой организации, то выбор, как правило, невелик - либо аббревиатура (сокращение по первым буквам), либо полное название, либо частично сокращенное. Примеры: krf.ru - КарелРыбФлот, aura.ru - компьютерная фирма &amp;quot;Аура&amp;quot;, compumir.ru - сеть магазинов &amp;quot;Компьютерный мир&amp;quot;. Хотя иногда и в этом случае приходится напрягаться - если имя уже занято. Тогда можно либо подобрать укороченное звучание названия фирмы, либо выбрать другую зону, благо их доступно более чем. Для частного лица можно основываться на фамилии / имени / интернетовском никнейме, или придумать что-нибудь примечательное. Например, существует такой сайт - divanov.net. О чем вы подумаете в первую очередь? Правильно - о том, что по этому адресу находится интернет-магазин по продаже диванов. На самом деле там и правда находится интернет-магазин, но продает он, во-первых, не только диваны, а во-вторых, носит такое имя не из-за них, а потому, что директор магазина - Дмитрий Иванов. Вот где выразился полет фантазии! Еще один из последних писков моды - имена типа gromko.ru, mnogo.ru, и иже с ними. Еще можно использовать в имени некоторые сокращения - 4u, 4all, 2u, и тому подобные (4u по-английски звучит как &amp;quot;for you&amp;quot;, т.е. &amp;quot;для тебя&amp;quot;). Пример такого имени - monitor4u. Также запоминающимся будет адрес, в смысловом содержании которого задействовано и имя первого уровня (зона). Несколько таких примеров я приводил выше, но приведу еще один (очень уж он мне понравился). В ближайшее время собирается появиться еще одна зона - &amp;quot;eu&amp;quot;, для европейских стран, содружеств, и сообществ. Так вот, весьма прикольно звучит адрес yahoo.eu: (Для тех, кто не сообразил сразу - прочитайте &amp;quot;yahoo&amp;quot; вслух по правилам английского языка, а &amp;quot;eu&amp;quot; - как &amp;quot;ею&amp;quot;, и все поймете). Хотя вряд ли европейские координаторы дадут вам зарегистрировать такой домен - &amp;quot;Yahoo&amp;quot; уже давно является зарегистрированной торговой маркой. Рекомендую, кстати, продумать несколько названий для сайта - если один из адресов занят, можно будет использовать для регистрации альтернативный.&lt;br /&gt;Сделаю небольшое отступление касательно недавно появившейся услуги по регистрации доменных имен на кириллице (на русском языке). В общем и целом я согласен с Артемием Лебедевым, который написал в своем ру.ководстве соответствующий параграф и назвал его &amp;quot;Спасайся кто может&amp;quot;. Вкратце - не рекомендуется регистрация доменного имени на русском языке, потому что его невозможно набрать тому, у кого нет русской клавиатуры, из-за чего посещать такой сайт будут в основном жители России и ближнего русифицированного зарубежья. Еще одна проблема - возможность чередования русских и латинских букв в имени сайта. Например, одно написание - WWWIBM.COM, второе - WWWIВМ.COM. В чем разница? В том, что во втором случае латинские буквы &amp;quot;b&amp;quot; и &amp;quot;m&amp;quot; заменены на русские &amp;quot;в&amp;quot; и &amp;quot;м&amp;quot;. Вот и попробуй тут догадайся, что набирать и куда при этом попадешь... В общем, как сказал А.Лебедев, в данном случае &amp;quot;СОМ - это не рыба такая, это домен&amp;quot;, так что тему регистрации доменных имен на русском языке на ближайшее время закроем.&lt;br /&gt;Ну вот, напридумывали мы себе имен всяких-разных. Теперь надо бы проверить, не заняты ли они, и узнать, во сколько обойдется их регистрация. Тут-то нас и поджидают несколько подводных камней, начиная с того, что вы рискуете переплатить лишних 50-100 баксов при регистрации, и заканчивая тем, что, воспользовавшись нечестной службой проверки, вы лишитесь своего адреса, не успев его зарегистрировать. Рассмотрим все это подробнее.&lt;br /&gt;Сервис проверки занятости имени обычно называют &amp;quot;whois&amp;quot;. Предоставляют его чаще всего те фирмы, которые занимаются регистрацией этих имен. Вот здесь и могут возникнуть проблемы. Если вы воспользуетесь сервисом на сайте какой-либо регистрирующей фирмы, а не на сайте держателя зоны, то вполне может оказаться, что ваше имя зарегистрирует эта фирма, чтобы впоследствии предложить его для выкупа вам или кому-нибудь другому по завышенной цене. Современные технологии вполне позволяют вести на сайте журнал запросов проверяемых доменных имен. После этого не составляет никакого труда просмотреть этот журнал, отобрать наиболее значимые и примечательные имена и зарегистрировать их. В следующий раз при проверке или при попытке регистрации имени вам будет выдана информация, что этот домен уже зарегистрирован, и будет указана контактная информация. При попытке связаться по указанным координатам вы получите предложение выкупить домен. Причем сама фирма-регистратор может оказаться и не очень-то виноватой - журналом проверок имен может воспользоваться какой-нибудь один недобросовестный сотрудник, который передаст его друзьям на стороне, и уже те зарегистрируют его. Фирма-регистратор, где вы проверяли имя, окажется как бы и ни при чем, но имя-то для вас будет уже потеряно. Поэтому я рекомендую всегда пользоваться для проверки занятости имени сайтами держателей доменов первого уровня. Обманывать вас носитель домена не должен - зачем ему это, если и без того вся власть по управлению имен у него в руках. С другой стороны, лично я слышал жалобы на Network Solutions (одна из старейших и навороченнейших контор по регистрации доменов в зонах com/net/org) по поводу киберсквоттинга (перехвата доменных имен)...&lt;br /&gt;Приступим, наконец, к проверке. Для зоны &amp;quot;ru&amp;quot; проверять занятость имени можно на wwwnic.ru. Там же можно проверить и занятость имен в зонах com, net, org. Свободность имен в зонах .com.ru, .org.ru, .net.ru, .pp.ru можно проверить на сайте РосНИИРОС. Определить адрес носителя домена можно попытаться двумя способами. Обычно адрес такого сайта соответствует названию зоны и выглядит как wwwnic.&amp;quot;зона&amp;quot; либо www.&amp;quot;зона&amp;quot;. К примеру: wwwnic.ru, wwwcd, wwwnic.is, и т.п. Если это не помогает, советую заглянуть по адресу &lt;a href=&quot;http://www.host4u.co.za/codes.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.host4u.co.za/codes.htm&lt;/a&gt; - там дан список всех зон со ссылками на сайты их держателей, если таковые (сайты) имеются. Можете также зайти на уже упоминавшийся сайт AllWhois - там тоже есть возможность перехода на сайт с сервисом whois для выбранного домена. Так что берите список придуманных имен - и вперед, приступайте к проверке! Правда, предупреждаю сразу: к сожалению, не все ссылки на сайте AllWhois правильные, так что иногда придется поискать нужный сайт ручками. Могу еще посоветовать хороший сайт проверки существования доменных имен wwwdomainwhitepages.com - можно посмотреть любой домен в любой зоне. Однако, пользуясь им, помните про возможность перехвата информации...&lt;br /&gt;Напоследок приведу пару примеров возможных &amp;quot;подводных камней&amp;quot;.&lt;br /&gt;Первый пример иллюстрирует, каким образом можно заплатить лишние деньги за регистрацию. Есть такой сайт - wwwdot.am. Они предлагают зарегистрировать доменное имя в зоне &amp;quot;am&amp;quot; (Армения), упирая на то, что это имя очень подходит для радиостанций, вещающих на данной длине волны. Ну то, что эта зона создана для Армении, а не для поддержки владельцев радиостанций, не так уж и важно. А вот то, что за регистрацию они просят $300, тогда как на сайте Армении (wwwamnic.net) вы можете сделать то же самое за $250 - уже интереснее, ведь 50 баксов на дороге не валяются.&lt;br /&gt;Второй пример - перехват доменного имени. Одного человека попросили помочь зарегистрировать доменное имя для сайта о Соловецких островах solovki.ru, причем это было не к спеху. Откуда произошла утечка информации, до сих пор неясно: то ли человек сболтнул где-то, то ли он как раз воспользовался левым сервисом whois, но через два дня оказались занятыми имена solovki.ru и solovki.com, то есть имена в самых распространенных зонах. После того, как мы обратились к людям, на которых оказались зарегистрированы эти имена, они ответили: &amp;quot;предлагайте вашу сумму, тогда обсудим передачу вам этих имен&amp;quot;. Но тут они слегка просчитались. Да, человек, ищущий информацию о Соловках, первым делом попытается набрать именно эти адреса. Но информации-то там нет! Поэтому он обратится к поисковой машине, которая выдаст им список сайтов, наполненных нужной информацией. И если сайт будет называться solovki.it или solovki.org, а не solovki.ru/com, то от этого ничего не изменится. Так что перехватчики ничего не выиграли, а только потратили деньги на бессмысленную регистрацию имени. Правда, на данный момент они стали действовать хитрее - просто берут информацию с наиболее продвинутого сайта о Соловках solovki.net и с других более мелких сайтов, и размещают ее у себя, при этом скромно называя себя &amp;quot;пожалуй, лучшим информационным ресурсом о Соловецких островах&amp;quot;, и предлагая размещать за деньги на своем сайте рекламу. Правда, никто этого пока что так и не сделал... Так что не допускайте утечки информации.&lt;br /&gt;Итак, теорию мы узнали, имена придумали и проверили. Осталось их зарегистрировать. В следующих статьях я приведу пошаговые примеры регистрации доменного имени в различных зонах - &amp;quot;ru&amp;quot;, &amp;quot;pp.ru&amp;quot;, &amp;quot;com.ru&amp;quot;, &amp;quot;msk.ru&amp;quot;, &amp;quot;co.za&amp;quot;, и в других. Также я расскажу о бесплатной поддержке DNS (она пригодится, если необходима максимальная экономия денег при регистрации имени), и других полезных и сопутствующих вещах. До встречи!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 15:20:48 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=104#p104</guid>
		</item>
		<item>
			<title>Как кинуть банк</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=103#p103</link>
			<description>&lt;p&gt;Потребительский кредит. Взять и не вернуть! Зачем банки дают народу деньги и почему под такие большие проценты? Какой банк лучше для кидков? Небольшая инструкция для тех, кто чувствует, что должен кинуть банк.&lt;br /&gt;Потребительские кредиты сегодня очень популярны. Предоставляют их многие банки. &lt;br /&gt;«Приват» – пожалуй самый жадный банк в Украине. Их служба безопасности даже нанимает людей, что бы те с молотками и ломами выбивали деньги у заемщиков (конечно же если они вас найдут).&lt;br /&gt;«Правекс» – хороший банк. Но они требуют целый портфель документов (паспорт, код, справка о доходах, иногда даже поручитель) для оформления кредита. Обмануть их тоже можно, но все равно сложно. Неуплата по кредиту заемщиком лежит на ответственности сотрудника, который выдал ему этот кредит. &lt;br /&gt;«Дельта» - самый «сладкий». Идеально подходит для начинающего кидалы. Его соучредители являются собственниками сети «Фокстрот», они взяли под маленькие проценты в немецком банке кредит, и теперь раздают народу эти деньги. &lt;br /&gt;Когда вы идите на дело нужно подготовиться. &lt;br /&gt;- Узнать все о банке, об их сотрудниках и об условиях. &lt;br /&gt;- Быть уверенным в разговоре с кредитным экспертом, мол вы уже не первый раз берете кредит и знаете о чем идет речь.&lt;br /&gt;- Говорить четкую, ясную информацию о месте работы, главное это рабочий адрес, телефон, возможно ФИО директора. Так же стационарный номер телефона и ФИО человека, который вас знает и сможет подтвердить вашу личность.&lt;br /&gt;- В некоторых случаях вас могут сфотографировать (например при покупке мобильного телефона), это конечно плохо - у них будет ваше фото,- но не смертельно.&lt;br /&gt;- Иногда лучше сразу сказать, что вы готовы сделать аванс в размере 10% от суммы товара, в этом случае ваши шансы на позитивный результат увеличиваются вдвое.&lt;br /&gt;- И самое главное это ваш внешний вид и поведение. Нужно, что бы у сотрудника не сложилось впечатление о вас, что вы мошенник, пусть даже решение о займе принимает не этот сотрудник, но он может занести дополнительную информацию о вас, например: клиент подозрительный и т.д.&lt;br /&gt;Что необходимо для получения кредита. На сегодняшний день это паспортные данные (главное украинская прописка и чтобы вас по ней не смогли найти, идеальный вариант когда на этом месте уже и дома то нет) и идентификационный код. Нужно не забывать, что все базы требуют обновлений и не всегда банкам это удается делать. Все остальное - со слов клиента. Еще информация о месте работы (адрес, телефон, должность, общий стаж, иногда ФИО директора). Лучше, когда не меньше 3-х месяцев уже там работаете. Не всегда служба безопасности детально проверяет данные. Обычно проверка происходит 5 - 10 минут. Поэтому основной акцент делается на том, что все данные логичны, последовательны, организация действительно официально зарегистрирована, проблем с законом не было. &lt;br /&gt;Обратите внимание, чтобы ваша занимаемая вами должность соответствовала внешнему виду и поведению. Вас могут разводить на разговор о том, как давно вы там работаете, удобно ли вам добираться на работу и все такое прочее. Главное – отвечать уверенно.&lt;br /&gt;Так же с ваших слов берется информация о человеке, который сможет подтвердить вашу личность. Это может быть друг, сосед и т.д. Нужно знать его номер телефона (лучше, когда стационарный) и ФИО. Данные могут браться о вашей машине, правах, но лучше этого не сообщать (нет и все). Данные о заработной плате следующие: основной доход на работе (нужно говорить адекватно вашей занимаемой должности и немного завысить) и так же информация о дополнительных доходах (здесь можно говорить сколько угодно, но тоже в пределах разумного, так же сообщить об источнике - например з/п мужа, или подработки не указывая какие именно, или аренда квартиры, или домашнее хозяйство и прочее). После этого могут спросить брали ли вы кредиты раньше. Если да, то в каком банке, в каком году и какую сумму. Эти данные тоже проверяются автоматически, но лучше говорить, что не брали. Это основное, дополнительно могут быть наводящие и разводящие вопросы сотрудника банка. &lt;br /&gt;Лучше всего идти в новый банк и к новому сотруднику, они только начинают работать, опыта мало и дают всем подряд, только бы перегнать конкурентов. Это такие банки, как Русский Стандарт, UniCredit, Родовид-Банк, Банк Ренесан Капитал.&lt;br /&gt;Кстати Еврокредит, «Ренессанс», «Капитал», «Дельта» не сообщают клиенту эффективную ставку по кредиту, что нарушает распоряжение НБУ. За это можно зацепиться.&lt;br /&gt;Все что вы подписываете это: договор, график погашения и копии своих документов. Поэтому, главное читать внимательно договор, все что вам рассказывали должно быть написано в договоре, если там нет чего-то значит банк вас кидает, так кидайте и вы его. &lt;br /&gt;Когда вы пишите и подписываете документы, то лучше писать не своим почерком, а так же стараться расписываться не так как в паспорте (если это вообще ваш паспорт). Очень часто сотрудники не замечают эту мелочь (зато в суде вы докажите, что подпись не ваша, и вам ничего такого не говорили). Подписывая копии своих документов (паспорт и код) так же вы можете случайно поставить не ту дату, которая будет не совпадать с датой выдачи кредита (например, перепутать год или месяц), а если сотрудник заметит, сказать что ошиблись машинально и он сделает новые копии. Подпись так же стараться сделать не свою. Если в каком-нибудь из документов сделана ошибка или что-нибудь зачеркнуто, исправлено, документ может стать недействительным, что тоже хорошо при разборках в суде. &lt;br /&gt;Что нужно помнить, при подделке идентификационного кода. Первые 5 цифр это число дней от 01.011.1990 до вашего дня рождения. Потом - зашифрованый пол (мужской или женский). Далее - сложнее. &lt;br /&gt;Однако следует помнить, что подделку документов для получения кредита могут классифицировать как мошенничество или еще какой криминал. Когда вы подделываете документы – вы потенциальный уголовник, а когда оформляете на свои – просто несчастный временно неплатежеспособный человек. &lt;br /&gt;Если вы взяли кредит, не платили и вас поймали, то вы все отрицаете. Самое главное, чтобы тот кредитный эксперт который вам выдавал кредит не писал объяснительную на вас о том, что это действительно были вы в такое то время, в таком то магазине и оформляли кредит. Возможен другой вариант - «денег нет, когда будут обязательно верну». Такой вариант применим только в том случае, если у вас нечего отсудить, арестовать и нет зарплаты с которой можно что-либо удержать.&lt;br /&gt;Нужно понимать, что банк с большим капиталом вряд ли будет особо убиваться за ваши копейки, судебная волокита обойдется им дороже. Поэтому риск невозврата всегда заложен в процентной ставке. Обидно, если эти деньги достанутся банку.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 15:08:28 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=103#p103</guid>
		</item>
		<item>
			<title>Типы DoS атак</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=102#p102</link>
			<description>&lt;p&gt;DoS атака - это мощная сила. В этой статье я расскажу о теоретической части осуществления DoS атак. 100% защиты от этого практически не существует, к примеру файрвол – не даёт атакуемому компьютеру отвечать на запросы, но темнемение &amp;quot;мусорные&amp;quot; пакеты всё ровно доходят до атакуемого ПК, снижая тем самым пропускную способность шины. В дальнейшем цикле статей, посывящённом дос атакам мы подробно расмотрим практическую сторону реализации и защиты от подобного рода атак :)&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt; Думаю что термин DoS атака для тебя не новый. Но всёже вкрации опишу принцип, на котором построена DoS атака.&lt;br /&gt; А если запросы слать в значительных количествах скорость у жертвы упадёт до такой степени, что пользоваться сетью ставит невозможно, из за очень маленькой скорости работы. Используя эти знания можно закосить канал жертвы. Для осуществления Dos атак существует множество хак утилит, таких как Net Tools. Естественно, что канал у тебя должен быть более широким, чем у жертвы, хотя существует спуфинг, и DDoS о которых мы подробно поговорим в рамках этой статьи. &lt;br /&gt;Приступим непосредственно к расмотреню типов атак:&lt;/p&gt;
						&lt;p&gt; Спуфинг&lt;br /&gt; Использование спуфинга в DoS атаках может быть очень полезно для хакера. Спуфинг - это подмена адреса отправителя в пакете данных. (Информация в сети передаётся в виде пакетов, и каждый пакет имеет множество полей(срок жизни, отправитель, получатель, контрольная сумма)). Какием образом спуфинг может помоч хакеру? Вопервых - при подаче запроса на атакуемый комп мы получаем и ответ, что в свою очередь снижает скорость интернета и у нас. Во-вторых - можно указать в качестве адриса отправителя пакета сам атакуемый комп, и если система плохо защищена то атакуемый комп будит сам себя досить в непрерывном цикле. В качестве отправителя можно указать и адрес ещё одного атакуемого компа, что тоже даст положительный эффект. Втретьих - Безопасность. Имея реальный ип тебя легче отследить. Поддержка спуфинга имеется во многих дос программах, в дальнейшем мы разберём исходники собственных программ для спуфинга. &lt;/p&gt;
						&lt;p&gt;Атаки насыщением полосы пропускания&lt;br /&gt; Самый примитивный способ DoS атаки. Для реализации достаточно просто пингонуть жертву. Под словом пингануть подразумевается DoS команда ping (WIN+R-&amp;gt;cmd-&amp;gt;ping ip_adres). Эта команда заставит твой комп слать запросы на адрес атакуемого компа. Пр этом можно выбрать таймаут ожидания, и число отправляемых пакетов.&lt;/p&gt;
						&lt;p&gt;Атаки на истощение ресурсов&lt;br /&gt; При этом типе атаки на атакуемый комп посылаются специально подготовленные пакеты, на обработку которых атакуемой машине потребуется какоето время. При большом количестве таких пакетов комп будит гораздо медленнее работать, либо зависает. &lt;/p&gt;
						&lt;p&gt;DoS атаки, использующие дыры в ПО жертвы&lt;br /&gt; При этом типе атаки хакер использует какие либо дыры в сетевом (использующем ресурсы сети) софте. Например послал хакер спецальо заготовленый пакет на порт уязвимой софтины, и завис атакуемый комп :) &lt;/p&gt;
						&lt;p&gt;Атаки фильсифицироваными пакетами&lt;br /&gt; Хакер подбирает пакеты, содержимое которых призвано изменить параметры конфигурации атакуемого компьютера в меньшую сторону. &lt;/p&gt;
						&lt;p&gt;Smuf атака&lt;br /&gt; Для того, чтобы послать пакеты хакер использует не свой комп, а более мощный сервак, сама же атака может реализоватся с помощю php скрипта. &lt;/p&gt;
						&lt;p&gt;DDoS&lt;br /&gt; Инаконец мы подошли к самому мощному из типов DoS атак. При использовании DDoS атакуемую машину атакует огромное количество компов, обычно эти компы насильно захватываются хакером, и образуют единую сеть - ботнет. Каждый такой комп называется зомби, и подчиняется владельцу ботнета. Обычно компы замбируются при посещении сайтов хакера, используются дыры в браузере. Также любимые хакером методы - это спам рассылки, и черви. Мини словарь&lt;br /&gt; DoS - отказ в обслуживании, тип атаки при использовании которого у отакуемой машины значительно падает скорость связи с сетью, либо вобще становится невозможным.&lt;br /&gt; Спуфинг - это подмена IP адреса отправителя в пакете данных.&lt;br /&gt; Спам - почта рекламного характера, которая рассылается без согласия получателя.&lt;br /&gt; Зомби, бот - компьютер, который управляется хакером, и вынужден решать задачи возложенные на него, заражается без согласия юзера&lt;br /&gt; Ботнет - сеть из зомбированых компов&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Выводы&lt;br /&gt; DoS атаки редко, но всёже используются совместно с другими видами атак именно для взлома - проникновения. В целом же это всеволиш способ похулиганить. Для общего развития рекомендую посетить сайт - webkill.ru где можно скачать друге мои статьи.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:58:47 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=102#p102</guid>
		</item>
		<item>
			<title>Взлом мыла</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=101#p101</link>
			<description>&lt;p&gt;Довольно часто начинающие задают вопросы про взлом мыла. Из этой статьи ты узнаеш о 10 способах угона майл ящика. Разумеется идиального взлома не существует, темнемение всегда существут вероятность того, что система не надёжно защищина, и в принципи идиальной защиты тоже не существует. &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;br /&gt; Часто юзеры ставят реальные ответы на свой секретный вопрос, и забывают о секретности ответа. Можно вступить в контакт с владельцем мыла, и в процессе общения узнать ответ на секретный вопрос. &lt;/p&gt;
						&lt;p&gt;Брут&lt;br /&gt; Так называемая грубая сила, предпологает использование перебора всех возможных комбинаций пароля, в надежде что однажды пароль совпадёт с реальным, и призойдёт афторизация. Пароль может генерироватся по алгоритму (в определённом диапазоне), случайным образом, либо братся из словаря (атака по словарю). Существует множество программ для брута мыла, которые без проблем можно найти в сети. &lt;br /&gt; Общий алогоритм работы брутфорса выгледит так: &lt;br /&gt; 1. ПО на стороне взломщика посылает запрос на афторизацию с логином, и паролем от взламыевого мыла (пароль взят из словаря\случайным образом\по диапазону) &lt;br /&gt; 2. Сервер проверяет правильность логина, и пароля, если всё правильно сервер посылает хакеру запрос о том, что авторизаия удалась, и пароль считается подобраным, если же авторизация не удалась сервер шлёт соответствующий ответ взломщику,и процесс авторизации повторяется заново, но в качестве паса используется уже другая комбинация символов. И так до техпор пока не выпадет правельный пас, либо у взломщика не кончится тепрение.&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Соц инжинерия&lt;br /&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; &amp;#160;Словарь:&lt;br /&gt; Мыло - E-Mail ящик&lt;br /&gt; Грубая сила - метод взлома, при использовании которого не применяется хакерский интеллект :)&lt;br /&gt; Социальная инженерия - способ получения секретных данных, при использовании которого хакер входит в доверие к жертве, и жертва сама открывает доступ к секретной информации. Наивно пологая что говорит пароль своему босу, службе поддержке, другу.&lt;br /&gt; Снифер - программа, которая собирает (и обычно анализирует) весь сетевой трафик.&lt;br /&gt; Троян - программа, при запуске которой она собирает пароли, конфиденциальную информацию хранящующуюся на компе, и передаёт эти данные злоумышленику&lt;br /&gt; Брут - перебор всех возможных комбинаций пароля, в надежде что однажды выпадит верная комбинация, и пароль будит подобран.&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;&amp;#160; Админы майл сервера&lt;br /&gt; Админы - тоже люди, которые как и ты имеют свои особенности. Можно написать письмо в службу поддержки с просьбой отдать это мыло (типа ты забыл пас), либо купить его. Скорее всего за большие деньги тебе его продадут, но тут по принцпу - сначало деньги, потом товар. Меньше 500 баксов не советую и предлагать. &lt;br /&gt; Админы обычно требуют точные данные о пользователе, которые нужно знать. Поэтому при регистрации не рекомендую указывать свои реальные данные. В системе напроминания паролей может быть даже спецальная форма для отправки модеру\админу сообщения о том, что юзер потерял пароль. Правда нужно знать многоинфы про юзера... &lt;/p&gt;
						&lt;p&gt;Куки жертвы\файлы с зашифроваными пасами&lt;br /&gt; Если владелиц мыла использует web интерфейс, то скорее всего остаются куки, в любом случае если чел не вводит пас вручную каждый раз при авторизации он где-то сохраняется(в зашифрованном виде) ведь юзеру гиморно каждый раз вводить пас вручную, особенно если длинный пароль. Получив эти файлы их можно расшифровать уже на своём компе. Получить куки в некоторых случаях проще чем впаривать троя, достаточно жертве перейти по линку. А использование дырявого майл клиента может привисти к кретическим для жертвы последствиям (Секюритилаб.ру рулит :)) &lt;/p&gt;
						&lt;p&gt;Айпишник жертвы&lt;br /&gt; Зная IP адрес будующей жертвы, и то что жертва в онлайне, её можно взламать используя сплоиты, которые юзают различные уязвимости на ПК жертвы. Узнать айпишник можно при помощи пхп скрипта, к которому обратится юзер перейдя по линку. &lt;/p&gt;
						&lt;p&gt;Снифер&lt;br /&gt; Если жертва выходит в сеть через твой комп, (т.е есть сеть, ты предоставляеш для этой сети подключение к инету, и владелиц мыла выходит в сеть через тебя), либо в основи сети лижит хаб, а не свич (разница в том, что хаб шлёт пакеты с одного компа на всю сеть, и каждый комп сам опеределяет для него эта инфа или нет, а свич передаёт пакеты только непосредственно получателю). Можно отснифить трафик (отснифить значит перехватить все пакеты, сделать это можно при помощи снифиров), и среди перехваченого хакера может оказатся и запрос юзера на афторизацию, содержащий пароль от мыла. &lt;/p&gt;
						&lt;p&gt;Взлом майл сервера&lt;br /&gt;Если взломать сервер, то можно получить доступ, и управление над всеми мылами. Это способ для кул хакеров. Популярные сервера обычно очень надёжно защищаются. &lt;/p&gt;
						&lt;p&gt;Физические методы&lt;br /&gt; Поймать владельца мыла, и заставить сказать пароль :D &lt;/p&gt;
						&lt;p&gt;Выводы&lt;br /&gt; В любом случае идиального взлома не существует, как не существует и идиальной защиты. Удачи :)&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:55:33 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=101#p101</guid>
		</item>
		<item>
			<title>Hard FAQ. Решение проблем</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=100#p100</link>
			<description>&lt;p&gt;В этом FAQ я отвечу на вопросы, касающихся аппаратных неисправностей, и способы их устронения. &lt;br /&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;&amp;#160; У меня комп не включается, что делать?&lt;br /&gt; Нажимю конопку включения питания, и ничего не происходит&lt;br /&gt; 1. Проверь подключён ли комп к сети.&lt;br /&gt; 2. Работоспособна ли резетка, к которой подключается комп.&lt;br /&gt; 3. Включён ли Блок Питания.&lt;br /&gt; 4. Подключён, и включён ли монитор.&lt;br /&gt; 5. Проверь целостность проводов соединяющих электросеть и комп, атакже целосность кабеля монитора.&lt;br /&gt; Если вышеописаные способы непомогли решить проблему открой крышку системника, и посматри:&lt;br /&gt; 6. Работает ли куллер на проце и вике, если работают все куллеры, скорее всего неиспраность в видюхе, или в монике. Если не работает не один куллер ищи причину в блоке питания, либо в системной плате, в случае если работает только куллер на системной плате ищи неиспровности в видео карте. Проверь надёжно ли всё соединено в нутри системника, атакже проверь работоспособность компонента, в котором ты сомневаешся на другой машине. В случае обнаружения неисправности в каком либо из компонентов системы рекомендую обратится в сервис центр. &lt;/p&gt;
						&lt;p&gt;&amp;#160; Комп включается на некоторое время, и выключается сам по себе. &lt;br /&gt; 1. Все ли кулеры нормально работают, не нарушина ли система охлаждения? &lt;br /&gt; 2. Почисть системник от пыли. &lt;br /&gt; 3. Замени термопасту.&lt;br /&gt; 4. Возможно источник твоих беспокойств скрывается на программном уровне, например кто-то из знакомых решил над тобой так пошутить. Почисть автозагрузку! &lt;/p&gt;
						&lt;p&gt; Комп включается, но не загружается&lt;br /&gt; 1. Убидись в том что на компе установлена работоспособная ОСь.&lt;br /&gt; 2. Попробуй зайти под безопасным режимом, сделать бэкап, почистить автозагрузку...&lt;br /&gt; 3. Проверь загрузится ли ось с этого харда на другом компе, если загрузится ищи ответ в предыдущем вопросе.&lt;/p&gt;
						&lt;p&gt; Не работает переферийное устройство&lt;br /&gt; Проверь последовательно:&lt;br /&gt; 1. Подключено ли устройство к источнику дополнительного питания, если таковое имеется(у принтера например).&lt;br /&gt; 2. Поставь дровера на устройство. &lt;br /&gt; 3. Проверь работоспособность резетки к которой подключается префрия, атакже работоспособность порта на компе.&lt;br /&gt; 4. Проверь работоспособность перефирии на другом компе. &lt;/p&gt;
						&lt;p&gt; Не работает\плохо работает новая видюха&lt;br /&gt; 1. Проверь правильно ли установлина новая видюха.&lt;br /&gt; 2. Работоспособность порта, в который подключается вика.&lt;br /&gt; 3. Работает ли другая вика на этом писюке :-D, возможно бпшник выдаёт неравномерный ток.&lt;br /&gt; 4. Установи дрова для видюхи.&lt;br /&gt; 5. Проверь работоспособность моника, и видюхи.&lt;/p&gt;
						&lt;p&gt; Видущий рубрики WebKill&lt;br /&gt; Рекомендую посетить сайт о железе.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:52:43 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=100#p100</guid>
		</item>
		<item>
			<title>FAQ для начинающих 2</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=99#p99</link>
			<description>&lt;p&gt;FAQ от WebKill&#039;a 2&amp;quot; содержит ответы на популярные и не очень вопросы, которые задают мне читатели журнала. &lt;br /&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Я хочу быть спецем в компах, но ничего негде не получается, что делать?&lt;br /&gt; Вопервых одного желания мало, если ничего не делать, никогда не достигниш цели. Вовторых обучение должно строится не на принципе - хачу быть кул хакером -&amp;gt; Надо что-то делать -&amp;gt; Заставлю себя что-то делать, а по принципу Интересно -&amp;gt; узнаю новое. Отсюда вывод - если у тебя не возникает интереса к изучаемому, значит это не твоё, и не нужно насильно заставлять себя что-то учить. &lt;br /&gt; Также немаловажный фактор - это качество учебников. На мой взгляд понятные учебники, по которым в своё время учился WebKill, выбирая только лучшее выложены на сайте - book.webkill.ru. Неберись сразу за сложные задачи, начинай от простого к сложному. &lt;/p&gt;
						&lt;p&gt;Кто такой промоутер?&lt;br /&gt; Это человек, занимающийся раскрудкой сайта. &lt;/p&gt;
						&lt;p&gt;Как посоветуеш распредилить модер права на форуме?&lt;br /&gt; Давать какие либо привилегии нужно только хорошим, проверенным времинем людям. Но стоит учитывать что идиальной защиты несуществует, и у кулхакера могут угнать акаут. Поэтому рекомендую делать резервные копии БД, и встроить средство для востановления удалённых сообщений, чтобы при удаленни они поподали в особую БД, в которой бы хранились на протижении месяца, после чего удалялись автоматически если их никто не востановит. Для предотвращения угона твоего аккаута советую собюдать правила безопасности, описанные на моём сайте. &lt;br /&gt; Косательно распределения модер прав я бы выделил следующщие принципы: &lt;br /&gt; 1. На 1 раздел форума не более 3-5 модеров. Хотя всё зависит от популярности форума, и от того как часто туда заходит каждый из модеров. &lt;br /&gt; 2. Давать модеру только те разделы, в тематике которых он хорошо разбирается &lt;br /&gt; 3. В более важные разделы назначай более умных и надёжных модеров. &lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Что такое форм фактор?&lt;br /&gt; Это стандарт, определяющий габариты устройства, наличие в нём свободных разьёмов\отсеков, размищение в нём крепёжных приспособлений. Большенство гаджетов соответствуют определённому форм фактору, для того, чтобы быть обиспечить совместимость с другими устройствами. Непример среди системных блоков очень распространён форм фактор ATX. &lt;/p&gt;
						&lt;p&gt;Что за обозначения такие retail и OEM?&lt;br /&gt; Это 2 основных типа поставки(упаковки) устройств на рынке. &lt;br /&gt; retail - Это устройство в полной комплектации(коробочка, иструкция, всевозможные переходники, шлейфы). А в компликтации OEM поставляется только само устройство, в неприметной(обычно целофановой) упаковки, без инструкций, шлейфов... &lt;br /&gt; Покупка гаджета в OEM компликтации обойдётся дешевли чем reail. &lt;/p&gt;
						&lt;p&gt;Кто такие мобильные пираты?&lt;br /&gt; Это левые чуваки, которыые торгуют левыми мобилами(украдиными). Обычно торгуют не офцально, на рынках и базарах. Мобильные пираты очень отличаются от фрикеров в первую очередь уровнем познания в технике. Для затирания пасов на левых мобилах юзают готой софт. Мобилы обычно скупают по дешовке у воров. &lt;/p&gt;
						&lt;p&gt;Что такое твик?&lt;br /&gt; Тонкую настройку системы, с учётом всех ньюансов, максимально безтормазную называют твиком. &lt;/p&gt;
						&lt;p&gt;Кто такой пимпер?&lt;br /&gt; Пимпирами называют человека, исподьзующего трояна. &lt;/p&gt;
						&lt;p&gt;Что за проект такой SETI?&lt;br /&gt; Это проект, по поиску внеземных цивилизаций. Ищут они различными спосабами, собирают фото НЛО, ставят в аномальных зонах камеры слежения, сканируют эфир, и космические шумы в поисках искуственно созданых шумов.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:50:40 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=99#p99</guid>
		</item>
		<item>
			<title>Правила безопасности</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=98#p98</link>
			<description>&lt;p&gt;Наверника ты уже читал о стандартах по составлению безопасных паролей. &lt;br /&gt; Темнемение напомню, и настоятельно советую их соблюдать! &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt; 1. Длина пароля должна быть более 14 символов, а в пароле должны присудствовать символы национального, англицского алфовитов, атакже спецсимволы. Это затруднит хакеру брут(перебор) вашего пароля. &lt;br /&gt;2. Никому, и никогда не сообщай свой пароль. Никакие администраторы никгда не просят выслать им пароль. &lt;br /&gt; 3. Используй антивирус, проверяй все входящие файлы, не отурывай почтовые вложения.&lt;/p&gt;
						&lt;p&gt;4. Желательно помнить пас в голове, негде его не записывать, в случае подозрения на наличие в системе вируса вводи пас только с виртуальной клавы. &lt;br /&gt;5. Не используй один и тот же пароль на нескольких ресурсах. При угоне одного из ресурсов взломщик обязательно попробует этот пас на другой вашей виртуальной ценности. &lt;br /&gt;6. Не переходи по линкам от незнакомых людей, средствами пхп скрипта моно узнать твой айпишник (даже если просматриваемая страница имеет расширение html это вовсе не значит что это не пхп скрипт, моно настроить сервак так, что будут выполнятся любые филесы) &lt;br /&gt;7. Закрой лишние порты, поставь файрол, скачай последние обновления для системы. Чем меньше портов открыто, тем лудше. &lt;br /&gt;8. Используй для обзора всемирной сети более надёжные браузеры. На мой взгляд опера является очень неплохой, и функциональной бродилкой. В отличии от дырявого IE. &lt;br /&gt;9. Возможная угроза - Activ-X компоненты. При запуске проги каждая из них может безпрепятственно установить на твой комп свой активХ компонент (например всеми любимый флеш) но не стоит забывать что хакер используя дыры в активХ компонентах может выполнить произвольный код, и увести твой акаут. Поэтому не устанавливай лишних активХ компонентов, и удаляй лишние, уже установленые. &lt;br /&gt;10. Скриптовые языки как VBS и JavaScript несут потенциальную угрозу. Однако именно с их помощью можно оживить, и предать интеллект просматриваемым страницам. Отключать поддержку этих языков, или нет - выбор за тобой. &lt;/p&gt;
						&lt;p&gt; Это основные правила, используя которые ты сможеш обезопасить свою виртуальную собственность от несанкционированого захвата. Удачи!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:42:41 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=98#p98</guid>
		</item>
		<item>
			<title>Пролили кофе на ноутбук!? Первая помощь.</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=97#p97</link>
			<description>&lt;p&gt;Наиболее распространенным и достаточно серьезным убийственным средством ноутбука служит жидкость, причем способов «намочить» ноутбук великое множество: пролитые на клавиатуру напитки, работа под дождем, падение в бассейн (или любой другой водоем), - все это, разумеется, скажется на работе компьютера крайне отрицательно. &lt;br /&gt;В такой ситуации лучше всего обратиться к специалистам, однако ваши собственные грамотные и верные действия непосредственно после происшествия (чаще всего это именно залитая клавиатура) помогут спасти ноутбук или, по крайней мере, уменьшить причиненный ему ущерб. О том, как правильно вести себя в такой ситуации, мы расскажем в этой статье. &lt;br /&gt; &lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Прежде всего, стоит помнить: даже если количество влаги небольшое, опасность серьезных неполадок в работе все равно сохраняется. Ошибочно думать, что, протерев клавиатуру и убрав жидкость снаружи, вы эту опасность устраните. Под клавиатурой ноутбука обычно расположена материнская плата, а для нее влага в большинстве случаев смертельна. Поэтому после нежелательного «увлажнения» следует провести комплекс несколько более сложных мер, нежели простое удаление жидкости.&lt;br /&gt;Во-первых, сразу же отключите блок питания. Как можно быстрее извлеките аккумулятор; не заботьтесь о корректном завершении работы, действовать нужно максимально быстро, иначе ноутбук можно будет не спасти. Затем попытайтесь слить жидкость, если ее действительно много (если не очень, то лучше аккуратно удалить ее салфетками). Далее следует оставить ноутбук сушиться, на это требуется не менее суток (при этом прибегать к использованию фена или других сушащих устройств вовсе не обязательно). &lt;br /&gt;После всех этих операций все равно требуется квалифицированный ремонт ноутбука в сервисном центре, однако если кое-какие навыки в ремонте у вас есть, то можно попробовать справиться собственными силами. Внимание, все действия, описанные ниже можно производить только в том случае, если вы уверены в своих силах и умениях и не боитесь нанести серьезный ущерб своему ноутбуку. Зачастую, неумелые действия приводят к тяжелым последствиям и значительному удорожанию ремонта в сервисном центре. Также необходимо помнить, что эти действия могут привести к потере гарантии. &lt;br /&gt;Если пролитая жидкость – обыкновенная вода, следует убедиться в отсутствии коррозии на материнской плате. Разберите ноутбук, внимательно рассмотрите плату и все ее элементы: в местах пайки может обнаружиться светлый налет или, наоборот, почернение. Налет следует удалить (аккуратно соскрести бритвой или зачистить щеткой), затем пропаять поврежденный участок, в случае почернения пропаивать можно сразу. Если налета слишком много, то плату необходимо промыть. Снимите все навесные элементы, после чего аккуратно промойте плату под струей обычной теплой воды до удаления налета. Затем ее необходимо высушить, на это также потребуется около суток. С «высушенной» платой проведите операции, описанные ранее: пропаяйте поврежденные участки. &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;Если же жидкость более агрессивна, нежели вода (это могут быть различные напитки или даже моча домашних животных), то оставлять ноутбук на просушку в первый раз не стоит: промедление здесь может стоить ему жизни. Кроме платы промыть (и, конечно, высушить) следует саму клавиатуру.&lt;br /&gt;Когда все действия завершены, соберите ноутбук, проверьте работоспособность системы. Если проблемы с платой, то своими силами вам, пожалуй, уже не справиться: поврежденный элемент может обнаружить и починить лишь специалист. Когда будете сдавать ноутбук в ремонт, обязательно расскажите мастеру обо всех своих действиях – это поможет ему выполнить ремонт ноутбука в кратчайшие сроки.&lt;br /&gt; Будьте осторожны и берегите свою технику!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:35:03 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=97#p97</guid>
		</item>
		<item>
			<title>Статья - как выбрать ноутбук</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=96#p96</link>
			<description>&lt;p&gt;Ноутбуки за последнее время стали ощутимо дешеветь, и при этом - наращивать аппаратные возможности, приближаясь по возможностям к настольным ПК. Всё это привело к тому, что ноутбуки стали активнее покупаться потребителями, а производители ноутбуков отреагировали на это &amp;quot;выбросом&amp;quot; большого количества схожих между собой моделей ноутбуков. И когда приходишь в компьютерный магазин или на рынок, от обилия портативных машин разбегаются глаза, в такой ситуации вырать ноутбук весьма проблематично. А чуть стоит задержаться у витрины, как к тебе буквально подлетает продавец с большим стремлением продать что-нибудь подороже.&lt;br /&gt;Правда, подобное поведение характерно для продавцов в таких ТЦ как Буденовский и подобных, а продавцы-консультанты в больших компьютерных магазинах к покупателю нынче стараются относиться более вежливо. Но тем не менее, обилие разных ноутбуков, порой отличающихся друг от друга парой незначительных опций, вызывает некоторую сложность при выборе ноутбука. Как во всём этом разобраться и купить именно то, что нужно, а не то что навязывает продавец? Приведём несколько советов, которые должны помочь вам определиться с выбором ноутбука.&lt;br /&gt;Итак, с чего начать выбор ноутбука? Для начала нужно ответить на вопрос - для чего приобретается ноутбук?&lt;br /&gt;Среди множества ноутбуков для разичных потребностей, можно выделить четыре основных направления ноутбуков: для офисной работы, для игр, для мультимедиа и ноутбуки для работы в экстремальных условиях. Ещё есть вариант ноутбуков - для имиджа, но здесь советовать что-либо нецелесообразно, так как главным элементом становится дизайн машины, наличие или отсутствие драгоценностей, нежели её функциональная начинка, хотя, безусловно и в этом сегменте ноутбуков есть не только красивые но и вполне удачные, качественные и весьма производительные ноутбуки.&lt;br /&gt;По поводу работы в экстремальных условиях. К таким условиям обычно относят дождь, снег, пыль, агрессивные среды и повышенные вибрации. И выбор ноутбуков тут небольшой. Если вам нужен действительно защищённый ноутбук к примеру, для работы на химзаводе или на стройке, то тогда стоит обратиться к специализированным фирмам, которые соберут машину под ваши конкретные нужды. А если вам просто иногда приходится работать под дождем или пользоваться ноутбуком во время поездок в машине, то единственный выбор - ноутбуки от Panasonic &amp;quot;защищённой&amp;quot; серии CF, хотя и среди отечественных производителей таких как Desten и их моделей типа CyberBook S734. Разница между простым защищенным ноутбуком и действительно защищеным или &amp;quot;неубиваемым&amp;quot; ноутбуком примерно такая же, как между внедорожником и городским паркетником.&lt;br /&gt;Теперь остаются три главных направления которые расчитаны на массового потребителя: офис, игры и мультимедиа.&lt;/p&gt;
						&lt;p&gt;Как выбрать ноутбук для офисной работы&lt;br /&gt;Под такой работой понимается работа в основном с текстами, немного с графикой и в интернете. Несмотря на кажущуюся простоту такого рода деятельности, следует учитывать тот факт, что вам всё время придется смотреть на экран и работать с клавиатурой. Так что перед покупкой обратите внимание на расположение клавиш, на их цвет и маркировку, а вот белые клавиши на черном фоне или темные на белом это кому как удобно, здесь нет одного 100% мнения. Обязательно перед покупко ноутбука, попробуйте набрать пару абзацев текста, и постарайтесь оценить удобность клавиатуры, также обратите внимание на &amp;quot;нечаяно&amp;quot; нажатые клавиши - это первый признак, что к такой клавиатуре придется очень долго привыкать и неудачно размещенные клавиши ноутбука, будут постоянно нажиматься &amp;quot; как бы случайно&amp;quot;. &lt;br /&gt;По поводу дисплея можно сказать только одно - без реальной необходимости не гонитесь за сверхвысоким разрешением! При длительной работе с мелкими элементами интерфейса и текстом очень сильно утомляются глаза. Можно, конечно, выставить разрешение экрана ниже физического, но при этом всё тонкие линии и элементы становятся слишком расплывчатыми.&lt;br /&gt;Оптимальным разрешением для экрана в 14 дюймов является 1280 х 1024 или 1280 х 800 пикселей - в этом случае все элементы хорошо различимы с комфортного рабочего расстояния в 30-40 см.&lt;br /&gt;Ещё хочу сказать пару слов о глянцевых экранах. Как бы ни уверяли нас производители, в реальности &amp;quot;изображение с повышенной контрастностью и насыщенным чёрным цветом&amp;quot; нужно только при просмотре фильмов и картинок - при работе с текстом существенной разницы нет. Помимо того, есть существенный недостаток, когда вы пытаетесь включинть ноутбук на улице в солнечную погоду, естественно что яркость экрана при питании от аккумулятора снижается и вы попросту ничего не видите, т.к эран превращается в зеркало, да и что греха таить даже при полной яркости поверхность бликует так, что еле видно. Матовые же экраны ноутбуков почти лишены подобного недостатка. &lt;br /&gt;На что ещё стоит обратить внимание при выборе и покупке офисного ноутбука? Во-первых, на его вес! Поверьте, постоянно таскать с собой двух-трёхкилограммовый ноутбук надоедает буквально через неделю! Так что если вам предстоит ежедневно носить ноутбук в руках, то присмотритесь к моделям с весом не более 1,5 кг. Правда, старайтесь не увлекаться - слишком маленькие машинки хотя и существенно легче, но постоянно работать за крошечным экраном и клавиатурой всё же сомнительное удовольствие. Если ноутбук прежде всего будет находиться в офисе, то можно позволить легко и 15 дюймов, а лучше всего 15.4 - широкоформатный - и видео хорошо смотреть, да и с документами работать удобней. &lt;br /&gt;Во-вторых, обратите внимание на наличие самых необходимых для офиса интерфейсов и портов: модема, LAN, Wi-Fi, Bluetooth, PCMCIA, USB 2.0 и VGA. Всё прочие порты, скорее всего, для офисной работы вам не понадобятся.&lt;br /&gt;В-третьих,если информация на ноутбуке является тайной фирмы или просто приватной информацией поинтересуйтесь наличием системы защиты от несанкционированного доступа к вашей приватной информации. Чаще всего - это встроенный сканер отпечатков пальцев, но бывают и исключения. Хотя существуют много способов защиты и без этих наворотов. &lt;br /&gt;В-четвёртых, позаботьтесь о системе защиты ваших данных от потери вследствие повреждения жёсткого диска. К сожалению, подобных &amp;quot;приблуд&amp;quot; снаружи не видно, так что придётся детально расспросить продавца о том, как именно предохраняется диск от ударов в конкретной модели выбираемого ноутбука. Например, все современные бизнес-модели от Fujitsu Siemens оснащены специальным датчиком ускорения, который в опасных ситуациях временно паркует головки жёсткого диска, предотвращая, таким образом, его повреждение.&lt;br /&gt;В-пятых, важно наличие (или отсутствие) пишущего привода для CD/DVD-дисков. Обычно у сверхлёгких моделей (весом до 1,2 кг) он отсутствует в принципе (и редко когда идет в комплекте как внешнее устройство), в большинстве же &amp;quot;обычных&amp;quot; моделей он встроен, и более того - иногда может быть временно заменен дополнительной батареей. Про память,как оперативную, так и ёмкость жёсткого диска, можно сказать только одно - её много не бывает! Приобретайте сразу максимально возможный для вашего кошелька объём. В среднем для нормальной работы в windows xp хватает и 512 оперативки и 80 gb жесткий диск. Если хотите ставить windows Vista то минимум 1024 mb оперативки. А вот тип видео- и звуковой карты, частота и тип процессора в офисной работе большой роли не сыграют. &lt;br /&gt;Ну и, пожалуй, самый главный параметр - батареи ноутбука, вернее, длительность работы от них. Увы, средняя продолжительность работы редко превышает 3 часа, так что поинтересуйтесь, выпускается ли к выбранному вами ноутбуку батарея повышенной ёмкости и/или есть ли возможность установить вторую батарею (обычно её можно установить вместо CD/DVD-привода).&lt;br /&gt;Отдельно хотелось бы поговорить о таких специфических ноутбуках, как TabletPC и новомодных UMPC (Ultra Mobile PC). Эти машинки, благодаря интересностям вроде поворотного сенсорного экрана, могут оказаться весьма и весьма полезны тем, кому постоянно приходится вносить небольшое количество часто меняющейся информации (к примеру, работникам складов или врачам). Но вот переплачивать &amp;quot;просто так&amp;quot; за подобные удобства, малопригодные в повседневной жизни, смысл небольшой. Кроме того, UMPC не имеют встроенной клавиатуры (только внешнюю), так что о комфортном вводе большого объёма текстовой информации можно смело забыть.&lt;br /&gt;Выбор Ноутбука для 3D графики &lt;br /&gt;Приобретение ноутбука для 3D-игр занятие конечно нецелесообразное, так как возможности апгрейда у таких машин практически отсутствуют, а при нынешних темпах развития игровой индустрии вы уже через месяц-другой после покупки можете начать кусать себе локти. Лучше уж приобретите специальную игровую приставку!&lt;br /&gt;Но если вы всё-таки решились выбрать ноутбук для игр или просто для работы с 3D структурами, то вам стоит обратить внимание на следующие параметры. Во-первых, на тип и частоту процессора. Однозначно: либо Core Duo 2, либо AMD Turion 64 X2. И чем выше их тактовая частота, тем лучше. Выбор видеокарт также невелик: либо GeForce Go 7600/7700, либо ATI Mobility Radeon X1600/1700 и никаких встроенных видеокарт!&lt;br /&gt;Во-вторых, устанавливайте максимум памяти - и оперативной, и дисковой, ибо современные игры очень уж до них охочи.&lt;br /&gt;В-третьих, ЖК-экран с большим разрешением, повышенной контрастностью и качеством отображения чёрного. В случае игр глянцевая поверхность не будет помехой.&lt;br /&gt;По поводу остальных параметров (разъемы, интерфейсы и прочие &amp;quot;мелочи&amp;quot;) можно особо не напрягаться, так как ноутбуки, оборудованные подобными картами и процессорами почти всегда являются топовыми моделями, и можно быть уверенным, что с этим всё будет ОК.&lt;br /&gt;Кстати, кроме игроков, подобный мощный ноутбук может потребоваться 3D-дизайнерам и CAD-проектировщикам, которым зачастую бывает необходимо показать результат или хотя бы его часть &amp;quot;на месте&amp;quot;.&lt;/p&gt;
						&lt;p&gt;Как выбрать ноутбук для мультимедиа&lt;br /&gt;Что же подразумевается под этим красивым словом - &amp;quot;мультимедиа&amp;quot;? Строго говоря, это совокупность компьютерных технологий, одновременно использующих несколько информационных сред (графика, звук, видеоряд, текст). Так что словосочетание &amp;quot;мультимедийный компьютер&amp;quot; является тавтологией, так как, не покривив душой, можно смело утверждать, что абсолютно любой современный ноутбук может крутить видео и показывать картинки. Но, тем не менее, есть &amp;quot;специальные&amp;quot; модели, якобы лучше других работающие с мультимедиа. В них предустановлена Windows XP Media Center Edition, имеется большой (с разрешением 1920 х 1080 пикселей, чтобы &amp;quot;честно&amp;quot; воспроизводить видео высокого разрешения) и качественный дисплей, а в комплекте с ними может идти пульт дистанционного управления. Но, как вы понимаете, ноутбук всё же не очень подходит на роль полноценной замены домашнего кинотеатра.&lt;br /&gt;Но раз уж мы заговорили о мультмедийности, то стоит вспомнить, что на рынке также продаются ноутбуки от Apple, главная особенность которых - реальная &amp;quot;заточка&amp;quot; под работу с медийным контентом, будь то редактирование видео, аудио или фото. Причём эта специализация заключается не столько в наличии предустановленного софта, сколько в аппаратной поддержке таких ресурсоёмких приложений, как видео/аудио/фоторедакторы. И эта поддержка осуществляется на уровне операционной системы! Так что если ноутбук нужен для работы с медийным контентом, обязательно присмотритесь к &amp;quot;яблочным&amp;quot; MacBook&#039;ам! И будьте готовы отдать несколько тысяч долларов. &lt;br /&gt;Что касается работы с графикой, то тут есть один подводный камень: матрица ноутбука, а вернее, технология, по которой она изготовлена. И если вам нужно не просто просматривать фото, но и работать с ним, то есть необходима также и точная цветопередача, ищите модели с матрицами, выполненными по технологии IPS (например модель ThinkPad T42) или PVA (некоторые модели от Samsung). Правда, на ценниках в магазине подобной информации нет (да и продавцы часто не в курсе дела), и придется &amp;quot;копаться&amp;quot; в спецификациях на сайте приглянувшегося вам производителя.&lt;br /&gt;Ноутбуки Б/У&lt;br /&gt;Ну и под занавес - вторичный рынок. Не стоит его недооценивать, так как часто можно купить практически новый аппарат (иногда даже с действующей гарантией), но за существенно меньшие деньги. Хотя и есть риск нарваться на нечестного продавца, но он довольно низок. Кроме того, люди, продающие свое личное имущество, часто оставляют для контактов не только почту, но и имена и телефоны, а уж проверить на &amp;quot;вшивость&amp;quot; подобную информацию тем же &amp;quot;Яндексом&amp;quot; и &amp;quot;Гуглем&amp;quot; большого труда не составит.&lt;br /&gt;Кроме частников, есть большое количество фирм и фирмочек разного калибра, строящих свой бизнес на ремонте и перепродаже бэушной техники. И тут все как с автомобилями - починят, проверят, дадут свою гарантию и т. п. И при этом - цены будут существенно ниже магазинных. Удачных покупок!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 14:28:28 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=96#p96</guid>
		</item>
		<item>
			<title>Дао регистрационных защит (рабочий вариант)</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=95#p95</link>
			<description>&lt;p&gt;Мир давно привык к тому, что популярные технологии далеко не всегда оказываются хорошими. Вот и в сфере условно-бесплатного программного обеспечения наибольшее распространение получили защиты, генерирующие регистрационный номер на основе имени пользователя (регистрационные защиты). Суть этого механизма заключается в том, что на основе некоторой функции f(name) разработчик преобразует регистрационное имя клиента в регистрационный номер и за некоторую плату отсылает его клиенту. Защита же в свою очередь проделывает с регистрационным именем ту же самую операцию, а затем сравнивает сгенерированный регистрационный номер с регистрационным номером, введенным пользователем. Если эти номера совпадают, то все ОК и, соответственно, wrong reg num в противном случае (см. рис. 0x00F). &lt;br /&gt;Таким образом, защитный механизм содержит в себе полноценный генератор регистрационного кода и все, что требуется хакеру: найти процедуру генерации и, подсунув ей свое собственное имя, просто подсмотреть возращенный результат! Другая слабая точка: компаратор, т. е. процедура, сравнивающая введенный и эталонный регистрационный номера. Если на оба плеча компаратора подать один и тот же регистрационный номер (не важно введенный пользователем или сгенерированный защитой), он, со всей очевидностью, скажет &amp;quot;ОК&amp;quot; и защита примет любого пользователя как родного. Еще один способ взлома: проанализировав алгоритм генератора отладчиком и/или дизассемблером, хакер сможет создать свой собственный генератор регистрационных номеров. &lt;br /&gt;Все, чем может досадить хакеру автор защиты, - затруднить анализ и реконструкцию алгоритма генерации. Первое осуществляется оригинальными приемами программирования, противостоящих отладке и/или дизассемблированию, а второе - &amp;quot;размазыванием&amp;quot; кода по десяткам процедур, активным использованием глобальных переменных и запутанным взаимодействием различных фрагментами кода. &lt;br /&gt;Стоит ли и говорить, что запутывание алгоритма малоэффективно и отдает &amp;quot;ребячеством&amp;quot;, а подавляющее большинство антиотладочных приемов бессильно против современных отладчиков; кроме того, далеко не все антиотладочные приемы удается реализовать на языках высокого уровня. Спускаться же на уровень ассемблера практически никто из разработчиков не хочет. &lt;br /&gt;Причем, если генератор реализован в одной-двух процедурах (а чаще всего генераторы реализуются именно так!), хакеру нет никакой нужды тратить время на его анализ, и можно прибегнуть к тупому &amp;quot;выкусыванию&amp;quot; кода генератора и копированию его тела в свою собственную программу-оболочку, позволяющую передавать генератору произвольные параметры, в роли которых обычно выступают имена пользователя, company name и прочие регистрационные данные. Впрочем, &amp;quot;выдергиванию&amp;quot; кода легко помешать. Действительно, если рассредоточить код генератор по множеству служебных функций со сложным взаимодействием и неочевидным обменом данных, то без кропотливого анализа всей защиты, выделение всех, относящихся к ней компонентов, окажется невозможным! (Кстати, с точки зрения закона создание собственных генераторов намного более предпочтительнее, чем несанкционированное выдирания фрагментов &amp;quot;живого&amp;quot; кода из чужой программы).&lt;/p&gt;
						&lt;p&gt;Рассмотрим простую реализацию данного защитного механизма на примере программы crackme.58DD2D69h. До сих пор для изучения защитного кода мы пользовались одним лишь дизассемблером, но это не единственный возможный подход к задаче. Не меньшим успехом у хакеров пользуются и отладчики. Отметим, что отладка - более агрессивный способ исследования: в этом случае взлом программы осуществляется &amp;quot;в живую&amp;quot; и со стороны защиты возможны любые &amp;quot;подлянки&amp;quot;. Антиотладочный код может запросто &amp;quot;завесить&amp;quot; вашу систему и вообще, выкинуть то, чего вы от него никак не ожидаете. С другой стороны, отладчик обладает многими замечательными (в плане взлома) возможностями, о реализации которых в дизассемблерах пока приходится только мечтать. В первую очередь это относится к точкам останова (по-английски break point), с которыми мы чуть позже с успехом и воспользуемся. &lt;br /&gt;Самым популярным среди хакеров отладчиком был, есть и остается отладчик Soft-Ice от компании NuMega, представляющий собой профессионально-ориентированный инструмент, и потому вызывающий большие трудности у новичков в его освоении. Однако потраченные усилия стоят того! Разумеется, никто не ограничивает свободу читателя в выборе инструментария, - вы можете использовать Microsoft Windows Debugger, Borland Turbo Debugger, Intel Enhanced Debugger, DeGlucker или любой другой отладчик по своему вкусу . Рядовые задачи они решают не хуже айса, а узкоспециализированные отладчики (такие, например, как CUP и Exe Hack) в своих областях даже обгоняют soft-ice. Но уникальность &amp;quot;Айса&amp;quot; как раз и заключается в том, что он покрывает рекордно широкий круг задач и платформ. Существуют его реализации для MS-DOS (ну вдруг кому ни будь понадобится старушка!), Windows 3.1, Windows 9x и Windows NT. Все эти версии Айса несколько различаются межу собой по набору и синтаксису команд, однако эти отличия не столь принципиальны, чтобы вызывать какие либо проблемы. На всякий случай: здесь описывается soft-ice 2.54 под Windows NT. &lt;br /&gt;Итак, загружаем отладчик (под NT это можно сделать в любое время, а в Windows 9x только на стадии загрузки компьютера) и запускаем ломаемое приложение, которое немедленно запрашивает у нас имя и регистрационный номер. Поскольку, регистрационный номер нам доподлинно не известен, приходится набрать что-нибудь &amp;quot;от балды&amp;quot;.&lt;/p&gt;
						&lt;p&gt;щита, обложив нас матом, сообщает, что &amp;quot;regnum&amp;quot; есть &amp;quot;wrong&amp;quot; и никакой регистрации нам не видать! А чего мы ждали?! Угадать регистрационный номер ни с первой, ни со второй, ни даже с тысячной попытки нереально (регистрационные номера по обыкновению до безобразия длинны) и тупым перебором взломать программу нам не удастся. На это, собственно, и рассчитывал автор защиты. Однако у нас есть преимущество: знание ассемблера позволяет нам заглянуть внутрь кода и проанализировать алгоритм генерации регистрационных номеров. То есть, атаковать защиту не в лоб, а, обойдя укрепленные позиции, напасть с тыла. &lt;br /&gt;Сразу же возникает вопрос: как определить местонахождение генератора, не прибегая к полному анализу исследуемой программы? Давайте представим себе, что генератор это взяточник, а мы - ОБХСС. Роль денег будет играть регистрационное имя, вводимое пользователем. Код, позарившийся на взятку, очевидно и будет самим генератором! То есть, в основе взлома по сути своей лежит перехват обращения к исходным регистрационным данным, избежать которого защита в принципе не может (телепатических возможностей существующие процессоры увы лишены). &lt;br /&gt;Для осуществления такого перехвата нам потребуется всего лишь установить на регистрационное имя так называемую точку останова (break point). Процессор на аппаратном уровне будет контролировать этот регион памяти и при первой же попытке обращения к нему, прервет выполнение программы, сообщая отладчику адреса машинной команды, рискнувшей осуществить такой доступ. Естественно, для установки точки останова требуется знать точное расположение искомой строки в памяти. Спрашиваете, как мы его найдем? Начнем с того, что содержимое окна редактирования надо как-то считать. В Windows это осуществляется посылкой окну сообщения WM_GETTEXT с указанием адреса буфера-приемника. Однако, низкоуровневая работа с сообщениями - занятие муторное и непопулярное. Гораздо чаще программисты используют API-функции, предоставляющие приятный и удобный в обращении высокоуровневый интерфейс. В Platform SDK можно найти по крайней мере две таких функции: GetWindowText и GetDlgItemText. Статистика показывает, что первая из них встречается чуть ли не на порядок чаще, что и не удивительно, т. к. она более универсальна чем ее &amp;quot;коллега&amp;quot;. &lt;br /&gt;Перехватив вызов функции, читающей содержимого окна, мы сможем подсмотреть значение переданного ей указателя на буфер, в который и будет скопирована наша строка. Очевидно, что это и есть тот самый адрес, на который мы стремимся установить точку останова! Теперь любой код, обращающийся к этой области, вызовет отладочное исключение и &amp;quot;разбудит&amp;quot; отладчик. Благодаря этому мы обнаружим защитный механизм в сколь угодно большой программе так же быстро как и в маленькой. &lt;br /&gt;Спрашиваете, как мы сможем перехватить вызов функции? Да все с помощью той же самой точки останова! Единственное, что нам для этого потребуется - адрес самой функции. Но вот какой именно функции? Как уже было сказано выше, функций, пригодных для чтения текста из окна редактирования, существует по меньшей мере две. Программист мог использовать либо ту, либо другую, либо вообще третью… &lt;br /&gt;Поскольку исследуемое нами приложения написано на Microsoft Visual C++ с применением библиотеки MFC (что видно по копирайтам, содержащимся в теле файла, и содержимому таблицы импорта), то представляется достаточно маловероятным, чтобы программист, разрабатывающий его, использовал прямые вызовы win32 API. Скорее всего, он, как истинный поклонник объективно ориентированного программирования, сосредоточился исключительно на MFC-функциях, и употребил CWnd::GetWinowText или производные от него методы. К сожалению, неприятной особенностью библиотеки MFC является отсутствие символических имен функций в таблице экспорта и она экспортирует их лишь по порядковому номеру (так же называемому ординалом - от английского ordinal). При наличии сопутствующих библиотек мы без труда определим какому именно ординалу соответствует то или иное имя, однако, вся проблема как раз и заключается в том, что далеко не всегда такие библиотеки у нас есть. Ведь не можем же мы устанавливать на свой компьютер все версии всех компиляторов без разбора?! &lt;br /&gt;Зацепку дает тот факт, что CWnd::GetWindowText по сути своей является сквозным &amp;quot;переходником&amp;quot; от win32 API функции GetWindowTextA. Поскольку все, что нам сейчас требуемся, - это выяснить адрес регистрационной строки, то не все ли равно перехватом какой именно функции это делать? Материнская функция-обертка работает с тем же самым буфером, что и дочь. Это типичное не только для MFC, но и для подавляющего большинства других библиотек. В любом случае на нижнем уровне приложений находятся вызовы win32 API и поэтому нет никакой нужды досконально изучать все существующие библиотеки. Достаточно иметь под рукой SDK! Однако не стоит так же бросаться и в другую крайность, отвергая идею изучения архитектуры высокоуровневых библиотек вообще. Приведенный пример оказался &amp;quot;прозрачен&amp;quot; лишь благодаря тому, что функции GetWindowTextA передается указатель на тот же самый буфер, в котором и возвращалась введенная строка. Но в некоторых случаях функции GetWindowTextA передается указатель на промежуточный буфер, который впоследствии копируется в целевой. Так что ознакомление (хотя бы поверхностное) с архитектурой популярных библиотек очень полезно. [врезка] как узнать имя функции по ординалу &lt;br /&gt;Если динамическая библиотека экспортирует свои функции по ориналу и только по ординалу, то непосредственно определить имена функций невозможно, поскольку их там нет. Однако при наличии соответствующей библиотеки (обычно поставляющейся вместе со средой разработки) наша задача значительно упрощается. Ведь как-то же определяют линкеры ординалы функций по их именам! Так почему же нам не проделать обратную операцию? Давайте воспользуемся уже полюбившейся нам утилитой DUMPBIN из комплекта поставки Platform SDK, запустив ее с ключом /HEADERS и, естественно, именем анализируемой библиотеки. В частности, для определения ординала функции CWnd::GetWindowText мы должны найти в каталоге \Microsoft Visual Studio\VC98\MFC\Lib файл MFC42.lib и натравить на него DUMPBIN: &lt;br /&gt;&amp;gt; dumpbin /HEADERS MFC42.lib &amp;gt; MFC42.headers.txt&lt;br /&gt;&amp;gt; type MFC42.headers.txt | MORE&lt;br /&gt;&amp;#160; Version&amp;#160; &amp;#160; &amp;#160; : 0&lt;br /&gt;&amp;#160; Machine&amp;#160; &amp;#160; &amp;#160; : 14C (i386)&lt;br /&gt;&amp;#160; TimeDateStamp: 35887C4E Thu Jun 18 06:32:46 1998&lt;br /&gt;&amp;#160; SizeOfData&amp;#160; &amp;#160;: 00000033&lt;br /&gt;&amp;#160; DLL name&amp;#160; &amp;#160; &amp;#160;: MFC42.DLL&lt;br /&gt;&amp;#160; Symbol name&amp;#160; : ?GetWindowTextA@CWnd@@QBEXAAVCString@@@Z&lt;br /&gt;: (public: void __thiscall CWnd::GetWindowTextA(class CString &amp;amp;)const )&lt;br /&gt;&amp;#160; Type&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;: code&lt;br /&gt;&amp;#160; Name type&amp;#160; &amp;#160; : ordinal&lt;br /&gt;&amp;#160; Ordinal&amp;#160; &amp;#160; &amp;#160; : 3874&lt;br /&gt;…затем в образовавшемся файле находим нужное нам имя и смотрим всю информацию по нему и, среди всего прочего - ординал (в данном случае: 3874h) &lt;br /&gt;Но вернемся к нашим баранам. Нажатием&amp;#160; вызываем soft-ice и даем ему команду &amp;quot;bpx GetWindowTextA&amp;quot; Откуда, спрашиваете взялась буква &#039;A&#039;? Это суффикс, указывающий на ее принадлежность к ANSI-строкам. Функции, обрабатывающие Unicode-строки, имеют префикс &#039;W&#039; (в Windows 9x они не реализованы и представляют собой лишь &amp;quot;заглушки&amp;quot;, а ядро Windows NT, наоборот, работает исключительно с уникодом и уже ANSI - функции представляют собой переходники; более подробно об этом можно прочитать в Platform SDK), выходим из отладчика повторным нажатием&amp;#160; или аналогичной по действию командой &amp;quot;x&amp;quot; и вводим в ломаемое приложение свое имя и произвольный регистрационный номер, подтверждая серьезность своих намерений нажатием . Если отладчик был правильно настроен, то он тут же &amp;quot;всплывает&amp;quot;. В противном случае вам следует внимательно изучить прилагаемое к нему руководство или на худой конец его русский перевод, который без труда можно найти в сети. &lt;br /&gt;В общем, будет считать, что все перипетии борьбы с отладчиком уже позади и сейчас мы находимся в точке входа в функцию GetWindowTextA. Как узнать адрес переданного ей буфера? Разумеется, через стек. Рассмотрим ее прототип, приведенный в SDK: &lt;br /&gt;int GetWindowText( &lt;br /&gt;&amp;#160; &amp;#160; HWND hWnd,&amp;#160; &amp;#160; &amp;#160; &amp;#160; // handle to window or control with text &lt;br /&gt;&amp;#160; &amp;#160; LPTSTR lpString,&amp;#160; // address of buffer for text &lt;br /&gt;&amp;#160; &amp;#160; int nMaxCount&amp;#160; &amp;#160; &amp;#160;// maximum number of characters to copy &lt;br /&gt;&amp;#160; &amp;#160; ); &lt;br /&gt;Поскольку, все win32 API функции придерживаются соглашения stdcall и передают свои аргументы слева направо, то стек, на момент вызова функции, будет выглядеть так: &lt;/p&gt;
						&lt;p&gt;дампа в режим отображения двойных слов командой &amp;quot;DD&amp;quot; и командой &amp;quot;d ss:esp + 8&amp;quot; заставим его отобразить искомый адрес. Запомним его (запишем на бумажке) или выделим мышью и скопируем в буфер (последние версии soft-ice поддерживают мышь). В частности, на компьютере автора содержимое стека выглядело так: &lt;br /&gt;:dd&lt;br /&gt;:d ss:esp+8&lt;br /&gt;0023:0012F9EC 002F4018&amp;#160; 0000000F&amp;#160; 00402310&amp;#160; 004015D8&amp;#160; &amp;#160; &amp;#160; .@/......#@...@.&lt;br /&gt;0023:0012F9FC 0012FA04&amp;#160; 0012FE14&amp;#160; 002F4018&amp;#160; 6C361C58&amp;#160; &amp;#160; &amp;#160; .........@/.X.6l&lt;br /&gt;0023:0012FA0C 6C361C58&amp;#160; 0012F9F8&amp;#160; 0012FB44&amp;#160; 00401C48&amp;#160; &amp;#160; &amp;#160; X.6l....D...H.@.&lt;br /&gt;0023:0012FA1C 00000002&amp;#160; 6C2923D8&amp;#160; 00402310&amp;#160; 00000111&amp;#160; &amp;#160; &amp;#160; .....#)l.#@.....&lt;br /&gt;Выделенное жирным шрифтом число и есть адрес буфера, готового принять прочитанную из окна строку. Посмотрим, что у нас там? Переключившись из режима двойных слов в режим байтов командой &amp;quot;DB&amp;quot;, мы говорим отладчику &amp;quot;D SS:2F4018&amp;quot; и… ну конечно же видим вокруг себя один мусор, что и не удивительно, ведь функция GetWindowTextA еще и начинала своего выполнения! Что ж, приказываем Айсу выйти из функции (&amp;quot;P RET&amp;quot;) и… вот она, наша строка! &lt;br /&gt;:db&lt;br /&gt;:d ss:2f4018&lt;br /&gt;:p ret&lt;br /&gt;0023:002F4018 4B 72 69 73 20 4B 61 73-70 65 72 73 6B 79 00 00&amp;#160; Kris Kaspersky..&lt;br /&gt;0023:002F4028 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;0023:002F4038 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;0023:002F4048 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;Теперь установим точку останова на адрес начала строки (в листинге, приведенном выше он обведен рамкой) или на всю строку целиком. Заметим, что обоим решениям присущи свои недостатки: если защита игнорирует несколько первых символов имени, то первый примем просто не сработает. С другой стороны, точки останова на диапазон адресов аппаратно не поддерживаются и отладчик вынужден прибегать к хитрым манипуляциям с атрибутами страницы, заставляя процессор генерировать исключение при всякой попытке доступа к ней, а затем вручную анализировать - произошло ли обращение к контролируемой области или нет. Естественно, это значительно снижает производительность и отлаживаемое приложение исполняется со скоростью, которой не позавидует и черепаха! Поэтому, к этому трюку имеет смысл прибегать лишь тогда, когда не сработал первый (а не срабатывает он крайне редко). &lt;br /&gt;Уничтожив ставшей ненужной точку останова на GetWindowText (команда &amp;quot;bc *&amp;quot;) мы устанавливаем новую точку останова &amp;quot;bpm ss:2F4018&amp;quot; (разумеется, на вашем компьютере адрес строки может быть и другим) и покидаем отладчик нажатием . Не желая коротать свои дни в одиночестве, отладчик тут же всплывает, сигнализируя нам о том, что некий код попытался обратиться к нашей строке: &lt;br /&gt;001B:77E9736D&amp;#160; &amp;#160;REPNZ&amp;#160; &amp;#160;SCASB&lt;br /&gt;001B:77E9736F&amp;#160; &amp;#160;NOT&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:77E97371&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:77E97372&amp;#160; &amp;#160;OR&amp;#160; &amp;#160; &amp;#160; DWORD PTR [EBP-04],-01&lt;br /&gt;Судя по адресу, мы имеем дело с некоторой системной функцией (ибо они традиционно размешаются в верхних адресах), но вот с какой именно? Сейчас выясним! Долго ли умеючи! Наскоро набив на клавиатуре трехбуквенное сочетание &amp;quot;mod&amp;quot; мы заставляем отладчик вывести список всех модулей системы на экран: &lt;br /&gt;:mod&lt;br /&gt;hMod Base&amp;#160; &amp;#160; &amp;#160;PEHeader Module Name&amp;#160; &amp;#160; &amp;#160; File Name&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;80400000 804000C8 ntoskrnl&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\System32\ntoskrnl.exe&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;77E10000 77E100D8 user32&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\system32\user32.dll&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;77E80000 77E800D0 kernel32&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\system32\kernel32.dll&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;77F40000 77F400C8 gdi32&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; \WINNT\system32\gdi32.dll&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;77F80000 77F800C0 ntdll&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; \WINNT\system32\ntdll.dll&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160;78000000 780000D8 msvcrt&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\system32\msvcrt.dll&lt;br /&gt;Очевидно, что адрес 77E9736Dh принадлежит динамической библиотеке kernel32.dll, а точнее, - функции lstrlenA, которая, как и следует из ее названия определяет длину строки. Поскольку, в определении длины для нас нет ничего интересного, мы безо всякого зазрения совести оставляем этот код жить на бозе и вновь выходим из отладчика, позволяя ему продолжить поиски защитного кода. &lt;br /&gt;Следующее всплытие отладчика оказывается более информативным, смотрите (внимание: в силу архитектурных особенностей x86 процессоров, отладочное исключение возникает не до, а после выполнения команды, &amp;quot;зацепившей&amp;quot; точку останова, а потому отладчик подсвечивает не ее саму, а следующую за ней команду): &lt;br /&gt;001B:004015F7&amp;#160; MOV&amp;#160; &amp;#160; &amp;#160;CL,[EAX+ESI]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; эта команда &amp;quot;зацепила&amp;quot; breakpoint&lt;br /&gt;001B:004015FA&amp;#160; MOVSX&amp;#160; &amp;#160;AX,BYTE PTR [EAX+ESI+01] ; здесь отладчик получил управление&lt;br /&gt;001B:00401600&amp;#160; MOVSX&amp;#160; &amp;#160;CX,CL&lt;br /&gt;001B:00401604&amp;#160; IMUL&amp;#160; &amp;#160; EAX,ECX&lt;br /&gt;001B:00401607&amp;#160; AND&amp;#160; &amp;#160; &amp;#160;EAX,0000FFFF&lt;br /&gt;001B:0040160C&amp;#160; AND&amp;#160; &amp;#160; &amp;#160;EAX,8000001F ; STATUS_BEGINNING_OF_MEDIA&lt;br /&gt;001B:00401611&amp;#160; JNS&amp;#160; &amp;#160; &amp;#160;00401618&lt;br /&gt;001B:00401613&amp;#160; DEC&amp;#160; &amp;#160; &amp;#160;EAX&lt;br /&gt;Используемая адресация наталкивает нас на мысль, что EAX, возможно, параметр цикла, а вся эта конструкция посимвольно читает строку. Очень похоже, что в мы находимся самом &amp;quot;сердце&amp;quot; защитного механизма - генераторе серийного номера. Если мы посмотрим чуть-чуть ниже, то в глаза бросится очень любопытная строка (в тексте она выделена жирным шрифтом) : &lt;br /&gt;001B:0040164E&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ECX&lt;br /&gt;001B:0040164F&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&lt;br /&gt;001B:00401650&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; [MSVCRT!_mbscmp]&lt;br /&gt;001B:00401656&amp;#160; &amp;#160;ADD&amp;#160; &amp;#160; &amp;#160;ESP,08&lt;br /&gt;001B:00401659&amp;#160; &amp;#160;TEST&amp;#160; &amp;#160; EAX,EAX&lt;br /&gt;001B:0040165B&amp;#160; &amp;#160;POP&amp;#160; &amp;#160; &amp;#160;ESI&lt;br /&gt;001B:0040165C&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; 00&lt;br /&gt;001B:0040165E&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; 00&lt;br /&gt;001B:00401660&amp;#160; &amp;#160;JNZ&amp;#160; &amp;#160; &amp;#160;00401669&lt;br /&gt;001B:00401662&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; 00403030&lt;br /&gt;001B:00401667&amp;#160; &amp;#160;JMP&amp;#160; &amp;#160; &amp;#160;0040166E&lt;br /&gt;Вероятно, здесь-то защита и сравнивает введенный пользователем регистрационный номер с только что сгенерированным эталоном! Переведем курсор на строку 401650h и дадим команду &amp;quot;HERE&amp;quot;, обозначающую буквально &amp;quot;сюда!&amp;quot; Теперь последовательно дадим команды &amp;quot;D DS:ECX&amp;quot; и &amp;quot;D DS:EDX&amp;quot;, посредством которых мы сможем подсмотреть содержимое указателей, передаваемых функции в качестве аргументов. Скорее всего, один из них принадлежит введенной нами строки, а другой - сгенерированному защитой регистрационному номеру. &lt;br /&gt;:d ecx&lt;br /&gt;0023:002F40B8 36 36 36 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; 666.............&lt;br /&gt;0023:002F40C8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;/p&gt;
						&lt;p&gt;:d edx&lt;br /&gt;0023:002F4068 47 43 4C 41 41 4C 54 51-51 5B 57 52 54 00 35 38&amp;#160; GCLAALTQQ[WRT.58&lt;br /&gt;0023:002F4078 44 44 32 44 36 39 2E 2E-2E 00 00 00 00 00 00 00&amp;#160; DD2D69..........&lt;br /&gt;Итак, наше предположение на счет &amp;quot;введенного регистрационного номера&amp;quot; полностью подтверждается, и шансы на то, что абракадабра &amp;quot;GCLAALTQQ[WRT&amp;quot; и есть эталонный регистрационный номер весьма велики (обратите внимание на завершающий ее нуль, отсекающий остаток строки &amp;quot;…58DD2D69&amp;quot;, который по невнимательности можно принять за саму строку. &lt;br /&gt;Выйдем из отладчика и попытаемся ввести &amp;quot;GCLAALTQQ[WRT&amp;quot; в программу… Защита, благополучно проглотив регистрационный номер, выводит диалог с победной надписью &amp;quot;ОК&amp;quot;. Получилось! Нас признали зарегистрированным пользователем! Вся операция не должна была занять порядка пары-тройки минут. Обычно для подобных защит большего и не требуется. С другой стороны, на их написание автор потратил как минимум полчаса. Это очень плохой баланс между накладными расходами на создание защиты и ее стойкостью. Тем не менее, использование таких защит вовсе не лишено смысла (ведь не все же пользователи - хакеры). Нельзя сказать, что создатели защит совсем уж не представляют насколько их легко вскрыть. Косвенным это подтверждением этого являются убедительные просьбы не ломать защиту, а зарегистрироваться и способствовать развитию отечественного рынка (что особенно характерно для российских программистов). Иной раз они бывают настолько красноречивы и длинны, что за время, потраченное на сочинение подобных опусов, можно было бы значительно усилить защиту. &lt;br /&gt;Вышеописанная технология взлома доступна невероятно широкому кругу людей и не требует даже поверхностного знания ассемблера и операционной системы. Просто ставим точку останова на GetWindowText, затем еще одну на строковой буфер и, дождавшись всплытия отладчика, пытаемся найти в каком месте происходит сравнение введенного регистрационного номера со сгенерированным на основе имени эталоном. Любопытно, но большинство кракеров довольно смутно представляют себе &amp;quot;внутренности&amp;quot; операционной системы и знают API куда хуже прикладных программистов. Воистину &amp;quot;умение снять защиту еще не означает умения ее поставить&amp;quot;. Чего греха таить! И автор этой книги сначала научился ломать и лишь затем программировать. &lt;br /&gt;Однако мы не закончили взлом программы. Да, мы узнали регистрационный код для нашего имени, но понравится ли это остальным пользователям? Ведь каждый из них хочет зарегистрировать программу на себя. Кому приятно видеть чужое имя?! Вернемся к коду, сравнивающему строки введенного и эталонного регистрационного номера. Если мы заменим в строке 0040164Eh команду PUSH ECX (опкод 52h) на команду PUSH EDX (опкод 51h), то защита станет сравнивать эталонный регистрационный номер с… самим эталонным регистрационным номером! Разумеется, не совпадать с самим собой регистрационный номер просто не может и какие бы строки мы не вводили, защита воспримет их как правильные. Другой путь - заменить условный переход JNZ в строке 401660h (в тексте он выделен квадратиком) на безусловный переход JZ (тогда защита будет &amp;quot;проглатывать&amp;quot; любые регистрационные номера, кроме правильных), или же забить его любой незначащей командой подходящего размера, например SUB EAX, EAX (тогда будут &amp;quot;проглатываться&amp;quot; любые регистрационные номера, включая правильные), хотя последнее и неоригинально. Запускаем HIEW, переводим его в ASM-режим двойным нажатием , переходим по адресу 401660h (, &amp;quot;.401660&amp;quot;) и меняем &amp;quot;jne 1669&amp;quot; на &amp;quot;je 1669&amp;quot;, скидываем изменения в файл&amp;#160; и запускаем программу. Вводим в нее любую понравившуюся вам комбинации и… это работает!!! &lt;br /&gt;Замечу, что это не самый лучший способ взлома и в ряде случаев он не срабатывает. Типичные защитные механизмы имеют как минимум два уровня обороны. На первом осуществляется проверка корректности введенного регистрационного номера и, если он воспринимается защитой как правильный, то данные пользователя заносятся в реестр или дисковый файл. Затем, при перезапуске программы, защитный механизм извлекает пользовательские данные из места их постоянного хранения и проверяет: а соответствует ли имя пользователя его регистрационному номеру? &lt;br /&gt;Блокировав первую проверку, мы добьемся лишь того, что позволим защите сохранить неверные данные, но наш обман будет немедленно раскрыт как только программа попытается загрузить поддельные данные! Конечно, второй &amp;quot;укрепрайон&amp;quot; защитного механизма можно разбить тем же самым способом, которым мы воспользовались для захвата первого (только на этот раз вместо перехвата функции GetWindowText следует установить точки останова на функции, манипулирующие с файлом и реестром), однако это очень утомительно. Другой, и все такой же утомительный, путь - отследить все вызовы процедуры генерации регистрационного номера по перекрестным ссылкам (если одна и та же процедура вызывалась из разных мест защитного механизма), либо же по ее сигнатуре (если создатель защиты дублировал процедуру генерации). Действительно, крайне маловероятно, чтобы разработчик использовал не один, а несколько независимых вариантов генератора. Но даже в последнем случае очень трудно избежать отсутствия совпадающих фрагментов (во всяком случае на языках высокого уровня). Далеко не каждый программист знает, что &amp;quot;(!a) ? b = 0 : b = 1&amp;quot; и &amp;quot;if (a) b=1; els b=0&amp;quot; в общем случае компилируются в идентичный код. Реализовать один и тот же алгоритм так, чтобы ни в одном из вариантов не присутствовало повторяющихся фрагментов кода, представляется достаточно нетривиальной задачей! Тем не менее, выделение уникальной последовательности, присущей одному лишь защитному коду, - задача ничуть не менее нетривиальная, особенно если в защите присутствует множество проверок, расположенных в самых неожиданных местах. &lt;br /&gt;К счастью, помимо изменения двоичного кода программы (которое, кстати, не очень-то приветствуется законом), существует и другая стратегия взлома: создание собственного генератора регистрационных номеров или, в просторечии, ключеделки. Для осуществления своего замысла хакеру необходимо проанализировать алгоритм оригинального генератора и затем написать аналогичный самостоятельно. Преимущества такого подхода очевидны: во-первых, ключеделка вычисляет действительно правильный регистрационный номер и сколько бы раз защита его ни проверяла - менее правильным он все равно не станет. Во-вторых, с юридической точки зрения создание собственного генератора регистрационных номеров более мягкое преступление, чем модификация защитного кода программы. Правда, возможность наказания за нелегальное использование ПО у законников все равно остается, так что, право же, не стоит так рисковать. Но не будем углубляться в дебри юриспруденции, - пусть трактовкой законов занимаются судьи и адвокаты, нам же - хакерам - лучше сосредоточить свои усилия на машинном коде. Вернемся немного назад, в то самое место, где отладчик зафиксировал обращение к первому байту строки, содержащей имя пользователя, и прокрутим экран дизассемблера немного вверх, до тех пор, пока не встретим начало цикла генератора, определяющееся наименьшим адресом условного (безусловного) перехода, направленного назад (подробнее см. &amp;quot;Фундаментальные основы хакерства&amp;quot; by me главы &amp;quot;Идентификация циклов&amp;quot; и &amp;quot;Идентификация условных операторов&amp;quot;). &lt;br /&gt;001B:004015EF&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ESI&lt;br /&gt;001B:004015F0&amp;#160; &amp;#160;XOR&amp;#160; &amp;#160; &amp;#160;ESI,ESI&lt;br /&gt;001B:004015F2&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:004015F3&amp;#160; &amp;#160;TEST&amp;#160; &amp;#160; ECX,ECX&lt;br /&gt;001B:004015F5&amp;#160; &amp;#160;JLE&amp;#160; &amp;#160; &amp;#160;00401639&lt;br /&gt;001B:004015F7&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;CL,[EAX+ESI]&amp;#160; &amp;#160; ; эта команда обратилась к строке&lt;br /&gt;001B:004015FA&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;AX,BYTE PTR [EAX+ESI+01]&lt;br /&gt;001B:00401600&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;CX,CL&lt;br /&gt;001B:00401604&amp;#160; &amp;#160;IMUL&amp;#160; &amp;#160; EAX,ECX&lt;br /&gt;001B:00401607&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,0000FFFF&lt;br /&gt;001B:0040160C&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,8000001F&lt;br /&gt;001B:00401611&amp;#160; &amp;#160;JNS&amp;#160; &amp;#160; &amp;#160;00401618&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; адрес направлен &amp;quot;вниз&amp;quot;, это не цикл&lt;br /&gt;001B:00401611&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; а оператор &amp;quot;IF&amp;quot;&lt;br /&gt;001B:00401613&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;EAX&lt;br /&gt;001B:00401614&amp;#160; &amp;#160;OR&amp;#160; &amp;#160; &amp;#160; EAX,-20&lt;br /&gt;001B:00401617&amp;#160; &amp;#160;INC&amp;#160; &amp;#160; &amp;#160;EAX&lt;br /&gt;001B:00401618&amp;#160; &amp;#160;ADD&amp;#160; &amp;#160; &amp;#160;AL,41&lt;br /&gt;001B:0040161A&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+0C]&lt;br /&gt;001B:0040161E&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;[ESP+14],AL&lt;br /&gt;001B:00401622&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDX,[ESP+14]&lt;br /&gt;001B:00401626&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&lt;br /&gt;001B:00401627&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 0040192E&lt;br /&gt;001B:0040162C&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+08]&lt;br /&gt;001B:00401630&amp;#160; &amp;#160;INC&amp;#160; &amp;#160; &amp;#160;ESI&lt;br /&gt;001B:00401631&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[EAX-08]&lt;br /&gt;001B:00401634&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:00401635&amp;#160; &amp;#160;CMP&amp;#160; &amp;#160; &amp;#160;ESI,ECX&lt;br /&gt;001B:00401637&amp;#160; &amp;#160;JL&amp;#160; &amp;#160; &amp;#160; 004015F7&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; &amp;quot;наивысший&amp;quot; адрес из всех&lt;br /&gt;001B:00401637&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; 4015F7 - начало цикла генератора&lt;br /&gt;001B:00401637&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; 401637 - конец&amp;#160; цикла генератора&lt;br /&gt;001B:00401639&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+10]&lt;br /&gt;001B:0040163D&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[EDI+60]&lt;br /&gt;001B:00401640&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EAX&lt;br /&gt;001B:00401641&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 00401934&lt;br /&gt;001B:00401646&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+10]&lt;br /&gt;001B:0040164A&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDX,[ESP+0C]&lt;br /&gt;001B:0040164E&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ECX&lt;br /&gt;001B:0040164F&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&lt;br /&gt;001B:00401650&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; [MSVCRT!_mbscmp]&amp;#160; &amp;#160; &amp;#160; &amp;#160; ; ђ тут сравниваются строки&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ;&amp;#160; &amp;#160; очевидно это конец генератор&lt;br /&gt;Прежде нем приступать к восстановлению алгоритма генерации регистрационных номеров, отметим, что отладчики вообще-то не предназначены для декомпиляции кода и нам лучше прибегнуть к помощи дизассемблера. Найти же в дизассемблерном листинге требуемый фрагмент очень просто, - ведь адрес процедуры генератора нам уже известен. Для быстрого перемещения к исследуемому коду в IDA достаточно отдать к консоли команду Jump(0x4015EF) , а в HIEW&#039;e - , &amp;quot;.4015EF&amp;quot;. Так или иначе мы встретим следующие строки (а еще лучше, если из мазохистских соображений, мы будем анализировать этот код под отладчиком, поскольку дизассемблер - особенно IDA - доступен не всем): &lt;br /&gt;001B:004015EF&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ESI&lt;br /&gt;001B:004015F0&amp;#160; &amp;#160;XOR&amp;#160; &amp;#160; &amp;#160;ESI,ESI&lt;br /&gt;001B:004015F2&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:004015F3&amp;#160; &amp;#160;TEST&amp;#160; &amp;#160; ECX,ECX&lt;br /&gt;001B:004015F5&amp;#160; &amp;#160;JLE&amp;#160; &amp;#160; &amp;#160;00401639&lt;br /&gt;Регистр ESI здесь инициализируется явно (ESI ^ ESI := 0), а вот чему равен ECX?! Прокручиваем экран отладчика вверх до тех пор, пока не встретим машинную команду, присваивающую ECX то или иное значение: &lt;br /&gt;001B:004015D8&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+04]&lt;br /&gt;001B:004015DC&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[EAX-08]&lt;br /&gt;001B:004015DF&amp;#160; &amp;#160;CMP&amp;#160; &amp;#160; &amp;#160;ECX,0A&lt;br /&gt;001B:004015E2&amp;#160; &amp;#160;JGE&amp;#160; &amp;#160; &amp;#160;004015EF&lt;br /&gt;Ага, здесь в ECX пересылается значение ячейки по адресу [EAX-08], но что это за ячейка и куда указывает сам EAX? Что ж, под отладчиком (в отличии от дизассемблера) его содержимое очень просто подсмотреть! Достаточно дать команду &amp;quot;D EAX&amp;quot; и область памяти на которую указывает EAX немедленно отобразится в окне дампа: &lt;br /&gt;:d eax&lt;br /&gt;0023:002F4018 4B 72 69 73 20 4B 61 73-70 65 72 73 6B 79 00 00&amp;#160; Kris Kaspersky..&lt;br /&gt;0023:002F4028 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;0023:002F4038 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;0023:002F4048 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00&amp;#160; ................&lt;br /&gt;Да это же только что введенная нами строка! А в регистр ECX тогда загружается что? Смотрим: так, значение ECX равно 0Eh или 14 в десятичной системе исчисления. Очень похоже на длину этой строки (как известно, MFC -строки, точнее объекты класса CString хранят свою длину в специальном 32-разрядном поле, родимым пятном которого как раз и является смещение на 8 байт влево относительно начала самой строки). Действительно, имя &amp;quot;Kris Kaspersky&amp;quot; как раз и насчитывает ровно 14 символов (считая вместе с пробелом). Тогда становятся понятными две следующие машинные команды: CMP ECX,0Ah/JGE 4015EFh, осуществляющие контроль строк на соответствие минимально допустимой длине. При попытке ввода имени, состоящего из девяти или менее символов, программа откинет его как непригодное для регистрации. Это важный момент! Многие хакеры игнорируют подобные тонкости алгоритма и создают не вполне корректные генераторы, не осуществляющие таких проверок вообще. Как следствие - пользователь вводит свое короткое имя в генератор (например, &amp;quot;KPNC&amp;quot;), получает регистрационный код, подсовывает его защите и… обложив матом хакера, вводит в генератор другое имя - на сей раз подлиннее. А если защита имеет ограничение на предельно допустимую длину? Сколько так пользователю придется мотаться между защитой и генератором? &lt;br /&gt;Ладно, оставим вопросы профессиональной этики и вернемся к коду генератора, черкнув в лежащем справа от Клавы листке белой бумаги, что EAX указывает на имя пользователя, а ECX содержит его длину. &lt;br /&gt;001B:004015F2&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:004015F3&amp;#160; &amp;#160;TEST&amp;#160; &amp;#160; ECX,ECX&lt;br /&gt;001B:004015F5&amp;#160; &amp;#160;JLE&amp;#160; &amp;#160; &amp;#160;00401639&lt;br /&gt;Здесь: мотаем цикл до тех пор, пока не будут обработаны все символы строки (читатели, знакомые с &amp;quot;Фундаментальными основами хакерства&amp;quot; уже наверняка распознали в этой конструкции цикл for). &lt;br /&gt;Теперь заглянем в тело цикла, спустившись еще на одну строчку вниз: &lt;br /&gt;001B:004015F7&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;CL,[EAX+ESI]&lt;br /&gt;Здесь происходит загрузка очередного символа строки (и именно этот код вызвал всплытие отладчика при установленной точке останова, так что, надеюсь, вы его все еще помните). Поскольку, EAX - указатель на имя, то ESI с большой степени вероятности - параметр цикла. Правда, немного странно, что очередной символ строки помешается в младший байт регистра ECX, который судя по всему представляет собой счетчик цикла, но это все потом… Пока же мы нам известно лишь то, что начальное значение ESI равно нулю, а потому строка скорее всего обрабатывается от первого до последнего символа (хотя некоторые защиты поступают и наоборот). &lt;br /&gt;001B:004015FA&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;AX,BYTE PTR [EAX+ESI+01]&lt;br /&gt;MOVe whith Signed eXtension (пересылка со знаковым расширением) загружает следующий байт строки в регистр AX, автоматически расширяя его до слова и загаживая тем самым указатель на саму строку с именем. На редкость уродливый код! Но дальше - больше. &lt;br /&gt;001B:00401600&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;CX,CL&lt;br /&gt;Преобразуем первый прочитанный символ строки к слову (обратим внимание, что здесь и далее под &amp;quot;первым&amp;quot; и &amp;quot;вторым&amp;quot; символом мы будем понимать отнюдь не NameString[0] и NameString[0], а NameString[ESI] и NameString[ESI + 1] соответственно, а сам ESI условно обозначим как index или, сокращенно, idx). Обратим внимание на несовершенство компилятора. Эту команду можно было записать более экономно как MOVSX CX, [ESI+EAX] &lt;br /&gt;001B:00401604&amp;#160; &amp;#160;IMUL&amp;#160; &amp;#160; EAX,ECX&lt;br /&gt;Подставим вместо регистров их смысловые значения, мы получаем: EDX:EAX := NameString[idx] * String[idx + 1] &lt;br /&gt;001B:00401607&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,0000FFFF&lt;br /&gt;Преобразуем EAX к машинному слову, откидывая старшие 16 бит. &lt;br /&gt;001B:0040160C&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,8000001F&lt;br /&gt;Выделяем пять младших бит от оставшегося слова (почему именно пять? просто переведите 1Fh в двоичную форму и сами увидите). Так же, выделяется и старший, знаковый, бит слова, однако, он всегда равен нулю, так как его принудительно сбрасывает предыдущая команда. Зачем же тогда его компилятор так старательно выделает? Осел он - вот почему. Программист присваивает результат беззнаковой переменной, вот компилятор и понимает его буквально! &lt;br /&gt;001B:00401611&amp;#160; &amp;#160;JNS&amp;#160; &amp;#160; &amp;#160;00401618&lt;br /&gt;Если знаковый бит не установлен (ха! а с какой такой радости ему быть установленным?!), то прыгаем на 401618h. Ну что ж! Прыгаем, так прыгаем, избавляя себя от &amp;quot;радости&amp;quot; анализа нескольких никогда не исполняющихся команд защитного кода: &lt;br /&gt;001B:00401618&amp;#160; &amp;#160;ADD&amp;#160; &amp;#160; &amp;#160;AL,41&lt;br /&gt;001B:0040161A&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+0C]&lt;br /&gt;001B:0040161E&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;[ESP+14],AL&lt;br /&gt;001B:00401622&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDX,[ESP+14]&lt;br /&gt;Первая машинная команда добавляет к содержимому регистра AL константу 41h (литера &#039;А&#039; в символьном представлении) и полученная сумма перегоняется в регистр EDX, минуя по пути локальную переменную [ESP + 14]. &lt;br /&gt;С конструкцией LEA ECX, [ESP + 0Ch] разобраться несколько сложнее. Во-первых, ячейка [ESP +0Ch] явным образом не инициализируется в программе, а, во-вторых, значение регистра ECX ни здесь, ни далее не используются. Если бы оптимизирующие компиляторы не выкидывали все лишние операции присвоения (т .е. такие, чей результат не используется), мы бы просто списали эту команду на ляп разработчика защитного механизма, но сейчас такая стратегия уже не проходит. К тому же это удачный повод для знакомства с плавающими фреймами, без умения работать с которыми невозможно побороть практически ни одну современную защиту. &lt;br /&gt;Для начала давайте вспомним устройство &amp;quot;классического&amp;quot; кадра стека. При выходе в функцию компилятор сохраняет в стеке прежнее значение регистра EBP (а так же при желании и всех остальных регистров общего назначения, если они действительно должны быть сохранены), а затем приподнимает регистр ESP немного &amp;quot;вверх&amp;quot;, резервируя тем самым то или иное количество памяти для локальных переменных. Область памяти, расположенная между сохраненным значением регистра EBP и новой вершиной стека, и называется кадром. Начальный адрес только что созданного кадра копируется в регистр EBP, и этот регистр используется в качестве опорной точки для доступа ко всем локальным переменным. По мере разбухания стека поверх кадра могут громоздиться и другие данные, заталкиваемые туда машинными командами PUSH и PUSHF (например: аргументы функций, временные переменные, сохраняемые регистры и т. д.). Достоинство этой системы заключается в том, что для доступа к локальным переменным нам достаточно знать всего лишь одно число - смещение переменной относительно вершины кадра стека. Благодаря этому, машинные команды, обращающиеся к одной и той же локальной переменной, из какой бы точки функции они ни шли, выглядят одинаково. То есть, нам не требуется никаких усилий, чтобы догадаться, что MOV EAX, [EBP + 69h] и MOV [EBP + 69h], ECX в действительности обрабатывают одну локальную переменную, а не две. Между прочим, вы зря смеетесь! Хотите получить кукурузный початок в зад? Ну так получайте! (Знаю, что больно, но ведь я же предупреждал!). &lt;br /&gt;Поскольку регистров общего назначения в архитектуре IA-32 всего семь, то отдавать даже один из них на организацию поддержки фиксированного кадра стека по меньшей мере не логично, тем более, что локальные переменные можно адресовать и через ESP. Ну и в чем же разница? - спросите вы. А разница между тем принципиальна! В отличии от EBP, жестко держащего верхушку кадра за хвост, значение ESP изменяется всякий раз, когда в стек что-то вложат или, наоборот, что-то вытащат оттуда. Рассмотрим это на следующем примере: MOV EAX, [ESP+10h]/PUSH EAX/MOV ECX, [ESP + 10h]/PUSH ECX/MOV [ESP + 18h], EBP, - как вы думаете, к каким локальным переменным здесь происходит обращение? На первый взгляд, значение ячейки [ESP + 10h] дважды засылается в стек, а затем в ячейку [ESP +18h] копируется содержимое регистра EBP. На самом же деле тут все не так! После засылки в стек содержимого регистра EAX, указатель вершины стека приподнимается на одно двойное слово вверх и дистанция между ним и локальными переменными неотвратимо увеличивается! Следующая машинная команда - MOV ECX, [ESP + 10h] на самом деле копирует в регистр ECX содержимое совсем другой ячейки! А вот [ESP + 18h] после засылки ECX указывает на ту же самую ячейку, что вначале копировалась в регистр EAX. Ну и как теперь насчет &amp;quot;посмеяться&amp;quot;? &lt;br /&gt;Такие оптимизированные кадры стека по-русски называются &amp;quot;плавающими&amp;quot;, а в англоязычной литературе обычно обозначаются аббревиатурой FPO - Frame Pointer Omission. Это едва ли не самое страшное проклятие для хакеров. Основной камень преткновения заключается в том, что для определения смещения переменной в кадре мы должны знать текущее состояние регистра ESP, а узнать его можно лишь путем отслеживания всех предшествующих ему машинных команд, манипулирующих с указателем верхушки стека и, если мы случайно упустим хоть одну из них, вычисленный таким трудом адрес локальной переменной окажется неверным! Следовательно, неверным окажется и результат дизассемблирования!!! Вернемся к нашему примеру LEA ECX, [ESP + 0Ch]. Будем прокручивать экран &amp;quot;CODE&amp;quot; отладчика вверх до тех пор, пока не обнаружим пролог функции или не накопим по меньшей мере 0Ch байт, закинутых на стек командами PUSH (в квадратных скобках показано смещение соответствующих ячеек относительно вершины стека на момент вызова нашего LEA). &lt;br /&gt;001B:00401580&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; FF&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +24h]&lt;br /&gt;001B:00401582&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; 00401C48&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +20h]&lt;br /&gt;001B:00401587&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EAX,FS:[00000000]&lt;br /&gt;001B:0040158D&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EAX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;[ +1Сh]&lt;br /&gt;001B:0040158E&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;FS:[00000000],ESP&lt;br /&gt;001B:00401595&amp;#160; &amp;#160;SUB&amp;#160; &amp;#160; &amp;#160;ESP,10&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +18h] (40161A:04h)&lt;br /&gt;001B:00401598&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;[ +08h]&lt;br /&gt;001B:00401599&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDI,ECX&lt;br /&gt;…&lt;br /&gt;001B:004015CD&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EAX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;[ +04h]&lt;br /&gt;…&lt;br /&gt;001B:004015EF&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ESI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;[ +00h]&lt;br /&gt;Ну, что Шура, я Вам могу сказать, - если считать, что SUB ESP, 10h открывает фрейм функции, то LEA ECX, [ESP + 0Ch] лежит по смещению 04h от его начала, - аккурат посередине. А что у нас здесь? Листаем код ниже (в квадратных скобках показано смещение соответствующих ячеек относительно начала кадра стека): &lt;br /&gt;001B:00401595&amp;#160; &amp;#160;SUB&amp;#160; &amp;#160; &amp;#160;ESP,10&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +00h]&lt;br /&gt;001B:00401598&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;[ +20h]&lt;br /&gt;001B:00401599&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDI,ECX&lt;br /&gt;001B:0040159B&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+04]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +00h]&lt;br /&gt;001B:0040159F&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 40190Ah&lt;br /&gt;001B:004015A4&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+0C]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +08h]&lt;br /&gt;001B:004015A8&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;DWORD PTR [ESP+1C],00h&lt;br /&gt;001B:004015B0&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 40190Ah&lt;br /&gt;001B:004015B5&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+08]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [ +04h]&lt;br /&gt;001B:004015B9&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;BYTE PTR [ESP+1C],01&lt;br /&gt;001B:004015BE&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 40190Ah&lt;br /&gt;Ага! Вот теперь мы видим, что указатель на локальную переменную, расположенную по смещению 04h от начала кадра стека (далее просто var_04h) передается функции 40190Ah очевидно для ее, переменной, инициализации. Но вот что делает эта загадочная функция? Если, находясь в отладчике, нажать&amp;#160; для входа в ее тело, мы обнаружим следующий код: &lt;br /&gt;001B:0040190A&amp;#160; &amp;#160;JMP&amp;#160; &amp;#160; &amp;#160;[00402164h]&lt;br /&gt;Узнаете? Ну да, это характерный способ вызова функций из динамических библиотек. Но вот какая функция какой именно библиотеки сейчас вызывается? Ответ хранит ячейка 402164h, содержащая непосредственно сам вызываемый адрес. Посмотрим ее содержимое? &lt;br /&gt;:dd&lt;br /&gt;:d 402164&lt;br /&gt;0010:00402164 6C29198E&amp;#160; 6C294A70&amp;#160; 6C2918DD&amp;#160; 6C298C74&amp;#160; &amp;#160; &amp;#160; ..)lpJ)l..)lt.)l&lt;br /&gt;Остается только узнать какому модулю принадлежит адрес 6C9198Eh. Не выходя из soft-ice даем ему команду &amp;quot;mod&amp;quot; и смотрим (протокол, приведенный ниже по понятным соображениям сильно сокращен): &lt;br /&gt;Base&amp;#160; &amp;#160; &amp;#160;PEHeader Module Name&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;File Name&lt;br /&gt;10000000 10000100 pdshell&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\system32\pdshell.dll&lt;br /&gt;6C120000 6C1200A8 mfc42loc&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; \WINNT\system32\mfc42loc.dll&lt;br /&gt;6C290000 6C2900F0 mfc42&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;\WINNT\system32\mfc42.dll&lt;br /&gt;6E380000 6E3800C8 indicdll&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; \WINNT\system32\indicdll.dll&lt;br /&gt;Легко видеть, что адрес 6C29199Eh принадлежит модулю MFC42.DLL, что совершенно неудивительно ввиду того, что данная программа действительно интенсивно использует библиотечку MFC. Чтобы не вычислять принадлежность всех остальных функций вручную давайте просто загрузим символьную информацию из MFC42.DLL в отладчик. Запустив NuMega &amp;quot;Symbol Loader&amp;quot; (если только вы еще не сделали этого ранее), выберите команду &amp;quot;Load Exports&amp;quot; в меню &amp;quot;File&amp;quot;, а затем, перейдя в папку &amp;quot;\WINNT\System32\&amp;quot; дважды щелкните по строке с именем &amp;quot;MFC42.DLL&amp;quot;. Теперь, тот же самый код под отладчиком будет выглядеть так: &lt;br /&gt;001B:004015B5&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+08]&lt;br /&gt;001B:004015B9&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;BYTE PTR [ESP+1C],01&lt;br /&gt;001B:004015BE&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; MFC42!ORD_021B&lt;br /&gt;Умница soft-ice определил не только название динамической библиотеки, экспортирующей вызываемую функцию, но и ее ординал! Что же касается имени функции, его можно вычислить с помощью DUMPBIN и библиотеки MFC42.lib. Даем команду &amp;quot;DUMPBIN /HEADRES MFC42.LIB &amp;gt;MFC42.headrs.txt&amp;quot; и затем в образовавшемся файле простым контекстным поиском ищем строку &amp;quot;Ordinal : 539&amp;quot;, где &amp;quot;539&amp;quot; наш ординал 021Bh записанный в десятичном виде (именно так выдает оридиналы этот dumpbin). Если все идет пучком, мы должны получить следующую информацию: &lt;br /&gt;Version&amp;#160; &amp;#160; &amp;#160; : 0&lt;br /&gt;Machine&amp;#160; &amp;#160; &amp;#160; : 14C (i386)&lt;br /&gt;TimeDateStamp: 35887C4E Thu Jun 18 06:32:46 1998&lt;br /&gt;SizeOfData&amp;#160; &amp;#160;: 00000020&lt;br /&gt;DLL name&amp;#160; &amp;#160; &amp;#160;: MFC42.DLL&lt;br /&gt;Symbol name&amp;#160; : ??0CString@@QAE@PBG@Z (__thiscall CString::CString(unsigned short *))&lt;br /&gt;Type&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;: code&lt;br /&gt;Name type&amp;#160; &amp;#160; : ordinal&lt;br /&gt;Ordinal&amp;#160; &amp;#160; &amp;#160; : 539&lt;br /&gt;Так, это конструктор объекта типа CString, а указатель, передаваемый ему, стало быть и есть тот самый this, что указывает на свой экземпляр CString! Следовательно, var_4 - это локальная переменная типа &amp;quot;MFC-строка&amp;quot;. Теперь, не грех вернуться к изучению прерванной темы (а прервали мы ее на строке 40161Ah, где осуществлялась загрузка указателя на var_4 в регистр ECX посредством машинной команды LEA; регистр же EDX, как мы помним, содержит в себе результат умножения двух символов исходной строки, преобразованный в литерал): &lt;br /&gt;001B:00401626&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&lt;br /&gt;001B:00401627&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; MFC42!ORD_03AB&lt;br /&gt;Следующими двумя командами мы заталкиваем полученный литерал в стек, передавая его в качестве второго аргумента функции MFC42!ORD_03AB (первый аргумент функций типа __thiscall передается через регистр ECX, содержащий указатель на экземпляр соответствующего объекта, с которым мы сейчас и манипулируем). Преобразовав ординал в символьное имя функции, мы получаем &amp;quot;оператор +=&amp;quot;, что очень хорошо вписывается в обстановку окружающей действительности. Другими словами, здесь осуществляется посимвольное наращивание строки var_4 генерируемыми налету литералами. &lt;br /&gt;001B:0040162C&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+08]&lt;br /&gt;Что у нас в [ESP + 8]? Прокручивая экран с дизассемблерным листингом вверх, находим, что здесь лежит самая первая ячейка из принадлежащих кадру стека. Условимся называть ее var_0. Давайте определим, что же за информация в ней находится? &lt;br /&gt;001B:00401595&amp;#160; &amp;#160;SUB&amp;#160; &amp;#160; &amp;#160;ESP,10&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; [ +00h]&lt;br /&gt;001B:00401598&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; [ +04h]&lt;br /&gt;…&lt;br /&gt;001B:004015C3&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;EAX, [ESP+04]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; var_0&lt;br /&gt;001B:004015C7&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[EDI+000000A0]&lt;br /&gt;001B:004015CD&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EAX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; [ +08h]&lt;br /&gt;001B:004015CE&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;BYTE PTR [ESP+20],02&lt;br /&gt;001B:004015D3&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; MFC42!ORD_0F21&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; CWnd::GetWindowText&lt;br /&gt;Кое-что начинает уже проясняться. Переменная var_0 содержит указатель на MFC-строку, бережно хранящую в себе регистрационное имя пользователя. &lt;br /&gt;001B:00401630&amp;#160; &amp;#160;INC&amp;#160; &amp;#160; &amp;#160;ESI&lt;br /&gt;Указатель текущего символа перемещается на одну позицию вправо (ведь вы помните, что в ESI содержится именно указатель на текущий обрабатываемый символ регистрационной строки, верно?). &lt;br /&gt;001B:00401631&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[EAX-08]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EAX := var_4&lt;br /&gt;001B:00401634&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&lt;br /&gt;001B:00401635&amp;#160; &amp;#160;CMP&amp;#160; &amp;#160; &amp;#160;ESI,ECX&lt;br /&gt;001B:00401637&amp;#160; &amp;#160;JL&amp;#160; &amp;#160; &amp;#160; 004015F7&lt;br /&gt;Первая машинная команда из четырех загружает длину регистрационной MFC-строки в регистр ECX, команда &amp;quot;DEC&amp;quot; уменьшает ее на единицу, а &amp;quot;CMP ESI, ECX&amp;quot; сравнивает полученное значение с индексом текущего обрабатываемого символа регистрационной строки. И, до тех пор, пока индекс не достигнет предпоследнего символа строки, условный переход &amp;quot;JL&amp;quot; прыгает на адрес 4015F7h, мотая цикл. &lt;br /&gt;001B:00401639&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+10]&lt;br /&gt;001B:0040163D&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[EDI+60]&lt;br /&gt;001B:00401640&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EAX&lt;br /&gt;001B:00401641&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; MFC42!ORD_0F21&lt;br /&gt;001B:00401646&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+10]&lt;br /&gt;001B:0040164A&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDX,[ESP+0C]&lt;br /&gt;001B:0040164E&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; ECX&lt;br /&gt;001B:0040164F&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&lt;br /&gt;001B:00401650&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; [MSVCRT!_mbscmp]&lt;br /&gt;По факту завершения цикла, защита сравнивает только что сгенерированную ей строку с регистрационным номером, введенным пользователем и, в зависимости от результатов этого сравнения, пользователь либо признается легальным чувяком, либо получает от ворот поворот. &lt;br /&gt;Брр! Вы еще не запутались?! Что ж, тогда давайте подытожим все вышесказанное краткими комментариями к защитному коду: &lt;br /&gt;:ESI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; = 0 (индекс)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; [index];&lt;br /&gt;:[ESP+08h], EAX - на регистрационную строку&amp;#160; &amp;#160; &amp;#160;[NameString];&lt;br /&gt;:[ESP+0Ch]&amp;#160; &amp;#160; &amp;#160; - на генерируемую строку&amp;#160; &amp;#160; &amp;#160; &amp;#160; [GenString]&lt;br /&gt;001B:004015F7&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;CL,[EAX+ESI]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; CL := (char) NameString[index]&lt;br /&gt;001B:004015FA&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;AX,BYTE PTR [EAX+ESI+1];AX := (uint)((char) NameString[index+1])&lt;br /&gt;001B:00401600&amp;#160; &amp;#160;MOVSX&amp;#160; &amp;#160;CX,CL&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; &lt;br /&gt;001B:00401604&amp;#160; &amp;#160;IMUL&amp;#160; &amp;#160; EAX,ECX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; EAX := EAX * ECX&lt;br /&gt;001B:00401607&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,0000FFFF&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EAX := LOW_WORD(EAX)&lt;br /&gt;001B:0040160C&amp;#160; &amp;#160;AND&amp;#160; &amp;#160; &amp;#160;EAX,8000001F&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EAX := EAX ^ 1Fh&lt;br /&gt;001B:00401611&amp;#160; &amp;#160;JNS&amp;#160; &amp;#160; &amp;#160;00401618&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; GOTO 401618h&lt;br /&gt;001B:00401618&amp;#160; &amp;#160;ADD&amp;#160; &amp;#160; &amp;#160;AL,41&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; EAX := EAX + &#039;A&#039;&lt;br /&gt;001B:0040161A&amp;#160; &amp;#160;LEA&amp;#160; &amp;#160; &amp;#160;ECX,[ESP+0C]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; ECX := &amp;amp;GenString&lt;br /&gt;001B:0040161E&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;[ESP+14],AL&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; tmp := AL&lt;br /&gt;001B:00401622&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EDX,[ESP+14]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EDX := tmp&lt;br /&gt;001B:00401626&amp;#160; &amp;#160;PUSH&amp;#160; &amp;#160; EDX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; &lt;br /&gt;001B:00401627&amp;#160; &amp;#160;CALL&amp;#160; &amp;#160; 0040192E&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; GetString += EDX&lt;br /&gt;001B:0040162C&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;EAX,[ESP+08]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EAX := &amp;amp;NameString&lt;br /&gt;001B:00401630&amp;#160; &amp;#160;INC&amp;#160; &amp;#160; &amp;#160;ESI&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; index++&lt;br /&gt;001B:00401631&amp;#160; &amp;#160;MOV&amp;#160; &amp;#160; &amp;#160;ECX,[EAX-08]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; ECX := NameString-&amp;gt;GetLength()&lt;br /&gt;001B:00401634&amp;#160; &amp;#160;DEC&amp;#160; &amp;#160; &amp;#160;ECX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; ECX--&lt;br /&gt;001B:00401635&amp;#160; &amp;#160;CMP&amp;#160; &amp;#160; &amp;#160;ESI,ECX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; &lt;br /&gt;001B:00401637&amp;#160; &amp;#160;JL&amp;#160; &amp;#160; &amp;#160; 004015F7&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; if (index &amp;lt; ECX) GOTO 4015F7h&lt;br /&gt;Вот теперь - другое дело и нам уже ничего не стоит восстановить исходный код генератора. &lt;br /&gt;for (int idx=0;idx&amp;gt;String.GetLength()-1;idx++)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; RegCode+= ((WORD) sName[a]*sName[a+1] % 0x20) + &#039;A&#039;; &lt;br /&gt;Остается лишь написать собственный генератор регистрационных номеров. Это можно сделать на любом симпатичном вам языке, например на ассемблере. На диске находится один вариант (file://CD/SRC/crackme.58DD2D69h/HACKGEN/KeyGen.asm). Ключевая процедура может выглядеть так: &lt;br /&gt;; ГЕНЕРАЦИЯ РЕГИСТРАЦИОННОГО НОМЕРА&lt;br /&gt;; ========================================================================&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; MOV&amp;#160; &amp;#160; &amp;#160;ECX, [Nx]&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; ECX := strlen(NameString)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; SUB&amp;#160; &amp;#160; &amp;#160;ECX, 2&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; выкусываем перенос строки&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; DEC&amp;#160; &amp;#160; &amp;#160;ECX&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; уменьшаем длину строки на единицу&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; MOV&amp;#160; &amp;#160; &amp;#160;EBX, 20h&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; магическое число&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; LEA&amp;#160; &amp;#160; &amp;#160;ESI, hello&amp;#160; &amp;#160; &amp;#160; ; указатель на буфер с именем пользователя&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; LEA&amp;#160; &amp;#160; &amp;#160;EDI, buf_in&amp;#160; &amp;#160; &amp;#160;; ^ указатель на буфер для генерации&lt;/p&gt;
						&lt;p&gt;; ЯДРО ГЕНЕРАТОРА&lt;br /&gt;; ========================================================================&lt;br /&gt;gen_repeat:&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;;&amp;lt;&amp;lt;&amp;lt;---------------------------------------------; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; LODSW&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; читаем слово&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; MUL&amp;#160; &amp;#160; &amp;#160;AH&amp;#160; &amp;#160; &amp;#160; ; AX := NameString[ESI]*NameString[ESI+1]&amp;#160; &amp;#160; &amp;#160; &amp;#160;; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; XOR&amp;#160; &amp;#160; &amp;#160;EDX, EDX&amp;#160; &amp;#160; &amp;#160; &amp;#160; ; EDX := NULL&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; DIV&amp;#160; &amp;#160; &amp;#160;EBX&amp;#160; &amp;#160; &amp;#160;; DX := NameString[ESI]*NameString[ESI+1] % 1Ah ; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ADD&amp;#160; &amp;#160; &amp;#160;EDX, &#039;A&#039;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ; переводим в символ&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; XCHG&amp;#160; &amp;#160; EAX, EDX&amp;#160; &amp;#160; &amp;#160; &amp;#160; ;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; STOSB&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; записываем результат&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ; CORE&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; DEC&amp;#160; &amp;#160; &amp;#160;ESI&amp;#160; &amp;#160; &amp;#160;; на символ назад&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;; CORE&lt;br /&gt;LOOP&amp;#160; &amp;#160; gen_repeat&amp;#160; &amp;#160; &amp;#160; ; ---- цикл ---------------------------------&amp;gt;&amp;gt;&amp;gt; ; CORE&lt;br /&gt;Испытаем написанный генератор. Запустив откомпилированный файл KeyGen.exe на выполнение, введем в качестве регистрационного имени какую ни будь текстовую строку (например, свое собственное имя или псевдоним), - не пройдет и секунды как генератор выдаст подходящий regnum в ответ. В частности, имени &amp;quot;Kris Kaspersky&amp;quot; соответствует следующий регистрационный код: &amp;quot;GCLAALTQQ[WRT&amp;quot;&lt;/p&gt;
						&lt;p&gt;Генератор успешно работает и вычисляет правильные регистрационные номера. Однако, вводить регистрационный номер вручную не только утомительно, но и неэлегантно. Да, можно скопировать его и через буфер обмена, но все равно возня будет еще та. В конечном итоге, компьютер на то и придуман, чтобы служить пользователю, но не наоборот. Идеальный crack - это такой crack который не докучает пользователю теми вопросами, ответ на которые знает сам, равно как и не требует от последнего никаких действий, которые он может выполнить и самостоятельно. Единственное, что требует такой crack - своего запуска. Короче, хорошая программа должна заботиться о себе сама! &lt;br /&gt;Первое, что приходит на ум: просто пропадчить защитный код на диске или в памяти. В предыдущей главе мы как раз разбирали как это сделать. Однако, падчики, во-первых, просто вопиюще незаконны, во-вторых, крайне чувствительны к версии билда. Генераторы регистрационных номеров, напротив, весьма мирно уживаются с уголовным кодексом, поскольку они не подделывают, а именно генерируют регистрационный номер на основе имени, введенного пользователем (см. эпиграф) и их написание столь же &amp;quot;незаконно&amp;quot;, сколько открытие мастерской по изготовлению дубликатов ключей например. К тому же алгоритм генерации регистрационного номера если и изменяется, то во всяком случае не в каждой версии программы . &lt;br /&gt;Во времена старушки MS-DOS эта проблема решалась перехватом прерывания int 16h с целью эмуляции ввода с клавиатуры. Ломалка, грубо говоря, прикидывалась пользователем и подсовывала защищенной программе сначала имя, а затем и сгенерированный регистрационный номер. От самого же пользователя не требовалось ничего, кроме запуска такой программы. Ну разве не красота? К сожалению, с переходом на Windows прямой контроль над прерываниями оказался безвозвратно утерян и все трюки старой Лисы перестали работать… &lt;br /&gt;Но, &amp;quot;мало того, что их сосед в жилом доме свинью держит, так он еще и круглосуточно над ней измывается...&amp;quot; . Незадачливого музыканта подвела хорошая межквартирная слышимость (читай: хреновая звукоизоляция). Так вот, Windows с точки зрения безопасности - та же хрущоба и слышимость в ней о-го-го! Архитектура подсистемы пользовательского интерфейса, достающаяся NT/9x в наследство от незаконно рожденной Windows 1.0, неотделима от концепции сообщений (messages) - эдакой собачей будке, перенесенной с заднего двора на самое видное место. Любой процесс в системе может посылать сообщения окнам любого другого процесса, что позволяет ему управлять этими окнами по своему усмотрению. Хотите &amp;quot;подсмотреть&amp;quot; содержимое чужого окна? Пожалуйста! Пошлите ему SendMessage с WM_GETTEXT и все дела! Хотите послать окну свою строку с приветствием? Нет проблем, - SendMessage в купе с WM_SETTEXT спасут отца русской демократии! Аналогичным образам вы можете нажимать на кнопки, двигать мышь, раскрывать пункты меню, словом полностью контролировать работу приложения. Самое интересное, что уровень привилегий при этом никак не проверяется, - процесс с гостевыми правами может свободно манипулировать окнами, принадлежащими процессу-администратору. Знаете, в NT/w2k есть такое забавное окошко &amp;quot;запуск программы от имени другого пользователя&amp;quot;, обычно используемое для запуска привилегированных приложений из сеанса непривилегированного пользователя? Ну вот например захотели проверить вы свой жесткий диск на предмет целостности файловой структуры, а перезапускать систему под &amp;quot;Администратором&amp;quot; вам лень (точнее, просто не хочется закрывать все активные приложения). На первый взгляд никакой угрозы для безопасности в этом нет, ведь &amp;quot;запуск программы от имени другого пользователя&amp;quot; требует явного ввода пароля! А вот получи треска гранату, - любое злопакостное приложение сможет перехватить ваш пароль только так! Причем, речь идет не о какой-то непринципиальной недоработке, которая легко устранима простой заплаткой (в просторечии называемой &amp;quot;падчем&amp;quot;). &lt;br /&gt;Нет! Все так специально и задумывалось. Не верите? Откроем Рихтера &amp;quot;…система отслеживает сообщения WM_SETTEXT и обрабатывает их не так, как большинство других сообщений. При вызове SendMessage внутренний код функции проверяет, не пытаетесь ли вы послать сообщение WM_SETTEXT. Если это так, функция копирует строку из вашего адресного пространства в блок памяти и делает его доступным другим процессам. Затем сообщение посылается потоку другого процесса. Когда поток-приемник готов к обработке WM_SETTEXT, он определяет адрес общего блока памяти (содержащего новый текст окна) в адресном пространстве своего процесса. Параметру lParam пристраивается значение именного этого адреса, и WM_SETTEXT направляется нужной оконной процедуре. Не слишком ли накручено, а?&amp;quot; Выходит, разработчики оконной подсистемы искусственно и крайне неэлегантно обошли подсистему защиты Windows, разделяющую процессы по их адресным пространствам. Естественно, это делалось отнюдь не с целью диверсии, - просто запрети Microsoft посылку сообщений между процессами куча существующих приложений (написанных большей частью под Windows 3.x) тут же перестала бы работать! А значит, эмуляция ввода с клавиатуры жила, жива и будет жить! &lt;br /&gt;Единственное, что нужно знать - так это дескриптор (handle) окна, которого вы хотите &amp;quot;осчастливить&amp;quot; своим сообщением. Существует множество путей получить эту информацию. Можно например воспользоваться API-функцией FindWindow, которая возвращает дескриптор окна по его названию (текстовой строке, красующейся в заголовке) или тупо переворошить все окна одно за другим, в надежде что рано или поздно среди них встретиться подходящее. Перечисление окон верхнего уровня осуществляется функцией EnumWindows, а дочерних окон (к которым диалоговые элементы управления как раз и принадлежат) - EnumChildWindows. &lt;br /&gt;Собственно, получить дескриптор главного окна ломаемого приложения - не проблема, ведь мы знаем его имя, которое в большинстве случаев однозначно идентифицирует данное окно среди прочих запущенных приложений. С дочерними окнами справиться не в пример сложнее. Ладно, кнопки еще можно распознать по их надписи (получаем дескрипторы всех дочерних окон вызовом EnumChildWindows, а затем посылаем каждому из них сообщение WM_GETTEXT с требованием сказать как кого зовут, после чего нам останется лишь сопоставить дескрипторы кнопок с их названиями). К сожалению с окнами редактирования такой фокус не пройдет, ибо по умолчанию они вообще не содержат в себе никакой информации, - вот и разбирайся это окно для ввода регистрационного имени или номера? &lt;br /&gt;На помощь приходит тот факт, что порядок перечисления окон всегда постоянен и не меняется от одной операционной системе к другой. То есть, определив назначения каждого из дочерних окон экспериментально (или с помощью шпионских средств типа Spyxx из комплекта SDK) мы можем жестко прописать их номера в своей программе. Например, применительно к crackme.58DD2D69h это может выглядеть так: запускаем наш любимый soft-ice и даем команду &amp;quot;HWND&amp;quot; для выдачи списка всех окон, включая дочерние, зарегистрированных в системе. &lt;br /&gt;0B0416&amp;#160; &amp;#160; #32770 (Dialog)&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 6C291B81&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0B0406&amp;#160; &amp;#160; Button&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 77E18721&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0B040A&amp;#160; &amp;#160; Static&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 77E186D9&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0D0486&amp;#160; &amp;#160; Edit&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 6C291B81&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0904C6&amp;#160; &amp;#160; Static&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 77E186D9&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0D0412&amp;#160; &amp;#160; Edit&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 6C291B81&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;&amp;#160; 0A047C&amp;#160; &amp;#160; Button&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 77E18721&amp;#160; &amp;#160; 43C CRACKME_&lt;br /&gt;Ага! Вот они окна редактирования (см. текст выделенный жирным шрифтом), - третье и пятое по счету дочернее окно в списке перечисления. Одно из них наверняка принадлежит строке регистрационного имени, а другое - регистрационного номера. Но как узнать какое кому? Воспользовавшись ключом xc, заставим sof-ice выдать более подробную информацию по каждому из окон: &lt;br /&gt;HWND -xc&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Hwnd&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0D0486&amp;#160; &amp;#160; (A0368EF8)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Class Name&amp;#160; &amp;#160; &amp;#160; : Edit&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Module&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : CRACKME_&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Window Proc&amp;#160; &amp;#160; &amp;#160;: 6C291B81 (SuperClassed from: 77E19896)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Win Version&amp;#160; &amp;#160; &amp;#160;: 0.00&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Parent&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0B0416&amp;#160; &amp;#160; (A0368A88)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Next&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0904C6&amp;#160; &amp;#160; (A0368FB8)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Style&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Window Rect&amp;#160; &amp;#160; &amp;#160;: 387, 546, 615, 566 (228 x 20)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Client Rect&amp;#160; &amp;#160; &amp;#160;: 2, 2, 226, 18 (224 x 16)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; …&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Hwnd&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0D0412&amp;#160; &amp;#160; (A03690A8)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Class Name&amp;#160; &amp;#160; &amp;#160; : Edit&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Module&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : CRACKME_&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Window Proc&amp;#160; &amp;#160; &amp;#160;: 6C291B81 (SuperClassed from: 77E19896)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Win Version&amp;#160; &amp;#160; &amp;#160;: 0.00&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Parent&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0B0416&amp;#160; &amp;#160; (A0368A88)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Next&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; : 0A047C&amp;#160; &amp;#160; (A0369168)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Style&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Window Rect&amp;#160; &amp;#160; &amp;#160;: 387, 572, 615, 592 (228 x 20)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Client Rect&amp;#160; &amp;#160; &amp;#160;: 2, 2, 226, 18 (224 x 16)&lt;br /&gt;Как легко установить по координатам вершин окон, первое из них находится на 26 пикселей выше другого (546 против 572), следовательно первое окно - окно регистрационного имени, а второе - окно регистрационного номера. &lt;br /&gt;Теперь, когда порядковые номера окон редактирования известны можно накрапать следующую несложную программку: &lt;br /&gt;// ПЕРЕЧИСЛЕНИЕ ДОЧЕРНИХ ОКОН crackme&lt;br /&gt;// ===========================================================================&lt;br /&gt;// получаем хэндлы всех интересующих нас окон&lt;br /&gt;// (порядок окон определяем либо экспериментально, либо тестовым прогоном&lt;br /&gt;// с отладочным выводом информации по каждому из окон)&lt;br /&gt;BOOL CALLBACK EnumChildWindowsProc(HWND hwnd,LPARAM lParam)&lt;br /&gt;{&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; static N = 0;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; switch(++N)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case 3: // окно с именем пользователя&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; username = hwnd;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; break;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case 4: // text со строкой &amp;quot;reg. num.&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; hackreg = hwnd;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; break;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case 5: // окно для ввода регистрационного номера&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; regnum = hwnd;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; break;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case 6: // конопка ввода&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; input_but = hwnd;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return 1;&lt;br /&gt;} &lt;br /&gt;Теперь перейдем непосредственно к технике эмуляции ввода. Ну, ввод/вывод текста в окна редактирования больших проблем не вызывает: WM_SETTEXT/WM_GETTEXT и все пучком, а вот &amp;quot;программно&amp;quot; нажать на кнопку несколько сложнее. Но ведь вам же хочется, чтобы программа не только ввела в соответствующие поля всю необходимую регистрационную информацию, но и самостоятельно долбанула по , чтобы закончить ввод?! &lt;br /&gt;Как показывает практика, посылка сообщения BM_SETSTATE элементу управления типа &amp;quot;кнопка&amp;quot; не приводит к ее нажатию. Почему? Наша ошибка заключается в том, что для корректной эмуляции ввода мы во-первых, должны установить фокус (WM_SETFOCUS), а после перевода кнопки в состояние &amp;quot;нажато&amp;quot; этот фокус убить (WM_KILLFOCUS), ведь, как известно даже желторотым пользователям, кнопки срабатывают не в момент их нажатия, но в момент отпускания. Не верите? Поэкспериментируйте с любым приложениям и убедитесь в справедливости сказанного. Кстати, забавный трюк: если под NT/w2k в сообщение WM_KILLFOCUS передать недействительный дескриптор окна, получающего на себя бразды правления, то операционная система по понятным соображениям не передаст фокус несуществующему окну, но у активного окна фокус все-таки отберет. Windows 9x, напротив, оставляет фокус активного окна неизменным! Вот такая разница между двумя операционными системами. Еще одна делать на последок. Если в роли убийцы фокуса выступает функция SendMessage по поток, эмулирующий ввод, блокируется вплоть до того момента, пока обработчик нажатия кнопки не возвратит циклу выборки сообщений своего управления. Чтобы этого не произошло, - используйте функцию PostMessage, которая посылает убийцу фокуса и, не дожидаясь от него ответа, как ни в чем не бывало продолжает выполнение.&lt;/p&gt;
						&lt;p&gt;Испытаем наш автоматический регистратор? (file://CD/SRC/crack-me58DD2D69h/HACKGEN2/autocrack.c). Запустив защищенную программу и при желании заполнив поле имени пользователя (если его оставить пустым, автоматический регистратор использует имя по умолчанию), мы дрожащей от волнения рукой запускаем autocrack.exe… Держите нас! Это сработало! Вот это автоматизация! Вот это хакерство! Вот это мы понимаем! [врезка] как сделать исполняемые файлы меньше &lt;br /&gt;Даже будучи написанным на чистом ассемблере, исполняемый файл генератора регистрационных номеров занимает целых 16 килобайт! Хорошенький монстр, нечего сказать! Хакерам, чей первый компьютер был IBM PC с процессором Pentium-4, может показаться, что 16 килобайт это просто фантастически мало, однако еще в восьмидесятых годах существовали компьютеры с объемом памяти равным этому числу! Впрочем, зачем нам так далеко ходить, - откроем первое издание настоящей книги: &amp;quot;Без текстовых строк исполняемый файл [генератора] занимает менее пятидесяти байт и еще оставляет простор для оптимизации&amp;quot;. Сравните пятьдесят байт и шестнадцать килобайт, - переход с MS-DOS на Windows увеличил аппетит к памяти без малого в триста раз! &lt;br /&gt;Вообще-то, с чисто потребительской точки зрения никакой проблемы в этом нет. Размеры жестких дисков сегодня измеряются сотнями гигабайт и лишний десяток килобайт особой погоды не делает. К тому же, наш исполняемый файл замечательно ужимается pkzip&#039;ом до семисот с небольшим байт, что существенно для его передачи по медленным коммуникационным сетям, - да только где такие нынче найдешь?! &lt;br /&gt;С чисто же эстетической точки зрения держать у себя такой файл действительно нехорошо. Обиднее всего, что на 99% генератор состоит из воздуха и воды, - нулей, пошедших на вырывание секций по адресам, кратным 4Кб. Три секции (кодовая секция .text, секция данных .data и таблица импорта .itable) плюс PE-заголовок, - вместе они эти самые 16 Кб и создают. Полезного же кода в исполняемом файле просто пшик - немногим менее двухсот байт. Конечно, двести это не пятьдесят и с переходом на Windows мы все равно проигрываем и в компактности, и в скорости, но все-таки кое-какой простор для оптимизации у нас имеется. &lt;br /&gt;Начнем с того, что прикажем линкеру использовать минимальную кратность выравнивания из всех имеющихся, - составляющую всего четыре байта. Указывав в командной строке ключ &amp;quot;/ALIGN:4&amp;quot; мы сократим размер исполняемого файла с 16.384 до 1.032 байт! Согласитесь, что с таким размером уже можно жить! &lt;br /&gt;Причем, это далеко не предел оптимизации! При желании можно: а) выкинуть MS-DOS stub, который все равно бесполезен; б) подчистить IMAGE_DIRECTORY; в) использовать незадействованные поля OLD EXE/PE-заголовков для хранения глобальных переменных; г) объединить секции .text, .data, .rdata в одну общую секцию, сведя тем самым эффективную кратность выравнивая к одному и высвободив еще трохи места за счет ликвидации двух секций. Словом, возможности для самовыражения под Windows все-таки имеются! &lt;br /&gt;&amp;#160; [C] Крис Касперски&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 13:04:52 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=95#p95</guid>
		</item>
		<item>
			<title>Прошивка телефона Siemens на примере Siemens S75</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=94#p94</link>
			<description>&lt;p&gt;Курс молодого бойца для тех, кто хочет прошить телефон Siemens, но не знает как это сделать. Подробное описание необходимого оборудования, программ и самого процесса прошивки.&lt;br /&gt;Большинству владельцев сотовых телефонов приходилось слышать термин «прошивка телефона». Однако, как правило, представление о ней весьма смутно – обычно считается, что это нечто безумно сложное и для простого пользователя недоступное. Что же такое прошивка? Если привести очень грубую с технической точки зрения аналогию, – это примерно то же, что и операционная система на компьютере. Попросту говоря, прошивка – это программное обеспечение телефона. &lt;br /&gt;Для любой марки и модели телефона, как правило, существует несколько (иногда их число может достигать десятка) версий прошивок. Почему же производитель телефона выпускает разные версии прошивок? Все объясняется достаточно просто. Любой производитель мобильных стремится как можно быстрее вывести на рынок новый модельный ряд телефонов, при этом тестирование работы аппаратов не всегда проводится в достаточном объеме. Телефоны появляются в продаже – и тут-то и выявляются недостатки, иногда достаточно серьезные. Аппарат может самопроизвольно выключаться или перегружаться, да и просто работать очень медленно. Для устранения всех этих проблем производитель выпускает новые версии прошивок. Иногда до появления стабильной версии прошивки может появиться далеко не один релиз.&lt;br /&gt;К сожалению, компании-производители сотовых телефонов не позволяют пользователям самостоятельно обновлять прошивку. Т.е. для обновления версии ПО необходимо обращаться в фирменный сервисный центр, где это делается бесплатно. Однако есть одно приятное исключение – компания Сименс. Это единственный производитель, который сделал процесс апгрейда прошивки максимально простым и доступным для конечного пользователя, что, впрочем, не отменяет возможности перепрошивки в сервисном центре. &lt;br /&gt;Некоторые читатели-владельцы Сименсов могут задуматься, сумеют ли они перепрошить телефон самостоятельно, да и нужно ли им это вообще? На оба вопрос ответ положительный. Возьмем простой пример: у вас и вашего знакомого одинаковые модели телефонов, но у него телефон работает практически безупречно, а в работе вашего мобильника наблюдаются «глюки». В его телефоне имеются некоторые функции, которых нет в вашем. Причина, скорее всего, кроется в различиях версий ПО. Ну как, мы вас убедили?&lt;br /&gt;Что же касается сложностей самостоятельной прошивки – эта статья как раз и была написана, чтобы помочь разобраться в этом процессе. В настоящий момент наиболее актуален вопрос обновления ПО аппаратов Siemens 75-й серии, как наиболее проблемной в работе по части работы первых версий прошивок. Если у Вас еще не возникло желания проапгрейдить свой Сименс (заметим, что наши инструкции помогут справиться с прошивкой не только телефонов 75-й серии), то вот вам еще несколько фактов:&lt;br /&gt;1) В телефоне Siemens С65, начиная с 12-й прошивки, появился GPRS модем, которого не было в ранних версиях.&lt;br /&gt;2) В 25-й прошивке телефона Siemens S65 значительно улучшено качество снимков встроенной камеры (по сравнению со 2-й версией, с которой телефон поступил в продажу, это небо и земля).&lt;br /&gt;3) Во всей линейке 65-й серии улучшена общая стабильность работы телефона, увеличилась скорость работы Java-приложений и время работы аккумулятора.&lt;br /&gt;4) Для любителей Java-приложений, начиная с 16-й версии прошивки, предусмотрена поддержка 3D Java.&lt;br /&gt;В этот список включены лишь основные изменения. Если вы – обладатель телефона 75-ой серии, и его неустойчивая работа или медлительность вас не слишком устраивает, то самый надежный способ исправить все недостатки – обновить ПО. Поверьте, вы станете владельцем совсем другого телефона.&lt;br /&gt;Медленно, но верно продвигаемся к самому процессу перепрошивки. Для начала необходимо определить текущую версию прошивки на вашем телефоне. Для этого набираем на мобильнике комбинацию *#06#, на экране телефона появится IMEI-номер вашего телефона. Теперь нажимаем навигационную клавишу вправо и перейдем на закладку «О телефоне» – появится дополнительная информация о телефоне. Нас интересует строчка Версия ПО. Под этой строчкой и будет написана версия прошивки, например, 10 (самый худший вариант). На момент написания статьи самой последней версией является 31-я английская или 24-я русская.&lt;br /&gt;Теперь немного информации о том, где взять саму прошивку, и что она из себя представляет. Существует два варианта: первый – так называемый Update Tool, который можно скачать с сайта BenQ Mobile, и второй, который мы назовем WinSwup (этот вариант прошивки можно с нашего сайта в разделе Прошивки для Siemens). Достаточно часто можно также встретить альтернативные названия этих прошивок: FW (Update Tool) и не-FW (WinSwup). Оба варианта ничем не отличаются в плане микрокода, отличия имеются только в программах, которые записывают прошивку в телефон, так называемых «прошивальщиках». Да и те, в основном, отличаются интерфейсом: версия прошивальщика Update Tool более проста в обращении для неискушенного пользователя, а прошивки WinSwup предназначены для использования в сервис центрах. Мы опишем процесс апгрейда для всех вариантов, но на наш взгляд более лучше использовать вариант &amp;quot;WinSwup&amp;quot;.&lt;br /&gt;Сейчас, когда мы уже вплотную подошли к самому процессу, осталось уточнить, какое оборудование нам понадобится. Естественно, необходим компьютер, кабель для подключения телефона к компьютеру и, конечно же, сам телефон ;). Если с компьютером и телефоном все понятно, то с кабелем могут быть определенные трудности. Далеко не каждый имеющийся в продаже кабель подойдет, причем не стоит особо верить продавцам – спрашивать при покупке, можно ли будет прошить этим кабелем телефон, практически бесполезно. Другое дело, если вам удастся договориться о возврате покупки в случае неудачи. Единственное, что можно рекомендовать однозначно – это фирменный кабель Siemens DCA 510 (или DCA 512 – его разновидность). C этим кабелем у вас будут работать любые программы для телефонов Siemens 65-й и 75-й серий, к тому же этим кабелем можно «патчить» телефон. В отличие от всех остальных телефонов 65-й и 75-й серий, S/SL 75 можно прошить кабелем DCA 540, ровно, как и DCA 500, вот только любителям поиздеваться над телефоном, т.е. «патчерам», эти кабеля не подойдут. Среди подходящей для наших целей продукции сторонних производителей можно найти кабели MA8720C (это USB-кабель с подзарядкой, которую нельзя отключить) и MA8720P (USB-кабель с возможностью контроля процесса зарядки) от компании Mobile Action. В теории должны подойти любые USB-кабели с чипом PL-2303, однако, может потребоваться определенная модернизация кабеля.&lt;br /&gt;Итак, подведем итог: наилучшим вариантом является Siemens DCA 510/512, второе место занимают кабели MA8720C(P). Если же ни один из них вам отыскать не удалось, покупайте USB-кабель с чипом PL-2303 (в случае, если таким кабелем прошить телефон не получится, проблему вам помогут решить на нашем форуме. Один нюанс работы с кабелем – не забудьте установить для него драйверы, после чего у вас на компьютере появится виртуальный com-порт. Драйверы, как правило, идут в комплекте с кабелем, если их нет (а такой кабель лучше не покупать), вы сможете найти их в разделе нашего сайта Драйверы для Siemens. При установке драйверов для кабеля DCA 510/512 нужно помнить еще и о том, что данную процедуру необходимо произвести до подключения кабеля к USB-порту. Порядок менять не стоит, если вы сначала подключите кабель, а потом начнете устанавливать драйверы, то могут возникнуть проблемы в работе. Если ошибка уже совершена, удалите драйверы с помощью специальной утилиты, которая есть на том же на диске, и переустановите их в правильном порядке.&lt;/p&gt;
						&lt;p&gt;Осталось скачать прошивку. Заходим на сайт BenQ Mobile, справа вверху вы увидите меню Show a product, в котором надо выбрать модель своего телефона и нажать Go. После этого вы попадете на страницу с описанием телефона и прочей информацией, где нас интересует раздел Product support, а точнее – Service Downloads. Кликнув на Service Downloads, вы увидите подраздел Firmware. Чуть ниже будет окно с названием: Please select the correct product и выбираем модель телефона S75 (для разных стран Siemens выпускает несколько модификаций телефонов, например, тот же S75 может называться S7C). Нажимаем Go и в появившемся окне выбираем вариант телефона, в нашем случае это А910 (А910 – это производственная серия для России, соответственно прошивка будет с русским языком в меню; A302 - это производственная серия для Украины). Далее нажимаем Go, после чего появится ссылка для скачивания файла. Нажимаем Download и начнется скачивание файла. Размер файла с прошивкой около 18 Мб, так что, если особой скоростью работы сети вы похвастаться не можете, приготовьтесь подождать. Ну что, скачался? Отлично. Теперь переходим непосредственно к процессу апгрейда ПО.&lt;br /&gt;Запускаем файл S75_240300.xbz_update.exe (так называется файл 24-й прошивки для S75 с русским языком в меню).&lt;br /&gt;Появится окно программы, выглядящее следующим образом:&lt;/p&gt;
						&lt;p&gt;Нажимаем на кнопку Начать и принимаем лицензионное соглашение. Затем подключаем телефон к кабелю и нажимаем на Далее.&lt;/p&gt;
						&lt;p&gt;Программа произведет поиск телефона на доступных com-портах, и, если телефон будет обнаружен, аппарат выключится, и начнется процесс прошивки. В течение этого времени (около сорока минут) на компьютере лучше не работать. По окончании прошивки телефон включится – этот момент желательно не упустить, чтобы подтвердить включение, иначе программа выдаст ошибку. Впрочем, если вы все-таки его прозевали, ничего особенного не произойдет, программа, конечно, поругается, но с телефоном ничего не случится. Если программа телефон не обнаружит (причины могут быть разные), будет предложен ручной режим обновления прошивки.&lt;/p&gt;
						&lt;p&gt;Для этого необходимо выключить телефон и нажать на кнопку Далее, а затем выбрать com-порт, к которому подключен телефон (не забываем, что хоть у нас и USB-кабель, на компьютере он является виртуальным com-портом). Вновь нажимаем на Далее – появится предупреждение «После специального запроса включите телефон. Удерживайте клавишу нажатой, пока не начнется передача данных». Выбираем Далее и после запроса нажимаем и удерживаем кнопку включения телефона. Если программа обнаружит телефон, начнется процесс прошивки. Дальше все пойдет абсолютно так же, как и в вышеописанном случае.&lt;/p&gt;
						&lt;p&gt;На этом повествование можно было бы завершить, если бы все владельцы телефонов 65-й и 75-й серий имели возможность купить фирменный кабель DCA 510/500/512/540. Однако за пределами крупных городов найти такой кабель непросто. Тот же MA8720C(P) куда более распространен, но прошить телефон этим кабелем с помощью Update Tool, по не совсем понятным причинам, не удастся. А уж сколько существует разных кабелей с чипом PL2303, позволяющих прошить телефон, используя версию прошивки WinSwup, но отказывающихся работать с Update Tool... К тому же, есть еще один немаловажный фактор, из-за которого стоит привести инструкцию по использованию сервисной версии прошивки. Несмотря на то, что процедура прошивки достаточно безопасна, все случаи не предусмотришь, и, если во время процесса у вас зависнет компьютер, или банально отключат электричество, Update Tool не сможет привести телефон в работоспособное состояние. Тут на помощь как раз и придет сервисная версия. Ну и еще одно преимущество WinSwup – как правило, новые версии сервисных прошивок в сети появляются раньше, чем Update Tool.&lt;br /&gt;Зачем нам может пригодиться WinSwup, мы определились, теперь переходим непосредственно к процессу. Для начала скачиваем саму прошивку с раздела нашего сайта Прошивки для Siemens. Запускаем файл S75_240300.xbi_service.exe. Появится окно программы такого вида:&lt;/p&gt;
						&lt;p&gt;Сначала нам необходимо выбрать порт, к которому подключен телефон. Для этого нажимаем на кнопку Serial Config и выбираем правильный com-порт. В разделе Baud (скорость) выбираем скорость передачи информации. Вариантов там очень много, можно определенно сказать, что на скорости 115200 заработает любой кабель (из тех, разумеется, которые вообще способны прошить телефон). Чем большую скорость поддерживает ваш кабель, тем быстрее завершится процесс прошивки. Кабели DCA 510 и MA8720C(P) работают на скорости 921600, и процесс прошивки занимает всего девять минут. Если хотите поэкспериментировать, то можете попробовать разные варианты – при выборе скорости, которую кабель не поддерживает, прошивка просто не начнется. Методом последовательных приближений узнаете, какая вам нужна скорость, и нажимаете Ok. Далее (в зависимости от кабеля) возможно несколько вариантов последовательности действий.&lt;br /&gt;Прошивка с кабелем DCA 510/512&lt;/p&gt;
						&lt;p&gt;Вы просто подключаете включенный телефон к кабелю и в программе WinSwup нажимаете на кнопку Start. Если все в порядке, запустится бар Transfer UP-SW – это стадия подготовки к началу процесса. Всё, на этом ваша работа закончена, можете отдохнуть. Во время прошивки окно программы выглядит следующим образом:&lt;/p&gt;
						&lt;p&gt;По окончании процесса телефон включится, после этого можно отключить аппарат от кабеля и начинать пользоваться, радуясь новым функциям и стабильной работе. Если вам не повезло, и после нажатия на кнопку Start появилась какая-нибудь неприятная надпись, например: «No answer from Mobile, maybe not with new Update-Concept?» или «Error on waiting for Ack EOT», придется перейти к следующему варианту.&lt;br /&gt;Прошивка с кабелем на чипе PL2303&lt;/p&gt;
						&lt;p&gt;Выключаем телефон и в программе WinSwup ставим галочку около надписи Skip в разделе Pre-Chek.&lt;/p&gt;
						&lt;p&gt;Дальнейшие действия нужно произвести очень быстро:&lt;br /&gt;1) В программе нажимаем на кнопку Start.&lt;br /&gt;2) Подключаем кабель к телефону.&lt;br /&gt;В принципе, прошивка может начаться уже на этом этапе, но если не началась – есть еще одно средство. Выполняем пункт 3.&lt;br /&gt;3) Коротко, но четко жмем на кнопку включения телефона, при этом ухитряемся сделать это таким образом, чтобы телефон не включился.&lt;br /&gt;Между пунктом 1 и 2 (а если на втором шаге прошивка не пошла то между каждым из пунктов) должно пройти не более половины секунды, иначе процесс прошивки не начнется. Далее процесс пойдет по описанному выше пути.&lt;/p&gt;
						&lt;p&gt;Учтите, что, какой бы способ прошивки вы ни выбрали, аккумулятор телефона должен быть заряжен на 100%.&lt;br /&gt;В заключение – краткое резюме по прошивкам. Мы рекомендуем использовать версию программы для сервисных центров, а не для пользователей. Однако, для не искушенных пользователе, если кабель позволяет прошить телефон с помощью Update Tool, лучше воспользоваться именно этой возможностью. WinSwup стоит использовать когда Вы уже уверенно чувствуете себя в процессе прошивки телефона или в тех случаях, когда вариант Update Tool не работает: т.е. если кабель не позволяет прошить телефон с использованием Update Tool или, как мы уже говорили, процесс прошивки прервался, и необходимо устранить последствия этого досадного происшествия.&lt;br /&gt;В сети часто встречается устоявшиеся, но неверное деление прошивок для Siemens на «родные» и «не родные» версии. Следует иметь в виду, что никто кроме компании Siemens не создает прошивок для этих телефонов. Микрокод прошивки и программы-оболочки (WinSwup и Update Tool) написаны программистами компании Siemens. Если после прочтения у вас остались вопросы или не получается прошить телефон, то Вам помогут решить проблему на нашем форуме в теме: Прошивка и процесс прошивки телефона, проблемы и их решения. Удачного апгрейда!&lt;br /&gt;При подготовке статьи использовались материалы журнала Mobile News. При перепечатке статьи, фрагментов из нее и цитировании обязательно размещение прямой ссылки на данную страницу и журнал Mobile News. &lt;br /&gt;Если вы пользуетесь Мастер-патчем, не забудьте сделать Откат патчей при обновлении прошивки&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 12:51:34 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=94#p94</guid>
		</item>
		<item>
			<title>Прошивка телефонов Nokia</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=93#p93</link>
			<description>&lt;p&gt;Данная статья пердназначена для самостоятельного перепрошивания телефонов Nokia при помощи Nokia software update (далее NSU). Изложенный способ подходит для следующих моделей телефонов: Nokia E50, Nokia E60, Nokia E61, Nokia E70, Nokia N70, Nokia N71, Nokia N72, Nokia N73, Nokia N80, Nokia N91, Nokia N92, Nokia N93, Nokia N93i, Nokia 3250, Nokia, Nokia 6630, Nokia 6680, Nokia 6681, Nokia 6682, Nokia 7370, Nokia 7373, Nokia 7390, Nokia 770, Nokia N800, Nokia 6290, Nokia E61i.&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Для прошивки телефона необходимы некоторые компоненты. В первую очередь – USB кабель. Ни Blootooth, ни ИК порт для этих целей не подходят. Компьютер должен быть современной конфигурации, не ниже: ОС Windows XP SP1, SP2, скорость процессора – 1 гигагерц, постоянное подключение к интернету и ОЗУ 256 мегабайт. Также следует полностью зарядить аккумулятор телефона.Не забудьте перед перепрошивкой скопировать все данные, потому что после перепрошивки вся информация исчезнет.&lt;br /&gt; Перед тем как перепрошивать телефон окончательно убедитесь, что это стоит делать, так как после перепрошивки могут возникнуть неожиданные последствия. При прошивке можно убить телефон. Вернуть его к жизни, скорее всего, смогут в сервисном центре, но есть такие случаи, когда оживить телефон невозможно. Запомните ни в коем случае не отсоединяйте телефон от компьютера, так как в этом случае есть вероятность лишиться телефона навсегда. Не пользуйтесь телефоном во время перепрошивки. В этом случае можно случайно прервать загрузку прошивки. Так как во время перепрошивки телефон будет включён, вам может кто-то позвонить или прислать смс. Теоретически в момент закачки прошивки звонить можно, но лучше не рискуйте и поставьте симку, на которую никто не будет звонить. Также нужно убрать временно пин-код, так как при перезагрузке телефон попросит вас ввести код. При вводе кода можно нечаянно прервать перепрошивку. Нужно быть уверенным, что не отключится свет. Купите ИБП или возьмите его у знакомых. Также не мешало бы проверить вашу трубку на серость. Для этого позвоните в сертификационный центр в вашей стране и сверьте код под аккумулятором. &lt;br /&gt;Для начала следует установить прошивальщик (NSU). Кликаем на установку. В самом начале выбираем модель телефона и нажимаем на Update.&lt;br /&gt; После того как прошивальщик установлен, можно приступить к перепрошивке аппарата. Сама программа имеет русский интерфейс, поэтому поблеем с управлением у вас не должно быть. Сначала подключаем телефон к компьютеру (телефон должен быть со вставленной сим-картой). При запросе телефона выбираем режим PC Suite. Телефон переводим в автономный режим (в некоторых аппаратах он называется обычный) и подключаем зарядное устройство. Запускаем программу, а телефон кладём в безопасное место, чтобы случайно не прервать работу при перепрошивке. При запуске программы появляется окно, в котором несколько раз следует нажать далее и подтвердить условия лицензионного соглашения. При этом программа сама загружает в телефон прошивку. Вам может быть показан программой пример загрузки прошивки. После загрузки программа сама установит новую прошивку на ваш телефон и выполнит перезагрузку телефона. В этот момент должно происходить подключение и отключение телефона от компьютера. При этом в правом углу дисплея будет появляться уведомление о подключении и отключении телефона. В этот момент ни в коем случае не стоит отключать или подключать кабель телефона, так как отключение и подключение телефона к компьютеру происходит не из-за проблемы кабеля.&lt;br /&gt; Всё, после всех манипуляций прошивка полностью переустановлена. Можете включать телефон и всё проверить. &lt;br /&gt;Единственный недостаток программы Nokia software update – это отсутствие поддержки русского языка. &lt;br /&gt;06.12.2007&lt;br /&gt;Читайте также:&lt;/p&gt;
						&lt;p&gt;нюансы прошивки телефонов Nokia&amp;#160; &amp;#160;Нюансы прошивки телефонов Nokia&amp;#160; &amp;#160;Всё, что нужно знать об обновлении ПО на телефонах Nokia 40-ой серии (не смартфоны). В этой статье я опишу по порядку весь процесс прошивки телефонов Nokia s40. Сюда относятся 3220, 5140, 5300, 6230, 6280, 7370 и многие другие телефоны. &lt;br /&gt;Уроки прошивания&amp;#160; &amp;#160; &amp;#160;Уроки прошивания&amp;#160; &amp;#160;Пару лет назад перепрошить телефон не каждый брался, большинство людей обращались в сервис-центр и платили деньги, чтобы прошивку обновили. Лишь некоторые перепрошивали телефон в домашних условиях, из-за этого они часто выходили из строя.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 12:26:46 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=93#p93</guid>
		</item>
		<item>
			<title>ШТО СЛЕДУЕТ ДОБАВИТЬ НА ФОРУМ</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=92#p92</link>
			<description>&lt;p&gt;В данный момент занимаюсь этим вопросом .Скоро все будет.Форум тока раскручивается.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 01:09:53 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=92#p92</guid>
		</item>
		<item>
			<title>социальная инженерия 2</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=91#p91</link>
			<description>&lt;p&gt;Социальная инженерия.&lt;/p&gt;
						&lt;p&gt; Как известно, самый простой способ узнать пароль - просто спросить его у пользователя.&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; Печальная статистика: большинство паролей к различного рода интеллектуальным системам («железным» и «софтовым») уворовывается именно методами социальной инженерии. Впрочем, речь пойдет не столько о них, сколько о сферах успешного применения социальной инженерии в повседневной жизни простых законопослушных граждан, далеких от андеграунда.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Банальный пример: звонок провайдеру Интернет: «Здравствуйте, я абонент такой-то. Новый сотрудник технического отдела. Скажите пожалуйста, был ли зафиксирован с моего ip адреса трафик в Туувалу? Не был? Точно? Как же вам ни ай яй яй? Файволл то заметил…» Цель звонка — узнать ip клиента, от имени которого выступает неизвестный «доброжелатель». Зачем это ему надо — второй вопрос. Важно то, что в 95% случаев требуемый ip будет выдан — скорее всего, совершенно случайно — сотрудником службы технической поддержи. Притом причина подобного поведения банальна — отсутствие возможности верифицировать клиента при обращении: ротация кадров — явление достаточно распространенное, а отслеживать все кадровые перестановки у всех клиентов порой достаточно проблематично (особенно, если клиентов достаточно много). Что станет результатом подобного попустительства — сказать сложно: это может быть все, что угодно — от атаки на сервер клиента, чей адрес ловко «выудил» злоумышленник, до рассылки спама якобы от имени клиента (с фальсификацией IP адреса). Или еще пример. Тоже из жизни — социальная инженерия в рамках корпоративной информационной системы — пользователь, регистрируясь, вводит в систему свои персональные данные. Используя которые, система предпринимает по отношению к пользователю определенные действия — от поздравлений с днем рождения (и автоматической выписки «премии дня рождения») и изучения кулинарных пристрастий до организации банальной слежки. Впрочем, последняя ситуация находится в области «почти невероятного»: как правило, в корпоративной информационной системе акценты принципиально расставляются совершенно по-другому. А вот подделка интерфейса корпоративной информационной системы, особенно имеющий веб-интерфейс, с убеждением пользователя воспользоваться «левым» интерфейсом — ситуация весьма вероятная. (см. сноску [1] — аналогичным образом «взламывают» не только корпоративные информационные системы, но и, например, почтовые службы. Вернее, не сами системы — а их пользователей).&lt;br /&gt; Кому и зачем это надо — тема для отдельной большой дискуссии. «Выуживание» персональной информации «из любопытства», конкурентные «разборки», Но факт «выуживания», как говорится, налицо. А факт, как известно, вещь упрямая.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Собственно говоря, а что вообще представляет собой социальная инженерия? СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ (англ. social engineering) — совокупность подходов прикладных социальных наук, или прикладной социологии, ориентированной на целенаправленное изменение организационных структур, определяющих человеческое поведение и обеспечивающих контроль за ним. [2]&lt;br /&gt; Применительно к сфере информационных технологий, социальную инженерию довольно часто трактуют как комплекс мероприятий, направленных на получение доступа к разнообразной информации. При этом хакинг как таковой к социальной инженерии не имеет практически никакого отношения (зато часто очень удачно ее дополняет).&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; С точки зрения системного подхода, социальная инженерия исходит из того, что среднестатистический пользователь обладает некими усредненными характеристиками. Или близкими к среднестатистическим. Кроме того, системный подход в социальной инженерии рассматривает человека как часть системы, не обладающего фундаментальными знаниями о системе, в которой он находится. В противном случае будет слишком высока вероятность несрабатывания. Поскольку фундаментом, на котором базируется социальная инженерия, являются общеизвестные законы психологии и социологии. А, как известно, где есть законы — там возможны и исключения. И чем более личность информирована об окружающем, тем меньше вероятность того, что методы социальной инженерии в данном конкретном случае сработают.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Примеров «развода» методами социальной инженерии можно привести множество. Один из наиболее показательных приведен в сноске [3]. К высоким технологиям этот пример не относится, но, при кажущейся неправдоподобности, хорошо иллюстрирует суть практического применения социальной инженерии.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Говоря языком психологии, социальная инженерия построена на умении манипулировать другими людьми. А манипулирование, в свою очередь, базируется на элементарных человеческих слабостях: гордости, тщеславии, страхе, милосердии. При этом побудительные силы, заставляющие жертву поддаваться на провокации, находятся внутри самой жертвы. Например, в сноске [4] приведен довольно редко встречающаяся (по крайней мере, в последнее время) разновидность воздействия на жертву: письмо якобы от службы технической поддержки, направленное на то, чтобы неопытный пользователь сам бы выдал пароль злоумышленнику. Гораздо чаще встречаются «инструкции взлома mail.ru» и подобные. Ссылка на «живой» пример подобной инструкции, размещенной в Интернет на одном из бесплатных хостингов, приведен в сноске [5]. Расчет автора этого шедевра и ему подобных прост: почти у каждого пользователя российской части Интернета найдется корреспондент с почтовым адресом на mail.ru. И наверняка найдется кто-то, кто из «лучших побуждений» решит полюбопытствовать содержимым ящика респондента… В результате чего наивно предоставляют злоумышленнику собственную конфиденциальную информацию.&lt;br /&gt; Еще одна сфера, в которой хорошо просматриваются методы социальной инженерии — так называемые «Письма счастья». Цель их стоит чуть особняком от обычных целей, преследуемых социальной инженерией как таковой, и состоит в отсутствии ее как класса:) (Можно, конечно, предположить, что таким образом производители бумаги и канцелярских принадлежностей стимулируют сбыт своей продукции, или провайдеры Интернет генерируют «руками пользователей» трафик, что довольно сомнительно). Хотя… Грамотному хакеру, использующему социальную инженерию, «письмо счастья» может послужить «опорной точкой»: если потенциальная жертва «повелась» на такую малость, следовательно, в дальнейшем она не будет серьезным противником.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Впрочем, есть и более серьезные области применения социальной инженерии. Например, проникновение на охраняемую территорию или «легальное» получение кодов доступа/паролей/ключей к ПО. Ссылки на примеры подобного воздействия, размещенные в Интернет, приводятся ниже ([6], [7]).&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Чаще других в сфере информационных технологий социальную инженерию используют спаммеры. Для того, чтобы спаммерское послание прочли и откликнулись, требуется серьезная подготовка в том числе и в области социальных наук. Помните спам от «Центра американского английского»? Первоначально (достаточно долго) он рассылался, что называется, «в лоб» (с точки зрения текста). Приглашение посетить языковые курсы, и все. С течением времени он стал мутировать, превратившись в невероятное по тексту почти нечитаемое нечто; после этого короткое время шли файлы в формате gif; затем произошел качественный скачек — и спам от ALC приобрел новую форму — от «писем друзей» до «объективного исследования»[8]. То есть, спам стал создаваться с использованием методов социальной инженерии. Пример спама от ALC показателен, и в настоящее время до 20% спама (по крайней мере того, что валится в мой ящик) создается с использованием социальной инженерии.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Впрочем, не следует думать, что уделом социальной инженерии является исключительно спам. С не меньшим (а зачастую и с большим) успехом используют эти методы и в обычной рекламе, транслируемой по радио, телевидению, размещенной на рекламных растяжках и торчащей из каждой газеты и журнала… и каждый шедевр этой рекламной мешанины призывает к совершению определенных покупок. Для чего используются самые примитивные приемы. Например, отождествление: потребителя вынуждают на ассоциации себя с героем рекламы. «Выпив пива марки XYZ, ты будешь богат, и у тебя будет множество женщин». Или: «употребляя продукцию такой-то фирмы, ты становишься самым крутым» — вот что говорит реклама подкорке головного мозга потребителя. Алкоголь ассоциируется с мужеством, предметы женской гигиены — с «высокой наукой», а чудо-средство от всего сразу — с последними достижениями в области медицины. Расчет делается на то, что потребитель приобретает не только товар, но и причастность к этим запредельным чудесам. (В Петербурге одно время шла реклама одного сотового оператора: «Наш телефон — это не просто средство общения, это высокотехнологичная услуга, делающая ваш бизнес свободным и независимым». Предполагалось, что используя услугу, предприниматель разом решит как минимум 80% проблем, к сотовой связи никак не относящихся… С соответствующими тарифами, разумеется.)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Впрочем, методы социальной инженерии действуют далеко не на всех и далеко не всегда. В крупных западных корпорациях в программу обязательных тренингов для сотрудников часто включают лекции и семинары по предотвращению утечки информации, где детально рассматривают методы социальной инженерии и приемы противоборства им.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Методы социальной инженерии интересны тем, что они опираются не на компетентность человека в той или иной области, а на законы, которые управляют человеческим сознанием. Социальный инженер, таким образом — это человек, обладающий определенными знаниями о человеческой психике, и умеющий эти знания применять. При этом компетентность социального инженера в предметной области жертвы не является решающим фактором (хотя и весьма желательна).&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Следующее, что следует рассмотреть — аудитория, или поле деятельности социального инженера. Успех в достижении конкретного результата социального инженера напрямую зависит от степени компетентности его оппонентов по тому или иному вопросу. Например, хорошо инструктированный системный администратор вряд ли предоставит пользователю полномочия в системе на основании телефонного звонка человека, представившегося начальником, в то время как плохо инструктированный, и, как следствие — малокомпетентный — вполне может допустить подобный просчет (см.[7]).&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Еще одним рычагом, часто используемым социальными инженерами, является некомпетентность аудитории в определенных терминах и предметных областях. Например, реклама «компьютеры на базе windows обходятся дешевле по суммарной стоимости владения, чем компьютеры на базе linux». Ставка делается на то, что малая часть потребителей рекламы точно представляет себе, что такое суммарная стоимость владения. И мало кто из них вникал в тонкости сравнительных тестов (а жаль — результаты могли бы оказаться весьма удивительными — все зависит от того, по каким критериям и какие параметры сравнивать — и windows, и linux могут оказаться дешевле при том или ином стечении обстоятельств).&lt;br /&gt; Напоследок хочется отметить, что нет такой области человеческой деятельности, где социальная инженерия применялась бы с большим успехом, чем продажи. Торговец обязан уметь торговать — каждый своим товаром, но базовые принципы искусства продаж от этого не меняются. Успешный торговец хорошо знаком с законами социальной инженерии — хотя он мог и не слышать о подобной науке. Это знание — залог успешных продаж. Как сделать свой товар привлекательным? Как выйти на требуемый объем продаж? Как занять ту, единственную, рыночную нишу, что обеспечит требуемую рентабельность продукта? Как не уронить объем продаж даже в самое «неурожайное» время? Хороший торговец знает ответы на эти вопросы — или ощущает их интуитивно. Это знание — то, что отличает его от других торговцев; то, что дает преимущество конкретно его бизнесу. И не важно, как при этом будет называться торговец — продавец, торговый представитель или менеджер по продажам — суть от этого не изменяется. Экономика должна быть экономной, а торговец обязан торговать «на результат». Вне зависимости (и назло) всем обстоятельствам.&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; Однако не следует думать, что социальная инженерия — панацея на все случаи жизни. Как и все на свете, она имеет как «лицевую», так и «оборотную» сторону. Может быть использована во благо или со злым умыслом [10]. Осознанно или не осознанно. Примеров тому — масса. Достаточно запустить поиск в Интернет по словосочетанию «социальная инженерия». Или, для знающих английский язык — social engineering.&lt;/p&gt;
						&lt;p&gt; Башкиров Александр&lt;/p&gt;
						&lt;p&gt; Примечания:&lt;/p&gt;
						&lt;p&gt; [1]&lt;br /&gt; Пример «выуживания» пароля почтового ящика одного известного бесплатного почтового сервиса, с которым пришлось столкнуться автору. Злоумышленник зарегистрировал доменное имя mails.нечто.ru на бесплатном хостинге (на момент написания статьи оно уже удалено). В этом домене разместил ряд скриптов, имитирующих веб-интерфейс сообщения «сервер перегружен» ряда известных почтовых серверов. Далее, на narod.ru разместил страничку, которую разрекламировал во всех поисковых системах в качестве «метапочтовой системы, предоставляющей доступ к более чем 10 популярным почтовым серверам». Далее, ряду лиц, к переписке которых в основном хотел получить доступ злоумышленник, было разослано письмо следующего содержания: «Прошу прощения за беспокойство. Меня зовут Вася Пупкин, и я создал метапочтовую систему, которая позволит тебе, особенно если у тебя несколько почтовых ящиков на разных серверах, получать доступ к своей почте. Сейчас система тестируется, и ты можешь внести свой вклад в тестинг — зайди на сайт нечто.narod.ru, выбери своего почтового провайдера и получи доступ к своей почте». При попытке доступа к ящику ничего не подозревающего пользователя перебрасывали на «левый» сайт (с интерфейсом, имитирующим «настоящую» почтовую службу), который сообщал, что в настоящее время сервис перегружен. Имя пользователя и пароль, естественно, передавались злоумышленнику. Собственно, к социальной инженерии в этой афере относится механизм, при помощи которого пользователя — «жертву» стимулируют перейти на «метапочтовую систему». Остальное — банальный хакинг… Кстати сказать, знакомый автора, человек, в Интернет далеко не новичок, «повелся» — и в результате здорового желания помочь начинающему интернетчику на некоторое время фактически лишился своего почтового ящика (в результате переписки со службой технической поддержки знакомому удалось доказать свои права на ящик).&lt;/p&gt;
						&lt;p&gt; [2] &lt;a href=&quot;http://www.examen.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.examen.ru/&lt;/a&gt; (поиск по сайту)&lt;/p&gt;
						&lt;p&gt; [3]&lt;br /&gt; Пример «развода» сотрудников ГИБДД (со слов вроде бы очевидца — пассажира машины, о которой пойдет речь, почти байка): водитель автомашины сильно превысил скорость (ехал ночью со скоростью порядка 200 км ч). Требование сотрудника ГИБДД остановиться проигнорировал. «Машина», говорит, «у меня хорошая, а у гаи — „шестерка“, не догонят». Перед следующим по трассе постом резко сбрасывает скорость… Его, естественно, тормозят. Далее такой диалог:&lt;br /&gt; -Здравствуйте, сержант такой-то. Ваши документы… Так… Нарушали?&lt;br /&gt; -Нет, что вы — ехал точно по знакам, там вон ограничение в 80 километров висело (интересно, когда успел его заметить?), так я 80 и ехал…&lt;br /&gt; -Хм, а нам тут передали, что у вас скорость около 200 была.&lt;br /&gt; -Да как же можно, меня обогнал какой-то псих, еле успел притормозить и съехать на обочину… Так быстро ехал, что я даже и номеров не заметил. Только увидел, что стекло заднее тонировано, и все.&lt;br /&gt; -Мда, вот и мы не успели. Но мимо нас он не проезжал…&lt;br /&gt; -А там же развилка перед постом, может направо ушел?&lt;br /&gt; -Может… Ладно, документы в порядке, проезжайте.&lt;/p&gt;
						&lt;p&gt; [4]&lt;br /&gt; Классикой «развода» жертвы стали письма якобы от службы технической поддержки (с фальсифицированным адресом отправителя) примерно такого содержания:&lt;br /&gt; «Здравствуйте, уважаемый пользователь системы Х. Вас беспокоит служба технической поддержки. Мы делаем все для Вашего удобства. В настоящее время завершен перевод системы на новую интеллектуальную платформу. Эта платформа, помимо имеющихся в системе Х функций, обладает рядом новых возможностей, которые, как мы надеемся, будут полезны нам. Некоторое время две платформы будут работать параллельно, затем старая будет выведена из эксплуатации. Перевод пользователей будет осуществлен планово, однако мы предлагаем Вам высказать свое мнение и оценить качество работы платформы. Вы можете работать с новой платформой с прежней учетной записью, однако для этого ее необходимо обновить. Для обновления пришлите нам Ваш пароль и имя пользователя, и мы откроем для Вас вход в новую версию системы Х. Извините за беспокойство, с уважением служба поддержки компании Х».&lt;br /&gt; Получив подобное письмо, неискушенный в вопросах компьютерной безопасности пользователь с большой вероятностью отправит требуемые комбинацию имени/пароля в «службу» технической поддержки.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 01:03:31 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=91#p91</guid>
		</item>
		<item>
			<title>СИ О социальной инженерии в сфере интернета</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=90#p90</link>
			<description>&lt;p&gt;В этой статье я решил рассмотреть аспекты социальной инженерии (СИ) в сфере интернет-мошенничества и компьютерных взломов. &lt;br /&gt;Методики социальной инженерии, применяемые злоумышленниками, сводятся к манипулированию поведением и давлению на человека-оператора. Взломщик применяющий технологии СИ может не обладать огромными познаниями в сфере сетей и операционных систем, но тем не менее может успешно &amp;quot;взломать&amp;quot; систему. &lt;br /&gt;Такие методики конечно же используются не только злоумышленниками, но и в сфере рекламы и в политических технологиях. Однако сейчас я буду рассматривать только сферу интернета. &lt;br /&gt;Знание человеческой психологии в большой мере облегчает работу взломщикам и злоумышленникам. Например люди, непрофессионально работающие с ПК, не хотят затруднять себе жизнь запоминанием паролей. Самый распространенный способ сохранения пароля - стикеры с написанными паролями прилепленные к монитору или к другому, столь же удобному и доступному месту. Прочитать и запомнить такой пароль для любого человека оказавшегося поблизости не составляет никаких проблем, и, пожалуйста - уязвимость в системе найдена. Никакие меры по обеспечению безопасности и защиты от взлома не спасут от человека знающего настоящие логин и пароль в систему. &lt;br /&gt;Если вы когда-либо смотрели фильм &amp;quot;Хакеры&amp;quot;, и помните момент, когда главный герой и героиня роются в мусоре в поисках паролей, знайте - это не фантазия режиссера, это вполне объективная реальность. Совсем не редкость, когда пользователи выбрасывают ненужные бумажки в корзину, не придавая особенного значения том, что на них написано. Другой момент из того же фильма. Главный герой звонит в телевизионную компанию, представляется бухгалтером, у которого при работе на дому произошел сбой, и просит сердобольного охранника сообщить ему некоторые данные необходимые для подключения к системе. Все это - примеры использования хакерами человеческого фактора. &lt;br /&gt;Это конечно же поверхностные примеры, но тем не менее отражающие идеологию СИ - самым уязвимым звеном системы является человек. Естественно, что СИ не стоит на месте и постоянно развивается. Все новые и новые подходы разрабатываются для манипуляции поведением человека. Один из самых заметных подходов на сегодняшний день - &amp;quot;сфабрикованный предлог&amp;quot;. Использование этого метода нашло применение практически во всех сферах интернета, интересных для взломщиков. Это и заражение компьютеров троянскими программами, и пересылка электронных денег на счета мошенников, и недобросовестная реклама. &lt;br /&gt;Предлогом в полученном вами сообщении может быть что угодно, например возможность получить пиратские программы, посмотреть видео сомнительного содержания, и так далее. Вероятность того, что при переходе по указанной ссылке вы заразите свой компьютер троянской программой очень велика. В самом лучшем случае все ограничится рекламными предложениями и незначительным вредом вашему ПК. &lt;br /&gt;Также крайне распространены сообщения от мошенников представляющимися вашими знакомыми, попавшими в неприятную или безвыходную ситуацию, и просящими вас, если вы конечно хотите помочь, переслать некую сумму электронных денег на указанные счета. Это могут быть и сообщения о &amp;quot;заболевших родственниках&amp;quot; и о &amp;quot;покупке медикаментов&amp;quot; и о &amp;quot;дорогостоящей операции&amp;quot;. Фантазия мошенников в этом случае стремится составить сообщение так, чтобы на него клюнуло максимальное количество людей. &lt;br /&gt;Целью всех этих манипуляций является заставить вас совершить действие необходимое злоумышленнику, а тут, как говорится, все методы хороши. При этом вы полностью самостоятельно совершаете все действия и, фактически, являетесь пособником взломщика. &lt;br /&gt;Взломщик, нацелившийся на конкретного человека, постарается узнать о своей цели максимально возможное количество информации. Это не секрет, но мало кто задумывается о том количестве информации, которое любой человек может подчерпнуть о вас воспользовавшись обычными поисковыми системами. Это и ваш e-mail, номер интернет-пейджера, сообщения на форумах и тому подобное. Все это в некоторой мере позволяет узнать о вас целый ряд данных. Взломщик может, не выдавая себя, побеседовать с вами на интересные вам темы, с целью завоевывания доверия, но вы, даже не подозревая об этом, уже являетесь целью или средством взлома. &lt;br /&gt;Еще одной стороной использования методик СИ является вычисление пользовательских паролей. Очень часто человек, работающий в сети и пользующийся персональными сервисами, не затруждает себя придумыванием достаточно сложных паролей. В результате взломщик, зная о таком аспекте, применяет простейший подбор паролей по составленному словарю. Самые простейшие, но тем не менее распространенные, пароли бывают вида qwerty, 12345, никнэйм пользователя, дата рождения, клички домашних животных и тому подобные, вычислить которые зачастую достаточно просто. &lt;br /&gt; Хакеры, применяющие технологии СИ, составляют целые словари распространенных паролей, с помощью которых потом ведется атака на поставленную цель. &lt;br /&gt;Как правило, злоумышленник, успешно применяющий СИ, обладает довольно неплохим знанием психологии, достаточно образован и может обладать неплохими актерскими задатками. Знания этого взломщика могут быть не очень велики в сфере компьютеров, но вы и так самостоятельно проделаете за него половину работы. Взломщику нужно только умело воспользоваться плодами своей &amp;quot;атаки&amp;quot;. &lt;br /&gt; В средства, используемые взломщиками, попадает не только интернет, но и любое другое средство коммуникации - телефон, голосовой чат. Взломщик высокой квалификации должен очень быстро определить стиль и манеру общения со своей целью, иначе &amp;quot;взлом&amp;quot; провалится. Это же касается и стиля письма в электронных письмах или других сообщениях. &lt;br /&gt; Конечно же методы и подходы СИ гораздо более широки и сложны в своей массе, и в данной статье рассмотрены всего некоторые аспекты применения СИ в интернете. &lt;br /&gt; Главными целями использования СИ являются : &lt;br /&gt; Сбор информации - один из важнейших аспектов взлома с помощью СИ.&lt;br /&gt; Заставить пользователя ряд действий необходимых для злоумышленника, оперируя только психологией пользователя.&lt;br /&gt;Результат всех этих действий может оказаться плачевным как для самого пользователя, так и для компании на которую он работает.&amp;#160; &lt;br /&gt;PS: &lt;br /&gt;Кевин Митник - всемирно прославившийся хакер, отсидевший срок в тюрьме за взлом известных американских коммуникационных компаний, обладал сравнительно небольшими познаниями в технической сфере, но успешность его взломов определяло использование технологий социальной инженерии, психологии и манипуляции людьми.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 00:56:32 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=90#p90</guid>
		</item>
		<item>
			<title>Раскрутка сайта: с чего начинать?</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=89#p89</link>
			<description>&lt;p&gt;Вы создали новый оригинальный проект, разместили на хорошем хостинге, проверили каждую страницу сайта на ошибки, поставили счетчики, но они день за днем показывают только Ваши заходы, а также заходы Ваших друзей и коллег. Что делать? Неужели ничего нельзя сделать? Можно!&lt;/p&gt;
						&lt;p&gt; Если Вы уверены, что Ваш сайт выглядит так, что не отталкивает своим видом, Вы можете начинать:: &lt;/p&gt;
						&lt;p&gt; Размещение описания сайта в рассылках-обзорах Сети. Такие рассылки Вы можете найти в разделе &amp;quot;Интернет&amp;quot;-&amp;quot;Обзоры&amp;quot; на &lt;a href=&quot;http://subscribe.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://subscribe.ru&lt;/a&gt; ; в разделе &amp;quot;Интернет&amp;quot; на &lt;a href=&quot;http://content.list.ru/cat_5.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://content.list.ru/cat_5.html&lt;/a&gt; ; на сервисе &lt;a href=&quot;http://maillist.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://maillist.ru&lt;/a&gt; . В случае благоприятного стечения обстоятельств описание Вашего сайта увидят до 100 тысяч подписчиков этих рассылок. При составлении письма ведущему рассылки не следует ограничиваться только фразой &amp;quot;Эй, ты глянь мой линок!!&amp;quot; (прим.автора - это реальный пример одного из писем полученного мной недавно). Помимо ссылки на сайт обязательно включите описание сайта составленного так чтобы выставить на первый план особое содержание сайта, его изюминку. Велика вероятность, что оно в таком виде будет использовано ведущим рассылки. В случае попадания в обзор Вы можете реально получить от 150 до :.. новых посетителей только за один день. Не делайте все в один день, Вам нужен не взрыв на сутки, а постоянная подпитка, пока не заработают другие приемы. &lt;/p&gt;
						&lt;p&gt; Регистрация в каталогах и поисковых системах. Этот метод обеспечит Вас постоянным траффиком, но произойдет это не так быстро. Примерно, этот процесс растягивается на 2-3 месяца. Следует различать каталоги и поисковые системы. Каталог - это подобие телефонной книги в Сети редактируемая людьми которые заходят на сайт, редактируют описание и добавляют описание в каталог. Поисковая система - это автоматический механизм основанный на анализе содержания каждой страницы и ранжирования результатов поиска. Здесь людей-редакторов уже нет. При регистрации в каталогах Ваша главная задача - составить грамотное описание сайта, которое бы обьективно отражало содержание сайта, и не содержало бы различных призывов. Например: &amp;quot;Самый крутой сайт заходи сюда не пожалеешь!!!!!!!!&amp;quot; При регистрации Вашего сайта в поисковых системах обратите внимание на конкретные рекомендации по обеспечению высокой позиции Вашего сайта. Не верьте тому, что добавление тегов keywords и description выведет сайт на первые позиции по всем этим словам. &lt;/p&gt;
						&lt;p&gt; Обмен ссылками с другими сайтами. Этот метод принесет Вам целевую аудиторию, но в тоже время потребует очень серьезной работы по отбору сайтов. Обычно ссылки располагаются в 2-х местах: на главной странице сайта (обычно внизу), а также на отдельной странице &amp;quot;Ссылки&amp;quot;. Таким образом Вы сможете иметь возможность предлагать обмен ссылками разным сайтам в зависимости от количества посещений. Не секрет что можно договорится с заметно более крупным сайтом на обмен на условиях: Вы на главной странице, а они на странице &amp;quot;Ссылки&amp;quot;. Старайтесь отбирать сайты по качеству контента, а не по посещаемости, большая посещаемость может быть &amp;quot;подкрученной&amp;quot;. &lt;/p&gt;
						&lt;p&gt; Баннерная реклама. На Западе это давно прошедший этап развития интернета. Применять баннерную рекламу имеет смысл только для более-менее раскрученных проектов. Если Ваша посещаемость находится на уровне 5-10 человек в день, то мгновенный показ вряд ли привлечет новых посетителей, попытайтесь сначала поработать без показа баннеров, чтобы создать актив показов. Существует 2 класса сетей: Общие и специализированные. Точность воздействия на потенциального посетителя обеспечивается наличием таргетинга, т.е. возможности выбора категории сайтов где будет показываться Ваш баннер. Проблемой специализированных сетей является выгорание баннеров, т.е. снижение результативности по привлечению посетителей. (показатель CTR - отношение количества нажатий на баннер к числу его показов). Наилучшим выбором будет сочетание баннеров общей сети и специализированной. &lt;/p&gt;
						&lt;p&gt; Подпись к сообщениям почты. Вам следует добавить адрес и краткое описание сайта в Вашу подпись в е-мейл сообщениях. Прием не так эффективен, как остальные, но если Вы регулярно участвуете в дискуссионных листах,- эффект может быть более существенным. &lt;/p&gt;
						&lt;p&gt; Web-Кольца. Это разновидность обмена ссылками. Смысл его в том, что Вы размещаете на своем сайте набор ссылок вида &amp;quot; Next&amp;quot; &amp;quot;Previous&amp;quot; &amp;quot;+5&amp;quot; -&amp;quot;5&amp;quot; что обеспечивает целевую аудиторию с других сайтов участвующих в кольце. К сожалению в Рунете web-кольца практически не работают. &lt;/p&gt;
						&lt;p&gt; Написание собственных статей. Если Ваш сайт является контент-проектом, т.е. он содержит информацию по конкретной теме, то попытайтесь начать писать авторские статьи по этой тематике. Затем предлагайте более крупным проектам размещать их у себя, ссылка на Ваш сайт при публикации будет обеспечена. При пересылке статей редактору не посылайте файл как вложение, а поместите текст в тело сообщения. Перед статьей сделайте небольшую аннотацию о содержании статьи. &lt;/p&gt;
						&lt;p&gt; Открытие собственной рассылки. Любой грамотно раскручиваемый сайт рано или поздно подходит к осознанию наличия собственной рассылки. В Рунете существует немало сервисов которые предоставляют такую возможность: &lt;a href=&quot;http://content.list.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://content.list.ru&lt;/a&gt; &lt;a href=&quot;http://maillist.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://maillist.ru&lt;/a&gt; &lt;a href=&quot;http://subscribe.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://subscribe.ru&lt;/a&gt; &lt;a href=&quot;http://virtuals.atlant.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://virtuals.atlant.ru&lt;/a&gt; . Для пробы сил как нельзя лучше подходит &lt;a href=&quot;http://content.list.ru&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://content.list.ru&lt;/a&gt;. Старайтесь сделать содержание рассылки оригинальным, не ограничивайтесь только новостями сайта. Это поможет Вам создать целевую аудиторию для своего сайта. &lt;/p&gt;
						&lt;p&gt; Перечисленные выше методы отличаются степенью эффективности, быстротой проявления результатов, затратами времени. Но самое важное, что они реальны для применения даже для начинающих. Дерзайте и не сидите, сложа руки. Эту статью уже читают и Ваши конкуренты. &lt;/p&gt;
						&lt;p&gt; Удачи!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 00:48:06 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=89#p89</guid>
		</item>
		<item>
			<title>Методы и Способы Раскрутки Сайта. Реклама Сайта</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=88#p88</link>
			<description>&lt;p&gt;Создав свой сайт, каждый веб-мастер приходит к мысли о продвижении своего ресурса в Сети. В этом деле не надо изобретать велосипед, потому что все изучено, известно и разложено по полочкам.&amp;#160; &lt;br /&gt;Как правило, раскрутка веб-сайта включает в себя следущие элементы:&amp;#160; &lt;br /&gt;1. Поисковая оптимизация.&amp;#160; &lt;br /&gt;Поисковая оптимизация- комплекс мер по улучшению технических и контентных характеристик сайта, направленных на повышение вероятности его нахождения заинтересованными пользователями поисковых систем, привлечение тематической аудитории.&amp;#160; &lt;br /&gt;В системе раскрутки сайта поисковая оптимизация занимает ключевое место. Согласно статистике более 70 % посетителей сайта приходит именно с поисковых систем. В Рунете наиболее авторитетными поисковиками являются Yandex (&lt;a href=&quot;http://www.yandex.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.yandex.ru/&lt;/a&gt;), Rambler (&lt;a href=&quot;http://www.rambler.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.rambler.ru/&lt;/a&gt;), Google (&lt;a href=&quot;http://www.google.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.google.com/&lt;/a&gt;), Aport (&lt;a href=&quot;http://www.aport.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.aport.ru/&lt;/a&gt;), Mail (&lt;a href=&quot;http://www.mail.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.mail.ru/&lt;/a&gt;). Множественность поисковых систем затрудняет оптимизацию сайта, та как каждый поисковик использует свой собственный алгоритм поиска, собственный метод ранжирования сайтов. Следовательно, оптимизируя сайт под Яндекс и выводя его на первые места по определенным запросам , нет никакой гарантии, что в Google вебсайт будет занимать аналогичные позиции.&amp;#160; &lt;br /&gt;Поисковая оптимизация включает в себя следущие подэлементы: &lt;br /&gt;-заполнение соответствующих атрибутов html-кода. &lt;br /&gt;Для рисунков следует заполнять тег alt. Гиперссылки требуют наличие тега title. Каждая страница сайта должна содержать теги keywords (ключевые слова для страницы) и description (описание страницы) желательно уникальных для каждой страницы Вашего сайта. &lt;br /&gt;-регистрация в каталогах. &lt;br /&gt;Помимо того, что регистрацию в каталогах можно отнести и в разряд оптимизации, ее можно выделить в отдельный метод продвижения сайта. Высокопосещаемые сайты, могут получить с каталогов около 600 человек ежедневно. &lt;br /&gt;Некоторые поисковые системы отдают предпочтение тем сайтам, которые зарегистрированы в каталогах соответствующей поисковой системы. Для Яндекса- это Яндекс.Каталог (&lt;a href=&quot;http://catalog.yandex.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://catalog.yandex.ru/&lt;/a&gt;), для Google- каталог DMOZ ( &lt;a href=&quot;http://www.dmoz.org/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.dmoz.org/&lt;/a&gt;) и т.д. &lt;br /&gt;-дорвей (Doorway) &lt;br /&gt;Входные страницы (дорвеи) - это станицы, специально оптимизированные под конкретный поисковый запрос в конкретной поисковой системе. Данных страниц может быть очень много. Для каждого ключевого слова (словосочетания) и поисковика своя страница.&amp;#160; &lt;br /&gt;2) Триада: качественный контент, удобная навигация, приятный дизайн.&amp;#160; &lt;br /&gt;Контент сайта является одним из самых важных составляющих раскрутки сайта. Согласно статистике &#039;Академии Бизнеса&#039; (&lt;a href=&quot;http://businessacademy.com.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://businessacademy.com.ru/&lt;/a&gt;) посетители сайта предпочитают:&amp;#160; &lt;br /&gt;1. Авторские статьи. &lt;br /&gt;Выбирая тематику создаваемого сайта, автор проекта отдает предпочтение тем темам, в которых он компетентен, которые ему интересны и небезразличны. Посетитель же в свою очередь, заходя на Ваш сайта, прежде всего желает узнать мнение автора, его позицию по вопросам, рассматриваемым на страницах сайта. Соединяя эти два желания воедино, получаем решении проблемы- написание статей, в которых руководитель сайта выражает собственную точку зрения, собственный взгляд по теме веб-сайта.&amp;#160; &lt;br /&gt;2. Первая статья- второе лицо сайта. &lt;br /&gt;Первое лицо сайта- заглавная страница. Это общеизвестная истина. Второе лицо- первая статья сайта. Я предполагал, что посетителя сайта интересует материалы, которые более ему интересны и ранжирует он их согласно заголовку статьи, так как на веб-сайтах в основном показывается заголовок или редко заголовок и первый абзац статьи(отсюда кстате и важность заголовка для статьи). Однако не малое значение имеет самая первая статья в разделе Вашего сайта. Видимо основываясь на впечатление от одной-единственной статьи многие интернетчики составляют впечатление о всех материалах веб-ресурса. Так что эффект первой статьи немаловажен.&amp;#160; &lt;br /&gt;3. Изучайте мнение людей в оффлайн. &lt;br /&gt;По темам многих сайтов Рунета ведутся дискуссии по TV, радио, в книгах, журналах и тематических изданиях. Тематика моего сайта- бизнес. Я проделал следущий опыт. По телевизору есть специальный канал &#039;РБК&#039;. Была выбрана тема, обсуждаемая на РБК и вызвавшая наибольший отклик от телезрителей. Далее статья на эту тему была размещена на сайте, позади многих статей. И что Вы думаете. Несмотря на то, что данная статья находилась на нижних позициях количество, просмотров было намного больше даже вышестоящих. Как утверждает М. Смолл в книге &#039;Как делать деньги&#039;: Найди потребность и удовлетвори ее. Так мы будем делать трафик, удовлетворяя запросы посетителей. В онлайне узнать мнение рунетовцев можно с помощью служб Яндекс.Директа и Рамблер-Ассоциаций. Информация находится в свободном доступе.&amp;#160; &lt;br /&gt;Все вышеизложенное основано на статистике сайта &#039;Академия Бизнеса&#039;. (&lt;a href=&quot;http://businessacademy.com.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://businessacademy.com.ru/&lt;/a&gt;) &lt;br /&gt;Удобная навигация- это тоже фактор, который предопределяет отношение посетителя к Вам и Вашему сайту. Блуждая по Вашему сайту, заходя в подразделы, человек может запутаться где он сейчас, в каком разделе, если нет должной навигации. И у него срабатывает рефлекс: Если вебмастер не позаботился о моем удобстве, то почему я должен мучиться и выискивать в каком же я разделе. Ведь существует сотня других сайтов, которые удобнее и думают о своих посетителях. Это и есть конкуренция, в которой выживает тот, кто более приспособился. Наиболее актуальная эта проблема для коммерческих сайтов, которые теряют миллионы пренебрегая эти принципом usability (удобство использования).&amp;#160; &lt;br /&gt;Согласно данным Forrester Research и Gartner Group, коммерческие сайты теряют 1,1- 1,3 миллиарда долларов в год из-за того, что клиенты уходят с сайтов, так и не дождавшись их загрузки.&amp;#160; &lt;br /&gt;3) Создание и ведения собственной рассылки, e-mail маркетинг.&amp;#160; &lt;br /&gt;Собственная рассылка- эта стабильный трафик. &lt;br /&gt;Собственная рассылка- постоянный круг клиентов. &lt;br /&gt;Собственная рассылка- это бесплатный и легкий способ донести информацию до большого количества потенциальных клиентов.&amp;#160; &lt;br /&gt;Всего лишь эти три пункта преимуществ доказывают необходимость создания рассылки.&amp;#160; &lt;br /&gt;Простой пример. У Вас есть сайт посещаемостью 300 человек в день, а рассылка 3 000 человек. Чтобы донести информацию до 3 000 человек должно пройти 10 дней. В случае же с рассылкой это замет всего лишь 5 минут.&amp;#160; &lt;br /&gt;Е-mai1 маркетинг - это продвижение продукции или услуг посредством электронной почты. Инструменты e-mail-маркетинга: &lt;br /&gt;Списки рассылки (mailing lists, opt-in E-mail marketing) &lt;br /&gt;Дискуссионные листы (discussions lists) &lt;br /&gt;Конференц &lt;br /&gt;Веб-конференцииии Usenet (группы новостей) &lt;br /&gt;E-mail автоответчики (autoresponders, infobot).&amp;#160; &lt;br /&gt;По данным на 2001 год, менеджеры свыше 60% коммерческих компаний в США полагают, что объемы их продаж существенно возросли, благодаря использованию e-mail-маркетинга. К такому выводу в ходе исследования пришли эксперты Ассоциации прямого маркетинга (Direct Marketing Association - DMA). Согласно проведенным опросам, в сфере предприятий среднего бизнеса применение инструментов e-mail-маркетинга позволило увеличить продажи на 59,8%. Крупные корпорации, в среднем, зафиксировали, 47,1% роста выручки, в то время как продажи малых компаний возросли на 42,6%.&amp;#160; &lt;br /&gt;По словам 63% принявших участие в исследовании менеджеров, электронные почтовые рассылки оказались самым эффективным рекламным инструментом их компании в течение прошедшего года, в то время как 37% отметили его эффективность наряду с другими инструментами.&amp;#160; &lt;br /&gt;Согласно прогнозам аналитиков Jupiter Research, к 2004 г. почтовые рекламные кампании должны были составить 15% средств, вложенных в он-лайновую рекламу (в сравнении с 3% в 2001 году). Ее применение, несомненно, влияет и на отдачу от рекламы, которая сейчас находится в границах от 1% до 30%.&amp;#160; &lt;br /&gt;4) Вирусный маркетинг.&amp;#160; &lt;br /&gt;Вирусный маркетинг - это кампания, результатом которой является постоянное распространение вашей информации . Ваши ссылки будут распространяться в геометрической прогрессии по всей сети. Наиболее известным и частоиспользуемым в Рунете- является вирусный маркетинг с помощью бесплатных электронных книг. Также вирусный маркетинг можно создать с помощью: &lt;br /&gt;-партнерских программ; &lt;br /&gt;-конкурсов; &lt;br /&gt;-бесплатных востребованных программ; &lt;br /&gt;-:&amp;#160; &lt;br /&gt;5) Рассылка сообщений на доски объявлений.&amp;#160; &lt;br /&gt;Этот метод рекламы я считаю одним из малоэффективных. Рекомендуется использовать его новым сайтом, так как это повысить Вам ИЦ, что в свою очередь облегчит обмен ссылками с другими сайтами. Также рассылка сообщений на доски объявлений дает преимущество в поисковиках, потому что при определенных запросах поисковики выдают в результате поиска страницы досок объявлений; небольшой трафик в течение 1-2 недель с момента рассылки.&amp;#160; &lt;br /&gt; 6) Файлы подписи, общение на форумах, чатах, конференциях, дискуссионных листах.&amp;#160; &amp;#160;&lt;br /&gt;Файл подписи - это способ введения дополнительной информации в исходящие сообщения электронной почты. &lt;br /&gt;Файлы подписи дают трафик лишь при двух обстоятельствах: &lt;br /&gt;1- посещаемый ресурс (чаще всего форум) &lt;br /&gt;2- заманчиво составленный файл подписи.&amp;#160; &lt;br /&gt;Файлы подписи следует поставить: &lt;br /&gt;- в почтовом клиенте; &lt;br /&gt;- на форумах при общении; &lt;br /&gt;- при различных письменных консультациях.&amp;#160; &lt;br /&gt;Подробнее обо всем этом в отдельной статье.&amp;#160; &lt;br /&gt;7) Публикация авторских статей на дружественных сайтах и в рассылках, опубликование пресс-релизов.&amp;#160; &lt;br /&gt;Пример публикации статьи у партнера Вы наблюдаете прямо сейчас. Это один из самых легких методов рекламы. Нужно всего лишь договориться с партнером и выслать текст статьи. Это займет около 10 минут. Об однозначном эффекте говорить трудно, однако ввиду малозатратности времени этот вид рекламы можно совмещать с основными, более существенными.&amp;#160; &lt;br /&gt;8) Совместные проекты с раскрученными сайтами.&amp;#160; &lt;br /&gt;Данный метод продвижения ресурса в Сети хорош тем, что Вы заручаетесь поддержкой уже раскрученного, более авторитетного проекта и, создавая совместный проект, Вы одновременно будете раскручивать сам проект и Ваш сайт. Тяжба раскрутки ляжет на Вашего партнера, поэтому Вы должны максимально внести свое в Ваш совместный проект.&amp;#160; &lt;br /&gt;На этом методы бесплатной рекламы заканчиваются. Все нижеизложенные методы нуждаются в финансировании:&amp;#160; &lt;br /&gt;1) Контекстная реклама; &lt;br /&gt;2) Баннерная реклама; &lt;br /&gt;3) Реклама в оффлайне.&amp;#160; &lt;br /&gt;Контекстная реклама - это показ текстовых рекламных блоков и баннеров на различных площадках Интернета (поисковые системы, каталоги, порталы). Эти блоки привязаны к определенным ключевым словам и словосочетаниям. Например, в поисковых системах при вводе определенной фразы, помимо обычных результатов, мы видим рекламные объявления. Это и есть контекстная реклама.&amp;#160; &lt;br /&gt;Контекстная реклама- наиболее полезный и эффективный метод привлечения целевой аудитории. Рекламодатели платят не за показы, а за реальных посетителей при довольно низкой цене. Это отличает контекстную рекламу от баннерной. Также контекстная реклама отличается тем, что рекламный объявления показывают тому посетителю, который в этом действительно заинтересован.&amp;#160; &lt;br /&gt;Реклама в оффлайн- это объявления в газету, на доски объявлений и раздача листовок. Все довольно просто и понятно.&amp;#160; &lt;br /&gt;Итак, мы выявили 8 способов бесплатной рекламы сайта и 3 платных. На что делать упор выбирать Вам. Я могу лишь посоветовать по своему опыту, что стоит уделить внимание поисковой оптимизации, общению на форумах с файлом подписи, совместным проектам с раскрученными сайтами и для коммерческих сайтов контекстную рекламу.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 00:44:30 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=88#p88</guid>
		</item>
		<item>
			<title>Продвижение сайта с помощью рейтингов ТОП100</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=87#p87</link>
			<description>&lt;p&gt;Каждый вебмастер желает знать как быстро и эффективно раскрутить свой веб-ресурс. Оптимизация сайта для поисковых систем - процесс довольно утомительный и долгий. Мы же расскажем как за день работы &lt;br /&gt;можно значительно увеличить (удвоить или даже утроить посещаемость сайта) - здесь результат зависит только от ваших усилий и творческого подхода к вопросу. &lt;/p&gt;
						&lt;p&gt;Итак, речь пойдет о рейтингах ТОП100, которые Вы наверняка уже не раз видели в широких просторах интернета. Здесь сразу следует оговориться и сказать, что рейтинги бывают разными, ранжирование результатов в них так же может быть различным и зависеть от какого-то конкретного параметра, который мы назовем параметром XXX. &lt;/p&gt;
						&lt;p&gt;Есть рейтинги TOP100, в которых позиция сайта зависит от его посещаемости (параметр XXX - это посещаемость), которая фиксируется счетчиком, размещенным на странице-участнице рейтинга, например, это знаменитый рейтинг TOP100 у Рамблера. Этот рейтинг разбит на категории, и сорвенование между сайтами по посещаемости проводится в каждой категории независимо друг от друга. Если вы выберите категорию, в которой Ваш сайт будет распологаться на 1-2-ой страницах, подберете интерсный заголовок для рейтинга, соответствующий тематике вашего сайта - значительный приток целевых посетителей вам будет обеспечен. Некоторым сайтам удается собирать с 1 страницы одного из разделов рейтинга ТОП100 Rambler 1000-2000 уникальных посетителей ежедневно. &lt;/p&gt;
						&lt;p&gt;Хочу отметить, что хороший, привлекающий внимание заголовок даст хороший приток трафика на сайт с ТОП100, здесь необходимо эксперементировать, если не приходит ничего в голову, можно посмотреть какие заголовки составили конкуренты. &lt;/p&gt;
						&lt;p&gt;Пожалуй, рейтинг ТОП100 Rambler - единственный в Рунете, дающий хороший приток трафика, почти все остальные рейтинги в основу которых в качетстве параметра XXX положена посещаемость, определяемая по счетчику, дают очень маленький трафик. &lt;/p&gt;
						&lt;p&gt;Интерес для вебмастера представляют другие рейтинги ТОП100 в основу которых в качетстве параметра XXX положен принцип &amp;quot;IN-OUT&amp;quot;, который заключается в том, что чем больше вы отправите посетителей на TOP100 и чем большее их количество кликнет на ссылки в TOP100, тем выше ваш ресурс окажется в рейтинге и тем больше посетителей перейдет на Ваш сайт с ТОПа. Золотая жила вебмастера - это трафик, трафик с ТОП100 достаточно качественный, т.к. посетитель сначал читает ваш заголовок, а потом кликает по нему осмысленно. Многие веб-мастера недооценивают подобные рейтинги ТОП100, но можно получить очень большое количество трафика с таких рейтингов. &lt;/p&gt;
						&lt;p&gt;В качестве примера приведем универсальный рейтинг TOP100 такого плана TOP100 сайтов - здесь могут учавствовать сайты любой тематики. Рейтингов ТОП100 огромное количество в Интернете, достаточно поискать через поисковик. Есть тематические рейтинги, например:&lt;/p&gt;
						&lt;p&gt;TOP100 Россйских сайтов &lt;br /&gt;TOP100 Петербурга &lt;br /&gt;TOP100 эротики &lt;br /&gt;TOP100 интим-сайтов &lt;br /&gt;TOP100 развлечений &lt;br /&gt;TOP100 для иностранных сайтов (аглоязычных) &lt;/p&gt;
						&lt;p&gt;Ищите посещаемые рейтинги ТОП100, разместите на самой посещаемой странице вашего сайта ссылки на эти топы, чтобы как можно больше постетителей переходило на данные TOP100, тогда возвращаться с ТОП100 будет на ваши ресурсы в разы больше, чем вы отдавали. &lt;br /&gt;Еще один полезный совет - максимальное количество переходов с любого ТОП100 осуществляется с его первой страницы, если вы не можете на нее попасть, то хорошенько подумайте нужен ли вам такой TOP100 (т.к. со вторых-третьих страниц ТОПов переходов на рекламируемый сайт в десятки раз меньше). Либо увеличьте количество переходов с вашего ресурса на top100, чтобы попасть на первую страницу. &lt;/p&gt;
						&lt;p&gt; Желаем удачи в раскрутке проектов!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 00:41:38 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=87#p87</guid>
		</item>
		<item>
			<title>РАСКРУТКА САЙТОВ.Клоакинг. Шулерский трюк &quot;плохих парней</title>
			<link>https://bolandio.bb10.ru/viewtopic.php?pid=86#p86</link>
			<description>&lt;p&gt;Клоакинг (cloaking) - технология &amp;quot;подмены&amp;quot; веб-страницы, с целью улучшить поисковый рейтинг и/или предотвратить кражу оптимизированной для поисковых машин страницы.&lt;br /&gt;Первая встреча с клоакингом&lt;/p&gt;
						&lt;p&gt; Впервые я познакомился с клоакингом по объявлению. Некий буржуазный веб-деятель по имени Петруха клялся, что разведал самые сокровенные секреты поисковых систем и за некоторую сумму поделится ими с кем угодно. В доказательство он приводил ссылки на страницы, созданные по его рецептам. Они были в 1-й десятке результатов запроса на AltaVista, и это впечатляло.&lt;/p&gt;
						&lt;p&gt;Изучение страниц &amp;quot;изнутри&amp;quot; и &amp;quot;снаружи&amp;quot; к выдающимся открытиям не привело. Я понял, что &amp;quot;тайна сия велика есть&amp;quot; и подписался на Петрухину рассылку. В первом же письме оптимизатор-самородок поведал некоторые детали своей технологии. Суть состояла в том, что поисковой системе &amp;quot;подкладывалась свинья&amp;quot; в виде ужасного вида спам-страницы, содержащей полную ахинею - этакий бред пьяного робота.&amp;#160; &lt;/p&gt;
						&lt;p&gt;Страницы создавались динамически и насыщались заданной ключевой фразой &amp;quot;по самое не хочу&amp;quot;, что и обеспечивало им высокий рейтинг. Причем технология подразумевала производство таких &amp;quot;свиней&amp;quot; в массовом порядке и подмену ими всех страниц подлежащего оптимизации сайта. О том, как именно осуществлялся подлог, Петруха умалчивал. Это наводило на подозрения.&lt;/p&gt;
						&lt;p&gt;Позднее автоответчик прислал еще несколько писем, в каждом из которых цена чудо-оптимизатора последовательно снижалась и, в конце-концов, упала в 3 раза. Сделав вывод, что мой благодетель из категории &amp;quot;плохих парней&amp;quot; и дела у него идут неважно, я благополучно забыл про клоакинг, так и не вникнув в суть до конца.&lt;/p&gt;
						&lt;p&gt; Цели клоакинга&lt;/p&gt;
						&lt;p&gt;Клоакинг сам по себе не является синонимом спама. Точно также как обычный почтовый клиент может стать дьявольским орудием спамера, так и клоакинг может использоваться для спама поисковых систем. Однако, это далеко не вся истина.&lt;br /&gt;Если вы создадите удачную страницу с высоким рейтингом в поисковых машинах, то можете столкнуться с неприятностями:&amp;#160; &lt;br /&gt;Страницу могут элементарно украсть и опубликовать на другом сайте. И мало того, что не поставят ссылку на ваш сайт, так еще присвоят авторство!&lt;/p&gt;
						&lt;p&gt;&amp;#160; &lt;br /&gt;Если страница коммерческая (например, оптимизированное &amp;quot;письмо-убийца&amp;quot;), то конкуренты могут ее полностью скопировать и использовать в собственных целях, нанося прямой удар по вашему карману!&lt;/p&gt;
						&lt;p&gt;&amp;#160; &lt;br /&gt;Код страницы будут &amp;quot;изучать под микроскопом&amp;quot; при помощи анализаторов (типа WebPosition Gold), чтобы понять, чем же она так &amp;quot;угодила&amp;quot; поисковику? И, разумеется, будут пытаться создать что-то подобное.&lt;br /&gt;Клоакинг способен решить эти, а также другие проблемы, связанные с недостатками самих поисковых систем. Вы можете выставить &amp;quot;на публику&amp;quot; страницу с каким угодно кодом, а пауку поисковой системы показывать оптимизированную версию. Дело в том, что некоторые особенности дизайна затрудняют индексацию. Это и flash, и javascript-навигация, графика, многократно вложенные таблицы, избыток кода в начале страницы и т. д.&lt;/p&gt;
						&lt;p&gt;Кроме того, можно создавать оптимизированные версии сайта под каждую поисковую систему и корректировать контент без риска потерять позицию. Благодаря этим мерам можно многократно увеличить поисковый трафик, а следовательно заработать больше денег!&lt;br /&gt;Отношение к клоакингу&lt;/p&gt;
						&lt;p&gt;Поисковые системы ненавидят клоакинг и приравнивают его к спаму! Они считают, что паук должен видеть то же, что и обычный посетитель. Но не является ли в таком случае спамом создание отдельных версий сайта для разных броузеров или платформ? Как быть со страницами, которые пользователь может настраивать по своему вкусу? А если страница динамическая и постоянно изменяется? На эти вопросы нет однозначных ответов, так как поисковые системы не имеют четких правил. Однако, если вас каким-то образом &amp;quot;вычислят&amp;quot;, то могут забанить...&lt;/p&gt;
						&lt;p&gt;Тем временем, многие авторитетные предприниматели используют клоакинг, причем не стесняются говорить об этом вслух. Клоакинг любит, например, Майкл Кемпбелл - специалист по оптимизации, зарабатывающий на одних только партнерских программах более $200 000 в год. Майкл начал применять эту технологию для того, чтобы защитить свои суперстраницы от копирования и подражания, однако потом вошел во вкус и стал делать отдельные версии сайтов под каждый крупный поисковик.&lt;/p&gt;
						&lt;p&gt;Мнение Майкла: &amp;quot;Клоакинг - очень противоречивый и мощный инструмент. Будьте честными и этичными. Не занимайтесь спамом. Не вводите посетителя в заблуждение. Не воруйте страницы с других сайтов и не прячьте их с помощью клоакинга. Эта технология может быть плохой или хорошой - все зависит от того, как она применяется&amp;quot;.&lt;/p&gt;
						&lt;p&gt;А вот что говорит создатель коммерческого скрипта Food Script Джон Херд:&lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;quot;Я использую этот софт с 1995 года и не один из моих доменов не забанили. Чтобы избежать неприятностей, придерживайтесь 2-х правил: &lt;br /&gt;&amp;#160; &lt;br /&gt;1) Если вы пытаетесь ввести посетителя в заблуждение и показываете ему нерелевантное содержание, то нарветесь на неприятности. Если прячете украденную страницу, то это не поможет - рано или поздно вас все равно поймают.&lt;/p&gt;
						&lt;p&gt;2) Если созданная вами страница абсолютна релевантна вводимому запросу, и вы даете посетителю именно то, что он ищет, то вы только помогаете поисковой системе, посетителю и самому себе!&amp;quot;&lt;br /&gt;Не гнушается клоакингом и Борис Чоу, директор компании Internet Marketing Challenge, рассылка которой входит в каталог Библиотеки Американского Конгресса. Уж его-то назвать спамером просто язык не повернется!&lt;/p&gt;
						&lt;p&gt;Впрочем, есть и другие авторитетные оптимизаторы, которые категорически против клоакинга. Но знаете, что я заметил? Их бизнес основан на анализе чужих страниц! ;-)&lt;/p&gt;
						&lt;p&gt;Простые примеры этичного клоакинга&lt;br /&gt;1) Сайт содержит усложненную систему навигации, которая эффектно выглядит, но поисковые системы не могут разобраться в хитросплетениях javascript. Вы показываете паукам ту же страницу, но заменив ее панель навигации обычными текстовыми ссылками.&lt;/p&gt;
						&lt;p&gt;2) Вы не хотите, чтобы конкуренты узнали, как размечена ваша страница. Публичную версию форматируете через CSS, а поисковой машине показываете версию с логической HTML-разметкой.&lt;/p&gt;
						&lt;p&gt;3) Ваш сайт - сплошной flash. Делаете для машины HTML-версию с тем же содержимым. (Хотя в этом случае правильнее будет сделать публичную HTML-версию).&lt;/p&gt;
						&lt;p&gt;Примеры неэтичного клоакинга:&lt;br /&gt; 1) Технология Петрухи, то есть &amp;quot;клоачный&amp;quot; скрипт + генератор спамных дорвеев.&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;2) Воровство чужих страниц и их скрытие через клоакинг.&lt;/p&gt;
						&lt;p&gt;Реализация клоакинга&lt;br /&gt;Технически клоакинг реализуется довольно просто - с помощью Perl-скрипта или ASP/PHP. Когда к веб-серверу поступает запрос, то он, вместо того чтобы сразу выдать индексный файл, сначала запускает клоачный скрипт. Скрипт сравнивает IP-адрес запросчика с имеющейся базой данных. Эта база содержит IP-адреса известных пауков. Если выяснится, что IP принадлежит пауку, то будет выдана соответствующая оптимизированная версия. Если адреса в базе нет, то показывается публичная версия. Вот, собственно, и все.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (BOLANDIO)</author>
			<pubDate>Sat, 08 Nov 2008 00:37:33 +0300</pubDate>
			<guid>https://bolandio.bb10.ru/viewtopic.php?pid=86#p86</guid>
		</item>
	</channel>
</rss>
