Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.23;
Скачать: CL | DM;

Вниз

Как не через fdisk, а програмно установить активный раздел на HDD   Найти похожие ветки 

 
DD   (2002-11-05 00:47) [0]

Очень часто приходится переустанавливать windows стирая все подчастую( через Diskedit), чтоб не подхватить вирус,так вот встал вопрос как это сделать програмно?


 
Cobalt ©   (2002-11-05 08:33) [1]

С помощью программы fdisk.


 
Song ©   (2002-11-05 08:42) [2]

Да никак. Рабатающая винда не даст тебе модифицировать загрузочные области.


 
pasha676   (2002-11-05 09:51) [3]

Прогу надо писать под ДОС (или что там у нас сейчас с загр. дискеты грузиться :)) и только там ее запускать. Возможно писать надо на асме.


 
stone ©   (2002-11-05 09:57) [4]

Хмм. Впервые сталкиваюсь с таким способом борьбы с вирусами. Вам, молодой человек, видимо больше заняться нечем...


 
pasha676   (2002-11-05 11:29) [5]

Да кстати - любопытный способ. То есть через fdisk ты заражаешься, а через дискедит не можешь. Хм, оригинально.
Есть способ более лучший - берешь загрузочные дискетки Линукса и через них фдискишь и форматишь винт. Учитывая количество вирусов в Линуксе и то что фдиск там на порядок лучше досовских (вручную отводка цилиндров под диски и прописка типов дисков и файловой системы - вполне солидный список) - получиться вообще супер.


 
Наезжалкин   (2002-11-05 11:45) [6]

>часто приходится переустанавливать windows стирая все подчастую( через Diskedit), чтоб не подхватить вирус...

Можно завести резервный диск, и на нём хранить образ рабочего.
+регулярный backup на cdrw и пользовательская дисциплина


 
AlexKniga ©   (2002-11-05 13:40) [7]

2 Song

> Да никак. Рабатающая винда не даст тебе модифицировать загрузочные области.

Я старым diskedit"ом, который и не слышал о Windows, превосходно редактировал MBR и не только, в режиме физ дисков. (из МД98 в оконном режиме.)


 
Song ©   (2002-11-05 14:12) [8]

Чтобы запустить diskedit нужно хотя бы отключить блокировку дисков - команда lock чтобы дать прямой доступ. Да потом ещё и сама винда может кучу синих экранов выдать, так что не надо ля-ля.


 
AlexKniga ©   (2002-11-05 14:50) [9]

2 Song
Lock дает прямой доступ к лог диску, а не к физ.
К тому же lock не заблокирует системный лог диск.

То, что MBR & PT можно превосходно редактировать на живой винде, доказывает fdisk.


 
Song ©   (2002-11-05 14:53) [10]

Логический диск разве не находится на физическом?
Или вы хотите сказать что между физическим C и логическим C есть разница? :-))


 
AlexKniga ©   (2002-11-05 15:15) [11]

2 Song
Нет такого физическим C.

физический - hd1
логический - C:

Доступ к ним разный.


 
AlexKniga ©   (2002-11-05 15:21) [12]

В Windows нет ручного монтирования mount, а есть автоматическое монтирование дисков при загрузке оси. Поэтому можно безболезненно редактировать Partition Table.


 
Song ©   (2002-11-05 15:23) [13]

На физическом нет дисков, там только разделы.
AlexKniga, Вы конечно меня извините, но мы с Вами флеймим совершенно не по теме вопроса.


 
Song ©   (2002-11-05 15:25) [14]

>>Поэтому можно безболезненно редактировать Partition Table.
Ok, программно можете?


 
TankMan ©   (2002-11-05 15:29) [15]

Вы тут говорите - возможно - невозможно... может вы к чему-то прийдете в конце концов? Я согласен с AlexKniga если fdisk может это делать, значит можно в принципе это делать... но вопрос был в том - КАК?


 
Денис   (2002-11-05 23:57) [16]

Мужики, - уточняю вопрос - ставить активный раздел надо на
второй винт(не загрузочный) может это облегчит?


 
Opuhshii ©   (2002-11-06 07:14) [17]

в 1-м секторе HDD со смещения 0х1BE по 10 байт вхождения PT до $AA55 структура, что-то в похожеее на:

struct PT_Entry {
BYTE ACTIVE; //Признак активного раздела: если 0 - неактивен, если $80 - активный,
BYTE HEAD; //Номер головки начального сектора раздела
WORD FSC; //Номер сектора и дорожки начального сектора раздела
BYTE PARTTYPE; // Тип раздела, или 0, если раздел свободный
BYTE LHEAD; // Номер головки последнего сектора раздела
WORD LSC; // Номер сектора и дорожки последнего сектора раздела
DWORD FIRSTPARTSECT; // Относительный номер сектора начала раздела
DWORD PARTSIZE; // Размер раздела в секторах
}
;

а diskEdit используете чтоб ваши доморощенные вирусы вам самому жизнь не попртили???,.. :)
:),.. вирусописатель вы наш,.....


 
Opuhshii ©   (2002-11-06 07:22) [18]

:) по $10 byte вхождения,.. :)


 
Anatoly Podgoretsky ©   (2002-11-06 07:43) [19]

:),.. вирусоспасатель вы наш,.....


 
TankMan ©   (2002-11-06 11:22) [20]

Удалено модератором


 
Денис   (2002-11-06 18:41) [21]

А попонятнее можно, я только учусь в Delphi писать...(вот diseditom - проще некуда - ставиш Yes - и все ок) а один заголовок структуры мне не понять...(нужен полный, рабочий пример)


 
Денис   (2002-11-06 18:49) [22]

И зря, некоторые наезжают, что это для вирусов, просто часто друзья обращаются с просбой снести windows.


 
Opuhshii ©   (2002-11-06 20:35) [23]

2Денис (06.11.02 18:49)
:)


 
TankMan ©   (2002-11-06 21:13) [24]

Удалено модератором


 
blackleo   (2002-11-07 21:15) [25]

Sorry za latin no russkih bukv na klave netu ;(

A na DD zrja napali, u nas na firme VSE klientskie masini prohodjat takuju obrabotku /na vsakij sluchai ;))/

a k voprosu prisojedinajus, a to servesnije rebata tolko diskedit rukami atrabotivajut, vse ostolnoje uze dovno automatizirovano ;)


 
German   (2002-11-08 08:20) [26]

Дабы вы зря человека не парили, давайте я вам вопрос переформулирую.

Существует ли какая-либо функция winapi позволяющая перезаписать MBR ака загрузочный сектор физического диска (с координатами 0/0/1) не путать с DOS секторами логических дисков

ps: Если тебе никто ничего путного не посоветует, попробуй запустить из под своей проги обычный fdisk с параметром /MBR

вот так fdisk /mbr

Он сам без дополнительных вопросов перепишет загрузчик. Там еще есть какой-то недокументированный ключ позволяющий указать номер диска.

А вообще почитай что-либо про 13H прерывание BIOS
С таблицей не парься, просто впиши код нормального загрузчика поверх того что сидит на твоем диске. начинается он со смещения 0, а где заканчивается посмотри дискедитором. MBR выглядит так

0..xx [загрузчик]
xx..512[таблица разделов]

Вот и восстанавливай загрузчик не трогая таблицы.








 
Игорь Шевченко ©   (2002-11-08 12:10) [27]


> И зря, некоторые наезжают, что это для вирусов, просто часто
> друзья обращаются с просбой снести windows.


А мне можно снести ? :-)


 
Maestro_V   (2002-11-08 12:44) [28]

Согласен, подход весьма странный. С вирусами обычно разбираются по-другому. Но вопрос зартонут интересный. Я хочу вот что сказать: PartitionMagic 7 как-то же это делает. Я сам переразбивал диски не выходя при этом из Виндов. Пока там все происходило я даже попутно работал в Интернете. Так же устанавливаются активные разделы и все остальное и не выходя и не перегружаясь.
Значит какие-то функции существуют ..??


 
Ihor Osov'yak ©   (2002-11-08 12:57) [29]

2 Song © (05.11.02 15:25)
>>Поэтому можно безболезненно редактировать Partition Table.
Ok, программно можете?

Да, могу. И под линейкой 9x, и под линейкой NT. Там и там решения разные.


2 German (08.11.02 08:20)



> Существует ли какая-либо функция winapi позволяющая перезаписать
> MBR ака загрузочный сектор физического диска (с координатами
> 0/0/1) не путать с DOS секторами логических дисков


Существует решение, использующие документированные свойства. Можете считать это функциями ейпи.




> А вообще почитай что-либо про 13H прерывание BIOS


Из под win32 на линейке w9x через int13 Вы сможете только с флопиком поработать. Но не с HDD. Под nt забудьте.

ЗЫ. Готовых решений в публичное место не брошу (хотя бы потому, что Подгорецкий мысль высказал что не стоит помогать писателям троянов. Во вторых, эти решения (большинство - free, слегка глючивые, но вполне работоспособные) уже лежат в публичных местах (авторство не мое) - учитесь искать. В третьих - используются только документированые средства - читайте внимательно MSDN).


 
TankMan ©   (2002-11-09 00:40) [30]

Удалено модератором


 
Денис   (2002-11-09 01:53) [31]

Ну раз путевых ответов нет, спасибо German-у хоть за совет с ключами к Fdisk-у(а то раза по 4-5 в день с этим парюсь)...


 
Ruf   (2002-11-09 11:43) [32]

Если нужно написать - пиши,
а для использования рекомендую
POWER QUEST:
Partition Magic
Boot Magic
и тд. Вещь посто супер!


 
Anatoly Podgoretsky ©   (2002-11-09 11:50) [33]

Денис (09.11.02 01:53)
Интересная у тебя работа по 4-5 раз в день диск переформатировать


 
Денис   (2002-11-10 02:07) [34]

>>Anatoly Podgoretsky
Денис (09.11.02 01:53)
Интересная у тебя работа по 4-5 раз в день диск переформатировать

Ага, работа моя в компьютерном сервисе...(ПБОЮЛ)


 
pasha676   (2002-11-10 08:55) [35]

Старая шутка но не удержался.

Анатолий, Денис работает формацептом. Он диски "С" форматирует :).


 
Vint ©   (2002-11-10 14:15) [36]

Чо на человека то наезжаете? он помощи попросил, а вы ...
Нет времени или желания помогать, так и молчите вовсе, а то типа я такой целомудренный, что руки о тебя пачкать не буду! а вдруг он вирусы пишет - ДА ПУСТЬ ПИШЕТ на здоровье, пусть учиться и развивается, сегодня он напишет вирус, а завтра он может придумает супер-прогу по борьбе с ними. Ведь те кто написал Partition Magic тоже не заставки одни наверное писали!


 
Ihor Osov'yak ©   (2002-11-10 18:44) [37]

2 Vint © (10.11.02 14:15)

Если человек не может самостоятельно разобратся с этим вопросом,
то он так и остановится на уровне написателя вирусов. Ибо в системном програмирровании это далеко не самая большая проблема.
Это имхо.
Во вторых, есть намного более интересные проблемы, чем написание вирусов, и которые експириенс значительно сильнее повышают, чем виросописание...

2 Денис (10.11.02 02:07) - конструктивное предложение: Сформатируйте один винт, набросайте туда стандартный набор софты или установочных пакетов - и делайте клонирование на аналогичные винты тем же Paragon Disk Copy (лицензия - всего 40уе, ну и гуляет срякнутая версия)
Для разных типоразмеров - тот же Paragon Disk Copy умеет ресайз он флай делать...






 
Денис   (2002-11-10 21:23) [38]

>>Ihor Osov"yak
Сформатируйте один винт, набросайте туда стандартный набор софты или установочных пакетов - и делайте клонирование на аналогичные винты тем же Paragon Disk Copy

С этим све понятно, я так последние 2года и делаю, но вопрос то
был "Как програмно через Delphi установить активный раздел!"

А по поводу вирусов, прошу больше ни слова - "по себе людей не судят!"
Да и вообще, кто конкретно помочь не может, прошу воду не мутить!


 
Денис   (2002-11-10 21:39) [39]

А на счет двоек - чтож вы "учителя", двойки ставить молодцы, а ответа не дождешся?


 
Ihor Osov'yak ©   (2002-11-10 22:01) [40]

Милый вы мой, Денис, обратите внимание, что первоначальный мой постинг указывал на некоректность ответа 2 Song © (05.11.02 15:25). В части возможности/невозможности програмного доступа на физическом уровне.

Что касается конкретного ответа на ваш Вапрос, ок, запускаю секундомер и делаю поиск по msdn. По завершению поиска - буду постить продолжение. ОК?








Страницы: 1 2 вся ветка

Текущий архив: 2003.01.23;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.014 c
1-72181
desha
2003-01-13 22:52
2003.01.23
Закрыть форму, созданную в библиотеке.


7-72558
Senator
2002-11-13 11:34
2003.01.23
Service


3-72146
moxx
2003-01-03 15:51
2003.01.23
Вывод картинок из базы данных


6-72446
grvakh
2002-11-26 14:37
2003.01.23
Маленький вопрос по приему в soket


1-72406
Silver Eagle
2003-01-13 18:00
2003.01.23
Получение значения Caption из используемого компонента