PDA

Показать полную графическую версию : нужна прога на асме


nomad____1
01-04-2013, 22:35
оооооооочень нужна прога на ассемблере которая выводит имя текущего диска. просто очень надо. помогите плиз. заранее спасибо

lxa85
02-04-2013, 00:03
nomad____1, на страницах форума wasm[dot]ru нашел следующий код перехвата имени по id процесса.
UNICODE_STRING GetFullProcessName(HANDLE PID)
{
PEPROCESS proc;
PSECTION Section;
PSEGMENT Segment;
PCONTROL_AREA ControlArea;
PFILE_OBJECT FileObject;
PsLookupProcessByProcessId(PID,&proc);
if(proc->SectionObject)
{
Section = proc->SectionObject;
Segment = Section->Segment;
ControlArea = Segment->ControlArea;
FileObject = ControlArea->FilePointer;
DbgPrint("Section FileName: %S\n",FileObject->FileName.Buffer);
}
ObDereferenceObject((PVOID)proc);
return FileObject->FileName;
}
Как свернуть всё это в ассемблер -- понятия не имею. Надо вкапываться в строение ядра NT. Может темы про написание драйверов смогут помочь. Не знаю. Надо основательно гуглить.
Хотя! Можно попробовать посмотреть ReactOS и его исходные коды. РеактОС обеспечивает бинарную совместимость с Windows и должен быть схож с ней в принципах работы.

BlackEric
05-04-2013, 18:40
Что вы понимаете под текущим диском?

nomad____1
21-08-2013, 21:09
Что вы понимаете под текущим диском? »
понимал тот логический диск на котором размещалась программа.




© OSzone.net 2001-2012