20120408

Гарпун номер 2

Представляю вашему вниманию еще один нож.
Данный нож американской фирмы CRKT производство Китай.
Полное название CRKT M21-04G Carson M21 Large Linerlock G-10
Имеет сертификат, что не является ХО.
Нержавеющая сталь 3Cr15MoV
Твердость клинка 58-59
Вес 156 грамм.
Длинна клинка 98 мм
Толщина клинка 3.5 мм
Общая длинна ножа 235 мм

По ощущениям - сталь качественная. Держать в руке очень удобно. Нож не скользит в руке. Упор хороший.
Замок двойной. Чтоб закрыть нож - нужно нажать красный плавник вниз, и передвинуть ось.
Для открытия - пальцем подать небольшую инерцию (серый выступ в виде кольца возле плавника) и немного взмахнуть кистью - клинок вылетает за счет своей тяжести.


20120407

Возвращение

В общем да.. 2011 год был полной фигней, писать было особо не чего. Я прощу прощения у всех, кто ждал новостей, ждал новых ресерчей и новых остроколющережущих предметов (ну да, кому что).
В этом году обещаю писать чаще.

И да. Конечно не без новости. Теперь я в Санкт-Петербурге.

И теперь я в AMD.  В команде KMD (разработка драйверов режима ядра для видеокарт, как десктопных, так и мобильных). Наша команда насчитывает около 100 человек. Часть подразделения здесь в Питере, часть подразделения в Китае, а основной офис нашего подразделения в Канаде.
Это кстати одна  из команд, а есть еще команды занимающиеся кодеками, компиляторами, юзермод-драйверами и еще много чего. И это я не говорю о других направлениях деятельности AMD.


20100908

Symantec Antivirus Crash

Как-то недавно занимался проблемой CFF Font Type 2. И тестировал некоторые PDF. Написан был парсер и генератор фонтов. Ну адобу нагнуть таким вариантом (который я выкладываю) не удалось. Но потом был тест сабжа на virustotal. И в списке антивирусов, проверивших мой сабж - не оказалось Symantec антивируса.
Это наводит на следующие мысли
1) В аверах появились парсеры фонтов для адоб пдф формата.
2) Скорее всего Symantec нагнулся (упал, возможно даже в r0 с эксплуатацией - не проверял).
3) Индусы наверно сейчас ругаются матом (или их ругают).
www.virustotal.com (тест файла)
Выкладываю вам на обозрение сэмпл, чтоб не было пустословия. (возможно к моменту публикации - зарелизили обнолвение).

20100723

Путь, продвижение

Сделал себе наконец-то сюрикены. Получилось неплохо, правда еще не полировал (и наверно не буду) И затачивать тоже не буду, будет как учебные, потом может быть сделаю более достойные. Но эти неплохи, блин получился не комом, на жесткость и на ровность траектории тесты успешно пройдены. Правда вытаскивать их лучше так же как они вошли в цель, если расшатывать в бок, то есть вероятность погнуть конец. Сталь 1 мм толщиной. Нержавейка. Другой стали не было под рукой.
Можете понаблюдать сие чудо.

20100611

Практика отладки инжектов через WinDbg

По просьбам трудящихся, и для новичков любимого форума WASM.RU посвящается.

В данной статье будет рассмотрен прием отладки кода DLL в уже запущенном целевом процессе. Будет показано, как отлаживать инжект имея исходные коды DLL приложения. Вам понадобится заготовка DLL модуля,  среда разработки Microsoft Visual Studio (рекомендую 2003 и выше), и отладчик WinDbg. Предполагается, что читатель уже умеет настраивать проект на сборку DLL, и знает как пишутся DLL модули. Исходник модуля DLL можно взять по ссылке в конце статьи. Так же прилагаю загрузчик (тоже с исходником) инжектирующий DLL в адресное пространство процесса. Загрузчик простой, для тех, кому лень читать и писать что-либо дополнительного.

Настройте среду разработки на генерацию Debug версии DLL, в компиляторе поставьте опцию /MTd (Runtime Library - Multithread debug). Когда будет собран, модуль, без ошибок, можете приступать к чтению следующей части статьи.
Запускаем целевой процесс. Для этих целей можно использовать calc.exe. Далее запускаем WinDbg. Заходим в меню  File->Attach to Process (или просто жмем F6). Выбираем в списке calc.exe. Запоминаем ID процесса.
Далее приводится снимок экрана выбора процесса в WinDBG:

После выбора процесса, не забудем запустить его (нажимаем F5), так как после присоединения отладчика, процесс останавливается (как обычно в ntdll -> DbgBreakPoint).
У вас должно получиться следующее:

Воспользуемся загрузчиком. Загрузчик консольный, требует два параметра. Первый – ID процесса, второй – полный путь к DLL, которую будем отлаживать. Можно конечно обойтись без полного пути, если DLL лежит в системном каталоге (%WINDIR%\system32).
Запускаем:  LoaderDll.exe 7036 D:\DLLForInj.dll
Если процесс завершился без ошибок – значит DLL внедрилась успешно. Если же ошибок нет, а DLL все еще не внедрилась в процесс – то это говорит о том, что проблема с путем или именем DLL модуля. Заглянем в отладчик. Вы должны были заметить, что в исходнике есть инструкция int 3. Она позволит остановиться отладчику на нужном нам месте. Если DLL все таки загрузилась (бинго?), отладчик примет следующий вид:

Дальше можете шагать по комндам по F8 или F10 в зависимости от того, нужно ли входить вам в процедуру.
Важный момент, если вдруг у вас не появилось окна с исходным кодом, попробуйте прописать путь к символам и к исходнику. Для установки путей к символам, необходимо зайти в File->Symbol File Path (либо нажать Ctrl-S). Не забываем включить чекбокс “Reload”. Чтобы символы перезагрузились в рантайме. Чтобы установить путь к исходникам, необходимо зайти в File->Source File Path (либо нажать Ctrl-P). Если вам и это не помогает (карма?), тогда просто попробуйте открыть исходник в ручную File-Open Source File (либо нажать Ctrl-O).
Конечно, “маловато будет” ©, но я надеюсь, что данный материал будет полезен, и подтолкет новичков к более глубокому изучению такого прекрасного инструмента как WinDbg.

Удачной вам отладки.
Файлы к статье

20100515

Эх, работа

В всязи с кошмаром работой (новой). Статья откладывается на неизвестное мне время. Извиняюсь. Но, по просьбам трудящихся выложу сюда
1) Ссылки на литературу и другую полезную информацию.
2) Некую болванку с которой можно начинать трудится самим.

и так

Литература и другая полезная информация.

1) Мануалы интела. А именно: Intel 64 and IA-32 Architectures Software Developer`s Manual. Volum 3B: System programming Guide Part 2 (start from Chapter 19)
2) http://bluepillproject.org/
nbp-0.32-public (blue pill). От великого 90210 (привет, если вдруг ты это читаешь) и Рутковской. Написано на С\asm. Довольно специфично, но познавательно.
IsGameOver.ppt - красиво и доходчиво оформлено.
3) http://www.securevm.org/bitvisor.html
Японский виртуализатор. Сложен для начинающих, но зато более полный и законченный по функционалу. (Сайт можете перевести гуглом)
4) http://northsecuritylabs.com/
Детектор виртуалок, и руткитов на основе виртуализации. Для изучения работы - сойдет.
5) http://virusinfo.info/showthread.php?t=6287&page=5
Тут можно найти Rootkit Unhooker - детектор руткитов и всяких зловредов. Отслеживаются новые версии. 

Собственно этого должно хватить для изучения виртуализации. Советую начать вначале с манов интела и из реального режима перейти в 32\64 битный и включить эту виртуализацию. Поиграться с ней там. И потом уже хорошенько думать над тем, как заставить виндовс (а кому линукс?) перейти в режим гостевой ОС. Кстати довольно интересно - попробуйте сделать свой miniOS и запустите ее параллельно с Window OS. Ну и как говорится - почувствуйте силу.

Болванка
Это простой 32 битный драйвер. Включает и выключает режим виртуализации. Работает под Windows NT (проверял на XP и 7). Собрано на masm32. С использованием заголовочных файлов из KmdKit (Four-F и вам привет большой).
Вывод можете ловить windbg или debugview. Но лучше сделайте вывод в COM порт своими силами. Пригодится в будущем (кстати эта процедура есть в nbp если хорошо поищите).
Файлы тут
Сборка:

D:\ASM\masm32\BIN\ML.EXE /nologo /c /coff "Virtualize.asm"
 Assembling: Virtualize.asm
D:\ASM\masm32\BIN\LINK.EXE /nologo /driver /base:0x10000 /align:32 /out:ndissin.sys /subsystem:native /ignore:4078 /OUT:"Virtualize.sys" "Virtualize.obj"

На этом пока все.

20100311

Приступил к статье

И так, с этого дня я начинаю писать статью по виртуализации в процессорах Intel. Информации на нашем великом и могучем очень мало, а на английском, в основном, только мануалы. Есть разные источники, но они либо не полны, либо довольно сложны для начинающих.
Ну как бы дело не пошло, что-нибудь да выйдет. Ждите новостей, а так же статьи на Wasm.ru.
А чтобы вам было вдвойне интересно, дам кусочек результата вывода в WinDBG, при запуске виртуализационного драйвера под Windows 7 x86:

-------DriverEntry------
-------Driver Load Success------
-------VMX is present------
-------VMX Lock bit is set------
-------VMX inside bit is clear------
-------Setting VMXE------
-------VMXE set success------
-------VM Revision ID = 0x5a08000000000d------
-------VMX is On. Region PhysAddr  = 0x397469a4------
-------DriverUnload------ 
 :)