<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>~САЙТ ДЛЯ ХАКЕРОФ~</title>
		<link>http://haker.3dn.ru/</link>
		<description></description>
		<lastBuildDate>Sun, 05 Nov 2006 02:57:03 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://haker.3dn.ru/news/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Здравствуйте..</title>
			<description>&lt;b&gt;Мы рады вас видеть у сеья на сайте... он недавно только открылся.. ещё в стадии разработки и модерировании... но скора здесь буит много полезной и интересной информации.. будем рады снова вас встретить ;))&lt;/b&gt;</description>
			<content:encoded>&lt;b&gt;Мы рады вас видеть у сеья на сайте... он недавно только открылся.. ещё в стадии разработки и модерировании... но скора здесь буит много полезной и интересной информации.. будем рады снова вас встретить ;))&lt;/b&gt;</content:encoded>
			<link>https://haker.3dn.ru/news/2006-11-05-4</link>
			<dc:creator>Haker</dc:creator>
			<guid>https://haker.3dn.ru/news/2006-11-05-4</guid>
			<pubDate>Sun, 05 Nov 2006 02:57:03 GMT</pubDate>
		</item>
		<item>
			<title>PaSSwordsPRO 2.2.2.0</title>
			<description>Очень крутая программа для взлома хэшей. Умеет: ломать переборами и не только; генерировать хэши MySQL, MySQL5, MD4, MD4 (Base64), MD4 (HMAC), MD5, MD5 (Base64), MD5 (HMAC), MD5 (Unix), MD5 (APR), SHA-1, SHA-1 (Base64), SHA-1 (HMAC), DES (Unix); создавать стойкие к взлому пароли заданной длины; работать со словарями (готовые словари лежат на офсайте); хранить пароли в пошифрованной базе данных; смотреть все, что скрыто за звездочками. Качать обязательно! &lt;p&gt; &lt;a href=&quot;http://www.cracklab.ru/download.php?action=get&amp;n=NjAw&quot; target=&quot;_blank&quot;&gt;PaSSwordsPRO 2.2.2.0&lt;/a&gt;</description>
			<content:encoded>Очень крутая программа для взлома хэшей. Умеет: ломать переборами и не только; генерировать хэши MySQL, MySQL5, MD4, MD4 (Base64), MD4 (HMAC), MD5, MD5 (Base64), MD5 (HMAC), MD5 (Unix), MD5 (APR), SHA-1, SHA-1 (Base64), SHA-1 (HMAC), DES (Unix); создавать стойкие к взлому пароли заданной длины; работать со словарями (готовые словари лежат на офсайте); хранить пароли в пошифрованной базе данных; смотреть все, что скрыто за звездочками. Качать обязательно! &lt;p&gt; &lt;a href=&quot;http://www.cracklab.ru/download.php?action=get&amp;n=NjAw&quot; target=&quot;_blank&quot;&gt;PaSSwordsPRO 2.2.2.0&lt;/a&gt;</content:encoded>
			<link>https://haker.3dn.ru/news/2006-11-05-2</link>
			<dc:creator>Haker</dc:creator>
			<guid>https://haker.3dn.ru/news/2006-11-05-2</guid>
			<pubDate>Sat, 04 Nov 2006 22:04:32 GMT</pubDate>
		</item>
		<item>
			<title>Основные способы обнаружения SoftICE и собственноручное скрытие навсегда</title>
			<description>Прячем SoftICE от обнаружения Ring3-защитами. &lt;p&gt; Установив Айс из оригинального дистрибутива и попытавшись с помощью него исследовать защищенные проги у нас ничего хорошего не получится, т.к. Айс давно уже находится в черном списке, и лучшем случае получишь сообщение об отладчике, а в худшем - Винда вывалится в синий экран (HASP) или зависнет намертво (StarForce 3.3). Не понадеевшись на IceExt, мне надоело прятать айс от ring3-защит и решил один раз и навсегда спрятать айс. Поэтому пришлось самому исправлять все бэкдоры и баги, оставленные разработчиками. Надеюсь еще у кого-то не осталось гимора, перехватывая CreateFile, пытаясь скрыть свой любимый отладчик, поэтому мы сделаем это один &lt;br /&gt; раз и навсегда, пропатчив дрова Айса твоими руками с помощью инфы, приведенной ниже. Не бойся патчить дрова - если все правильно сделано то все сообщения об обнаруженном отладчике исчезнут. Исправление нижеприведенных баг и бэкдоров поможет только прогам, не имеющих своих собственных драйверов. П...</description>
			<content:encoded>Прячем SoftICE от обнаружения Ring3-защитами. &lt;p&gt; Установив Айс из оригинального дистрибутива и попытавшись с помощью него исследовать защищенные проги у нас ничего хорошего не получится, т.к. Айс давно уже находится в черном списке, и лучшем случае получишь сообщение об отладчике, а в худшем - Винда вывалится в синий экран (HASP) или зависнет намертво (StarForce 3.3). Не понадеевшись на IceExt, мне надоело прятать айс от ring3-защит и решил один раз и навсегда спрятать айс. Поэтому пришлось самому исправлять все бэкдоры и баги, оставленные разработчиками. Надеюсь еще у кого-то не осталось гимора, перехватывая CreateFile, пытаясь скрыть свой любимый отладчик, поэтому мы сделаем это один &lt;br /&gt; раз и навсегда, пропатчив дрова Айса твоими руками с помощью инфы, приведенной ниже. Не бойся патчить дрова - если все правильно сделано то все сообщения об обнаруженном отладчике исчезнут. Исправление нижеприведенных баг и бэкдоров поможет только прогам, не имеющих своих собственных драйверов. Прога, получая выход в Ring 0 может делать что попало с системой, а т.к. Айс работает в Ring 0, то оставляет там огромное количество следов, начиная с почти полностью &lt;br /&gt; перехваченной IDT и заканчивая бряками на системных функциях и исправить все это невозможно, и поэтому там будет совершенно индивидуальный подход к каждой защите. Описанные здесь методы подходят к Виндам на ядре NT, под 9x будут некоторые различия. &lt;p&gt; После всех модификаций драйверов необходимо пересчитать их контрольную сумму, &lt;br /&gt; иначе система вообще откажется их загружать. &lt;p&gt; У всех дров, загружамой системой, проверяется контрольная сумма. К счастью алгоритм подсчета суммы уже есть в IMAGEHLP.DLL и выполняет это функция MapFileAndCheckSum: &lt;p&gt; DWORD MapFileAndCheckSum( &lt;br /&gt; PTSTR Filename, &lt;br /&gt; PDWORD HeaderSum, &lt;br /&gt; PDWORD CheckSum); &lt;p&gt; Основные баги и бэкдоры &lt;p&gt; 1. Файл &quot;&amp;#92;&amp;#92;.&amp;#92;Ntice&quot;, &quot;&amp;#92;&amp;#92;.SICE&quot; &lt;p&gt; Это первый и самый популярный метод - открыть файл. Где только я не находил это &lt;br /&gt; имя - даже в видеокодеках. &lt;p&gt; Здесь и далее мы заменим &quot;Ntice&quot; на какое-нибудь другое слово из 5 букв - например &quot;Icent&quot;, далее по тексту новое имя я просто буду называть &quot;XXXXX&quot;; &lt;br /&gt; обязательно придумай свое имя, иначе в черный список защит попадет еще одно имя. &lt;p&gt; Также необходимо спрятать видеодрайвер SIWVID, переименовываем в какое-нибудь &lt;br /&gt; другое имя, назовем его условно &quot;YYYYYY&quot;. Переименовываем ntice.sys в XXXXX.sys &lt;br /&gt; и siwvid.sys в YYYYYY.sys. &lt;p&gt; Нам нужен любой hex-редактор с возможностью поиска текста в обычном 1-байтовом &lt;br /&gt; формате и 2-байтовом (Unicode), например WinHex. В редакторе открываем ntice.sys &lt;br /&gt; и ищем и заменяем следующие строчки в формате ASCII и UNC, заканчивающиеся на 1 &lt;br /&gt; ноль ( 2 в UNC): &lt;p&gt; Важно: некоторые строчки встречаются по нескольку раз, поэтому надо заменять все. &lt;p&gt; &quot;Device&amp;#92;Ntice&quot; - &quot;Device&amp;#92;XXXXX&quot; &lt;p&gt; &quot;DosDevices&amp;#92;NTice&quot; - &quot;DosDevices&amp;#92;XXXXX&quot; &lt;p&gt; &quot;Driver&amp;#92;NTice&quot; - &quot;Driver&amp;#92;XXXXX&quot; &lt;p&gt; &quot;HKLM&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;NTice&amp;#92;&quot; - &quot;HKLM&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;XXXXX&amp;#92;&quot; &lt;p&gt; &quot;Device&amp;#92;Siwvid&quot; - &quot;Device&amp;#92;YYYYYY&quot; &lt;p&gt; Далее ищем целое слово &quot;Siwvid&quot; и заменяем его на &quot;YYYYYY&quot;. &lt;p&gt; В редакторе открываем siwvid.sys и в нем заменяем следующие строчки: &lt;p&gt; &quot;Registry&amp;#92;Machine&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;NTice&quot; - &quot;Registry&amp;#92;Machine&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;XXXXX&quot; &lt;br /&gt; &quot;Device&amp;#92;Siwvid&quot; - &quot;Device&amp;#92;YYYYYY&quot; &lt;p&gt; &quot;Registry&amp;#92;Machine&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;Siwvid&quot; - &quot;Registry&amp;#92;Machine&amp;#92;System&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;YYYYYY&quot; &lt;br /&gt; &quot;DosDevices&amp;#92;SiwvidStart&quot; - &quot;DosDevices&amp;#92;YYYYYYStart&quot; &lt;p&gt; Далее в реестре необходимо изменить названия служб: &lt;p&gt; &quot;HKLM&amp;#92;SYSTEM&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;NTice&quot; - &quot;HKLM&amp;#92;SYSTEM&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;XXXXX&quot; &lt;br /&gt; &quot;HKLM&amp;#92;SYSTEM&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;Siwvid&quot; - &quot;HKLM&amp;#92;SYSTEM&amp;#92;CurrentControlSet&amp;#92;Services&amp;#92;YYYYYY&quot; &lt;p&gt; соответственно надо исправить в этих разделах пути к файлам в &quot;ImagePath&quot;. Также &lt;br /&gt; необходимо найти в папке, где заинсталлен Айс библиотеку nmtrans.dll и в ней &lt;br /&gt; исправить &quot;&amp;#92;&amp;#92;.&amp;#92;Ntice&quot; на &quot;&amp;#92;&amp;#92;.&amp;#92;XXXXX&quot;. Если юзаешь IceExt, то с ним нужно &lt;br /&gt; провести аналогичную модификацию. &lt;p&gt; :) Переименование служб не дает возможности выяснить через QueryServiceStatus &lt;br /&gt; состояние служб. &lt;p&gt; 2. Обнаружение по INT 3(Magic SI/DI) &lt;p&gt; При запущенном Айсе такой код не вызовет исключения, а продолжит спокойно &lt;br /&gt; выполняться: &lt;p&gt; mov si, 4647h &lt;p&gt; mov di, 4a4dh &lt;p&gt; int 3 &lt;p&gt; Этот старый бэкдор со времен ДОС широко используется почти во всех защитах. &lt;br /&gt; Далее необходимо отправить ntice.sys в Иду и выяснить адреса обработчиков int 3, &lt;br /&gt; int 41, int 68. &lt;p&gt; В Айсе даем команду &quot;IDT&quot; и получаем базу таблицы N. Командой &quot;DW N+3*8&quot; (каждый &lt;br /&gt; дескриптор занимает 8 байт) дампим в виде слов и увидем примерно такое: &lt;p&gt; X 0008 EE00 Y &lt;p&gt; подставив слова X и Y, даем команду &quot;U Y&lt;&lt;10h | X&quot; и увидем &quot;код&quot; обработчика &lt;br /&gt; прерывания № 3: &lt;p&gt; push A &lt;p&gt; jmp B &lt;br /&gt; B - это и есть настоящий адрес обработчика прерывания внутри Айса. Нам нужен &lt;br /&gt; относительный адрес: Получаем базу Айса через команду &quot;driver ntice&quot; и вычитаем &lt;br /&gt; ее из адреса. К реальной базе (обычно это 10000h) прибавляем относительный адрес &lt;br /&gt; и переходим по нему в Иде: &lt;p&gt; .text:00031070 INT3_Handler proc near &lt;br /&gt; .text:00031070 ; DATA XREF: sub_3299A+68o &lt;p&gt; .text:00031070 cld &lt;br /&gt; .text:00031071 call sub_46CB6 &lt;br /&gt; .text:00031076 cmp cs:byte_D7B4D, 1 &lt;br /&gt; .text:0003107E jnz short loc_31081 &lt;br /&gt; .text:00031080 retn &lt;p&gt; .text:00031081 loc_31081: ; CODE XREF: INT3_Handler+Ej &lt;br /&gt; .text:00031081 call sub_3315A &lt;br /&gt; .text:00031086 lea esp, [esp+4] &lt;br /&gt; .text:0003108A cmp si, 4647h &lt;br /&gt; .text:0003108F jnz short loc_310BB &lt;br /&gt; .text:00031091 cmp di, 4A4Dh &lt;br /&gt; .text:00031096 jnz short loc_310BB &lt;br /&gt; .text:00031098 call sub_318EA &lt;br /&gt; .text:0003109D jnb short loc_310B5 &lt;br /&gt; .text:0003109F mov dword_D29CA, 10004h &lt;br /&gt; .text:000310A9 mov byte_B7166, 0 &lt;br /&gt; .text:000310B0 call sub_319AA &lt;br /&gt; .text:000310B5 &lt;br /&gt; .text:000310B5 loc_310B5: ; CODE XREF: INT3_Handler+2Dj &lt;br /&gt; .text:000310B5 call sub_33114 &lt;br /&gt; .text:000310BA iret &lt;p&gt; Заменой в выделенном тексте JNZ на JMP, этот бэкдор убивается навсегда. &lt;p&gt; 3. INT 1 ( неверный DPL) &lt;p&gt; Следующий код при запущенном Айсе выполнится без исключения: &lt;p&gt; int 1 &lt;p&gt; При запуске Айс прехватывает прерывание № 1, устанавливая уровень доступа 3 ( &lt;br /&gt; User mode) вместо 0. В той же Иде возле начала кода обработчика прерывания 3 &lt;br /&gt; видно сcылку&quot;.text:00031070 ; DATA XREF: sub_3299A+68o&quot;, перейдем на функцию, &lt;br /&gt; которая использует смещение данной, а также установливает другие обработчики &lt;br /&gt; прерываний: &lt;p&gt; mov dl, 1100000b &lt;br /&gt; mov edi, offset INT1_handler &lt;br /&gt; call SetInterruptHandler &lt;p&gt; mov eax, 2 &lt;br /&gt; xor dl, dl &lt;br /&gt; mov edi, offset INT2_NMI &lt;br /&gt; call SetInterruptHandler &lt;p&gt; mov eax, 3 &lt;br /&gt; mov dl, 1100000b &lt;br /&gt; mov edi, offset INT3_Handler &lt;br /&gt; call SetInterruptHandler &lt;p&gt; mov eax, 6 &lt;br /&gt; mov eax, 41h &lt;br /&gt; mov dl, 60h &lt;br /&gt; mov edi, offset INT41 &lt;br /&gt; call SetInterruptHandler &lt;p&gt; mov eax, 2Dh &lt;br /&gt; mov dl, 60h &lt;br /&gt; mov edi, offset INT2D_handler &lt;p&gt; call SetInterruptHandler &lt;p&gt; B EAX записывается номер прерывания, DL отвечает за DPL, если выполнить DL &gt;&gt; 5 &lt;br /&gt; то и получишь уровень доступа, если покопать глубже в SetInterruptHandler то &lt;br /&gt; можно увидеть, что DL пишется в поле DPL дескриптора в IDT. INT41 также &lt;br /&gt; разрешается исполнять в Ring 3, поэтому заменив DL c 60h на 0 мы разрешим &lt;br /&gt; исполнять эти прерывания только из Ring 0. &lt;p&gt; 4. Бряк на UnhandledExceptionFilter &lt;p&gt; Айс устанавливает бряк на kernel32.UnhandledExceptionFilter,заменея на код СС прямо &lt;br /&gt; первый байт и всплывая, когда сдыхает очередная глючная прога, но всякие &lt;br /&gt; защиты очень любят проверять первый байт функций на равенство СС. Поэтому &lt;br /&gt; заменим в ntice.sys строчку &quot;kernel32!UnhandledExceptionFilter&quot; на неправильную &lt;br /&gt; - kernel32!UnhandledExceptionFilte_&quot; &lt;p&gt; 5. Использование драйверов &lt;p&gt; Если же все-таки защита использует дрова, то нужно отлаживать драйвер и смотреть как он определяет присутствие отладчика. Например SafeDisc поступает крайне тупо - сравнивает адреса обработчиков прерываний №3 и №4, причем их младшие слова и если разница меньше 256 байт то вылетает. Старшие слова адресов могут быть разнесены на МБ! Вообще под ring0 существует масса способов противодействовать Айсу например установить esp в 0 или использовать прерывания 1 и 3 в своих целях. Тогда крэкеры переходят на новый уровень взлома - использование эмуляторов, например я использую VMWare и Bochs. Однако под VMWare все болезни отладчиков переносятся из системы-хозяйки в систему-гость, разве что смерть виртуальной машины не воспринимается та серьезно как ребут всего компа, так что Bochs - идеальный эмулятор для взлома самых извращенных защит, работающих в ring0, однако основный его недостаток - ужасно медленная работа из-за полной эмуляции процессора, НО ЗАТО виртуальный точки отанова можно ставить куда-угодно, хоть на процедуры обработки прерываний.</content:encoded>
			<link>https://haker.3dn.ru/news/2006-11-05-1</link>
			<dc:creator>Haker</dc:creator>
			<guid>https://haker.3dn.ru/news/2006-11-05-1</guid>
			<pubDate>Sat, 04 Nov 2006 21:59:27 GMT</pubDate>
		</item>
	</channel>
</rss>