Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+5 невидимых)

 eXeL@B —› Программирование —› BSOD В дровинке =(
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 апреля 2008 21:00 · Поправил: mak
· Личное сообщение · #1

Посмотрите плиз дровину , то ухожу в бсод , то не ухожу , че такое не пойму

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 апреля 2008 21:01
· Личное сообщение · #2

А забыл , пароль мой ник , есои править текст то атач исчезнет =)

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 25 апреля 2008 21:35
· Личное сообщение · #3

mak, возми vmware, xp и WinDBG:
silverstr.ufies.org/lotr0/windbg-vmware.html




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 апреля 2008 21:53
· Личное сообщение · #4

ок =) , всеравно кому не лень и тот кто разбирается в дровах, гляньте плз

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 25 апреля 2008 22:28
· Личное сообщение · #5

а на C/C++ не проще?




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 25 апреля 2008 23:14 · Поправил: s0larian
· Личное сообщение · #6

о не, ну нах. Сам отлаживай свой асм. Ты бы ещё и без асма, руками, мнемоники в байты перевёл по интеловской доке.

З.Ы. ты мутант
З.З.Ы. возьми отладчик и пройди весь код.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 апреля 2008 23:47
· Личное сообщение · #7

s0larian пишет:
о не, ну нах. Сам отлаживай свой асм. Ты бы ещё и без асма, руками, мнемоники в байты перевёл по интеловской доке.

З.Ы. ты мутант
З.З.Ы. возьми отладчик и пройди весь код.


)))))))) Придет время , и до мнимоники дойдем ... МАСМ важный язык , и драйвера на МАСМ это вполне нормально!!!

Падает на
invoke WriteFile,hdrv,addr ArpPacket,64,addr dwTempVar,0

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 26 апреля 2008 01:04
· Личное сообщение · #8

mak пишет:
МАСМ важный язык , и драйвера на МАСМ это вполне нормально!!!

а ракетный комплекс "Ураган" тоже важный, и из него можно охотиться на уток, это вполне нормально!!!
ЗЫ: каждому языку свое место. дровам на асме делать нех.

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 26 апреля 2008 07:58
· Личное сообщение · #9

Выложил бы не только сорцы, но и скомпиленый, а то компиль не всегда под рукой. А на асм зря топорщите, пару дров на нём писал, норм было, хотя лучше, конечно, на С.
А вообще завязывайте с оффтопом.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 26 апреля 2008 08:13
· Личное сообщение · #10

WriteFile() это usermode API, алё!




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 26 апреля 2008 12:21
· Личное сообщение · #11

s0larian пишет:
WriteFile() это usermode API, алё!

=) ну я знаю , открыл америку ))))) может сначала посмотреть код

Ай да ну эти Си .. по мне так гемороя на Си больше, да и учить его сложнее.А как не крути чуть что так сразу на асм

Заканчиваю флудить , по теме , вот скомпиленный вариант

2da5_26.04.2008_CRACKLAB.rU.tgz - Scomp.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 26 апреля 2008 19:35
· Личное сообщение · #12

Команда есть в айсе волшебная faults on. Запускай айс, набирай её, запускай дров. И сразу увидишь, что mov ebx,[ebx] ;ebx->tcpip NDIS_OPEN_BLOCK
mov lpProtocolHandle,ebx ;TCPIP OPEN_BLOCK(BINDING_HANDLE)
mov eax,[ebx+30h]
В первой строке в ebx ляжет 0, на 3 строчке будет кирдык.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 26 апреля 2008 21:54
· Личное сообщение · #13

Спасибо =) , странно то что у меня есть второй вариант драйвера , он попроще вроде , и код такой же ,работает на ура, ладно буду ковырять

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 26 апреля 2008 22:30
· Личное сообщение · #14

mak
Вообще у тебя ужасный сорс. Если честно...(ИМХО)
MASM – это же не просто тупое написание asm кода, как это происходит в T…
У него из названия должно из далека, быть видно для чего он предназначен MACRO-ASM
Это говорит нам, что нужно создавать именно макросы и уже потом их юзать в исходнике
Будет тот же самый С, только его asm код контролировать и как он должен выглядеть будешь решать лично ты...
Ну, а теперь от теории к практике
У тебя есть вот такой код, если ты его написал, значит точно понимаешь для чего он и почему именно такой

stDeviceName dw 15*2,16*2
dd offset szDeviceName
szDeviceName dw '','D','e','v','i','c','e','','N','d','i','s','D','r','v',0
stSymbolicLinkName dw 19*2,20*2
dd offset szSymbolicLinkName
szSymbolicLinkName dw '','D','o','s','D','e','v','i','c','e','s','','N','D','I','S','D','R', 'V',0
invoke IoCreateSymbolicLink,offset stSymbolicLinkName,offset stDeviceName

теперь как это выглядит на СИ
UNICODE_STRING DeviceName;
UNICODE_STRING SymbolicLinkName;
PCWSTR dDeviceName = L"\Device\eXtremeDumper";
PCWSTR dSymbolicLinkName = L"\DosDevices\eXtremeDumper";
RtlInitUnicodeString(&DeviceName, dDeviceName);
RtlInitUnicodeString(&SymbolicLinkName, dSymbolicLinkName);
status = IoCreateSymbolicLink(&SymbolicLinkName, &DeviceName);

теперь возьмем стандарт(ASM), написанный Four-F (KmdTut&KmdKit исходники и полное описание можно слить с васма)

CCOUNTED_UNICODE_STRING "\Device\KbdSpy", g_usControlDeviceName, 4
CCOUNTED_UNICODE_STRING "\DosDevices\KbdSpy", g_usSymbolicLinkName, 4
invoke IoCreateSymbolicLink, addr g_usSymbolicLinkName, addr g_usControlDeviceName
(можно сразу заметить, что макросы имеют больший приоритет - ИМХО)
Все это утрировано и лаконично, но наглядно

и там(KmdTut&KmdKit) есть *.inc файлы, которые ты можешь подключить и тебе не придется писать вот такие строки
IoCreateSymbolicLink proto :dword,:dword
IoDeleteSymbolicLink proto :dword...
и будешь юзать стандартные константы типа STATUS_SUCCESS
У тебя исходник получится меньше и читабельнее
Вообщем прочитай все там в туториале и изучи исходники
Там у него много всего уже готового(для нубиков)+описание из самых лучших в инете по asm`у в ринг0

Старайся чаще юзать функу DbgPrint и тулузу DebugView показывающую твои мессаджи из ринга0
Поюзай поиск как этим пользоваться, если научишься, то тебе редко отладчик нужен будет!

Еще всегда подозрительный кодес обворачивай "SEH-конструкциями" меньше будет сабжа
Это был краткий ликбез к продолжению вот этого
s0larian пишет:
mak, возми vmware, xp и WinDBG:
silverstr.ufies.org/lotr0/windbg-vmware.html

Старайся сам находить свои баги, а то как-то не гуд получаеццо когда за тебя их ищут
Учись писать и юзать макросы, раз так любишь MASM

Почитай как с "крашдампами" работать - на васме это есть
Да и когда че-нить напишешь выкладывай.., всегда интересно посмотреть че ты там намутил ;)

mak пишет:
по мне так гемороя на Си больше, да и учить его сложнее.

Тут ты мимотазика 100%
Это не сложно поверь, скорее у тебя проблема сломать самого себя, чтобы начать изучать СИ
Я помню когда-то давно прочитал четыре странички книги (название еще у нее лольное такое типа что-то “СИ для полных неудачнеков”(название точно не помню) и хватило за глаза выучить СИ за пару часов(основы!), ну а там пару прог написал и все ОК )
СИ это своего рода обертка над asm кодом, и позволяет тебе меньше напрягать мозг
В какой регистр засунуть данные или меньше задумываться над названием меток для перехода
на нужный участок кода... и тем более с UNICODE строками
допустим у тебя работодатель спрашивает "на чем кодить умеешь"
ты ему asm, 10% что ты ему будешь интересен, если только СИ то ~50%, ну, а если asm/C/C++,
то 100%
сишный синтаксис позволяет очень быстро освоить "другие Языки программирования"...
ты можешь в студии 200(…) компилить дрова при этом тебе надо будит установить только VAssistX
и указать директории DDK и за тебя этот VAssistX будет сам вставлять код и т.д.
да и вообще плюсов очень много, всех их не перечислить ;)
ты можешь сказать да мне нах это не надо, но пройдет время кто знает...

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com



 eXeL@B —› Программирование —› BSOD В дровинке =(
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати