Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+5 невидимых) |
eXeL@B —› Программирование —› BSOD В дровинке =( |
Посл.ответ | Сообщение |
|
Создано: 25 апреля 2008 21:00 · Поправил: mak · Личное сообщение · #1 |
|
Создано: 25 апреля 2008 21:01 · Личное сообщение · #2 |
|
Создано: 25 апреля 2008 21:35 · Личное сообщение · #3 |
|
Создано: 25 апреля 2008 21:53 · Личное сообщение · #4 |
|
Создано: 25 апреля 2008 22:28 · Личное сообщение · #5 |
|
Создано: 25 апреля 2008 23:14 · Поправил: s0larian · Личное сообщение · #6 |
|
Создано: 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 |
|
Создано: 26 апреля 2008 01:04 · Личное сообщение · #8 |
|
Создано: 26 апреля 2008 07:58 · Личное сообщение · #9 |
|
Создано: 26 апреля 2008 08:13 · Личное сообщение · #10 |
|
Создано: 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 |
|
Создано: 26 апреля 2008 19:35 · Личное сообщение · #12 |
|
Создано: 26 апреля 2008 21:54 · Личное сообщение · #13 |
|
Создано: 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 В дровинке =( |
Эта тема закрыта. Ответы больше не принимаются. |