Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

12.11.2009, 13:11
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Win 7 и Native API
привет всем! хочу перейти на 7'ку точнее поюзать, но немного нет времени для эксперементов так как скоро сдача курсача... все ли NativAPI корректно работают на ней? вопрос возник потому что на 7ке спомощью NtQurySystemInformation неполучилось вывести список драйверов на хр все робит на ура
|
|
|

12.11.2009, 13:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Win7 в принципе ничем не отличается от WinXP считай таже система.
Писал дров который инжектил DLL из ядра в гуёвый процесс. Пахало и на win xp и на win 7 так что в принципе тоже самое.
Возможно теперь эта функция требует права админа. Ты проверь что она возвращается. Вернее какой код ошибки. И от него уже нужно шагать
|
|
|

12.11.2009, 13:29
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
slesh программа зупущенна из под админа(а именно правой кнопкой на ехе запустит с правами администратора) эффект тот же =)
|
|
|

12.11.2009, 14:09
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ну хоть какой код возвращается NtQuerySystemInformation?
|
|
|

12.11.2009, 15:42
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ТАкс. пришел домой. Проверил. Под w7 RC спокойно пашет код который пашет и в winxp
Даже не требуется прав админа.
Так что у тебя код гдето кривой. Код в студию. ))
лично я делал так:
NtQuerySystemInformation(DRIVER_INFORMATION, buf, 0, &NeedSize);
затем выделял память = NeedSize * 2
и делал NtQuerySystemInformation(DRIVER_INFORMATION, buf, NeedSize * 2, &NeedSize);
|
|
|

12.11.2009, 15:55
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Код:
var
NtQuerySystemInformation: function (infoClass: DWORD;
buffer: Pointer;
bufSize: DWORD;
returnSize: TPDword): DWORD; stdcall;
procedure GetInstallDriver;
var
temp, Index, numBytes, numEntries: DWORD;
buf: TPDword;
driverInfo: ^TDriverInfo;
begin
if @NtQuerySystemInformation = nil then
NtQuerySystemInformation := GetProcAddress(GetModuleHandle('ntdll.dll'),'NtQuerySystemInformation');
NtQuerySystemInformation(DRIVER_INFORMATION, @temp, 0, @numBytes);
buf := AllocMem(numBytes * 2);
NtQuerySystemInformation(DRIVER_INFORMATION, buf, numBytes * 2, @numBytes);
numEntries := buf^;
driverInfo := Pointer(DWORD(buf) + 12);
for Index := 1 to numEntries do
begin
Writeln(Format('| $%-5s | %-48s |',[IntToHex(DWORD(driverInfo^.Address),8),driverInfo^.Name]));
Inc(driverInfo);
end;
FreeMem(buf);
end;
вот этот код =)
|
|
|

12.11.2009, 16:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
на w7 у меня отлично пашет.
|
|
|

12.11.2009, 16:13
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
slesh тогда у одногруппника руки ниже талии растут раз у него этот код не работает =) тему можно закрыть
|
|
|

12.11.2009, 16:19
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Щас преписал в более красивый вид..
Пашет тоже нормально.
Там вполне возможно он не мог найти адрес ntdll.dll из которой брал функцию NtQuerySystemInformation. Такое редко но может быть. Так что пусть попробует этот код. Если и он незаработает значит у него какаято защита установлена или вирь.
Код:
const
DRIVER_INFORMATION = 11;
type
TDriverInfo = packed record
Address : DWORD;
Unknown1 : DWORD;
Unknown2 : DWORD;
EntryIndex : DWORD;
Unknown4 : DWORD;
Name: array [0..MAX_PATH + 3] of Char;
end;
TDriverQueryInfo = packed record
Count : integer;
Unknown1 : DWORD;
Unknown2 : DWORD;
Drv : array [0..0] of TDriverInfo;
end;
PDriverQueryInfo = ^TDriverQueryInfo;
function NtQuerySystemInformation (infoClass: DWORD; buffer: Pointer; bufSize: DWORD; returnSize: PDword): DWORD; stdcall; external 'ntdll.dll';
procedure GetInstallDriver;
var
NeedByte : dword;
Info : PDriverQueryInfo;
x : integer;
begin
NtQuerySystemInformation(DRIVER_INFORMATION, nil, 0, @NeedByte);
Info := AllocMem(NeedByte * 2);
NtQuerySystemInformation(DRIVER_INFORMATION, Info, NeedByte * 2, @NeedByte);
for x := 0 to Info^.Count-1 do
begin
Writeln(Format('| $%-5s | %-48s |', [IntToHex(Info^.Drv[x].Address, 8), Info^.Drv[x].Name]));
end;
FreeMem(Info);
end;
begin
GetInstallDriver();
readln;
end.
Последний раз редактировалось slesh; 12.11.2009 в 16:25..
|
|
|

12.11.2009, 16:37
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
во ща выяснилось что семерка 64 битная! возмонжно в этом косяк или это не влияет?
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Методы API Вконтакте
|
SoulReaver |
Социальные сети |
0 |
12.08.2009 15:46 |
|
Продажа дедиков!!!
|
ferya |
Хостинг, Dedicated, VDS, Сервера - Покупка, продажа |
2 |
07.07.2009 22:56 |
|
Native WIN API и MSVCR80.dll
|
/^scriptor$/ |
С/С++, C#, Delphi, .NET, Asm |
10 |
20.05.2009 00:37 |
|
Dedicated Servers
|
spilberg |
Хостинг, Dedicated, VDS, Сервера - Покупка, продажа |
1 |
18.02.2009 22:11 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|