ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Свой системный загрузчик с блекджеком и шлюхами
  #1  
Старый 17.03.2010, 02:19
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию Свой системный загрузчик с блекджеком и шлюхами

В то время, когда у меня еще в помине не было компьютера у моего одноклассника он был, но его старший брат программист чтобы мы не игрались запароливал систему DOS тремя паролями и в случаи не верного ввода одного из них компьютер тупо вырубался. Прошло время у меня появился компьютер, а мечта стать умней его брата осталась )

Проверка пароля учетной записи в windows меня никогда не радовала да и в unix тоже. А что до загрузки систмы? системный загрузчик так почему бы нам его не модифицировать?

Опираясь на статью Криса Касперски MBR своими руками я немного модифицировал загрузчик windows XP добавив туда проверку пароля (проверяется каждый символ - нужно ввести все сразу правильно, а если ошибся начинай заново) и написал установщик.



СКАЧАТЬ
Программа установки загрузчика
изначально предлагает создать аварийную загрузочную флешку (которая запускает систему в обход mbr на жестком диске), а затем выбрать номер физического диска куда следует установить загрузчик.

Часть кода программы, функция записи в первый сектор физического диска
Код:
#define sPD "\\\\.\\PhysicalDrive%d"

int wr_disk(BYTE disks,unsigned char *data,size_t szdata) {
	unsigned char buf[1024],name[100],ndump[30];
	HANDLE hFile;
	HFILE f;
	//------
	DISK_GEOMETRY_EX dg; // структура геометрии диска
	DWORD junk;
	//------

	sprintf((LPSTR)name,sPD,disks);

	hFile=CreateFile((LPCSTR)name,GENERIC_READ, FILE_SHARE_READ,NULL,OPEN_EXISTING,0,0);
	if(hFile!=INVALID_HANDLE_VALUE)
	{
		if(DeviceIoControl(hFile,IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,NULL,0,&dg,sizeof(DISK_GEOMETRY_EX),&junk,NULL))
		{
			if(szdata>dg.Geometry.BytesPerSector){CloseHandle(hFile); return -1;}

			SetFilePointer(hFile,0,0,FILE_BEGIN);
			ReadFile(hFile,&buf[0],dg.Geometry.BytesPerSector,&junk,NULL);
			CloseHandle(hFile);


			sprintf((LPSTR)ndump,"dump_mbr.%6d",rand());
			f=_lcreat((LPCSTR)ndump, 0);
			_lwrite(f,(LPCCH)&buf[0],dg.Geometry.BytesPerSector);
			_lclose(f);

			memcpy(&buf[0],&data[0],szdata);

			hFile=CreateFile((LPCSTR)name,GENERIC_WRITE, FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
			SetFilePointer(hFile,0,0,FILE_BEGIN);
			WriteFile(hFile,&buf[0],dg.Geometry.BytesPerSector,&junk,NULL);
			if(junk!=dg.Geometry.BytesPerSector){printf("Error write\n");}else{printf("%s write\tOK\n",name);}
			CloseHandle(hFile);

		}
	}
}
Ради теста загрузчик можно записать на флешку и поставить в BIOS загрузку с USB (если ваша материнка это поддерживет). В принципе так можно и оставить. Я уверен ваши близкие будут в шоке и больше не подойдут к компьютеру пока вас нет дома

З.Ы: я не рекомендую ставить свой загрузчик как основной. Работает он и тестировал я его только под winXP (под win7 пишет boot error т.к там совершенно другая система загрузки)
В общем на свой страх и риск! После записи загрузчика оригинальный сохраняется в папке с программой как dump_mbr.*

Последний раз редактировалось Gar|k; 17.03.2010 в 02:33..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишу программы на заказ Limonti О Работе 30 03.03.2010 23:16
Как создать свой dns. debil Болталка 2 26.05.2006 02:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ