WaterGhost Признайтесь же что накопипастили кусков с rootkit.com и пытаетесь их теперь собрать воедино.
Драйвер был мной еще написан год назад. Частично накопипастил. Все как-то учатся. Не думаю что вы всего сами добились без подсказок и просмотра чужого кода С х64 сталкиваюсь впервые... это 2ой день когда я работаю с х64 и я думаю результат за 2ой день изучения неплохой если считать что не заканчивал ни одни курсы программирования не читал ни одной специализированной книги по программированию в ядре.
Мой make.bat файл: Код (Text): %SystemRoot%\system32\cmd.exe /c "cd C:\WINDDK\3790.1830\bin\&&setenv.bat C:\WINDDK\3790.1830\&&cd C:\driver64\driver\&&build -icZ -amd64&&pause" pause При это вылезают ошибки Код (Text): c:\WINDDK\3790.1830\inc\wnet\basetsd.h(289) : error C2220: warning treated as error - no object file generated c:\WINDDK\3790.1830\inc\wnet\basetsd.h(289) : warning C4311: 'type cast' : pointer truncation from 'const void *' to 'unsigned long' c:\WINDDK\3790.1830\inc\wnet\basetsd.h(307) : error C4312: 'type cast' : conversion from 'unsigned long' to 'void *' of greater size c:\WINDDK\3790.1830\inc\crt\string.h(59) : error C2371: 'size_t' : redefinition; different basic types c:\dntldriver64\dntldriver\dntldriver.c(0) : see declaration of 'size_t' c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(4296) : error C4013: 'UnsignedMultiplyHigh' undefined; assuming extern returning int c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9227) : warning C4163: '__readcr8' : not available as an intrinsic function c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9228) : warning C4163: '__writecr8' : not available as an intrinsic function c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9298) : error C4013: '__movsb' undefined; assuming extern returning int c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9311) : error C4013: '__movsw' undefined; assuming extern returning int c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9324) : error C4013: '__movsd' undefined; assuming extern returning int c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9337) : error C4013: 'FastFence' undefined; assuming extern returning int c:\WINDDK\3790.1830\inc\ddk\wnet\ntddk.h(9416) : error C4013: '__inbyte' undefined; assuming extern returning int и т.п. ntddk.h и basetsd.h =\ Я что-то не так делаю ? Если не сложно, подтолкните на путь истиный. Я уже разобрался что за параметры у setenv.bat. Я раньше собирал проект с -ceZ параметрами в х32. Но если их установить с параметром -amd64 то вылетают те же самые ошибки. Собираю на Windows XP 64 bit.
Выяснил что ему не нравится: Код (Text): OldZwOpenProcess = ( funcZwOpenProcess ) Hook(NTCALL(ZwOpenProcessInfo.FunctionAddress), NewZwOpenProcess, &ZwOpenProcessInfo.CollectedSpace ); OldNtWriteVirtualMemory = ( funcNtWriteVirtualMemory ) Hook(NTCALL(NtWriteVirtualMemoryInfo.FunctionAddress), NewNtWriteVirtualMemory, &NtWriteVirtualMemoryInfo.CollectedSpace ); Это код установки хука на ZwOpenProcess и NtWriteVirtualMemory. Видимо на 64 битных системах они не так объявлены ( И еще.. никто не подскажет номер syscall для этих процедур как в Win XP 32bit build 2600 ? Что посоветуете делать?