Size: a a a

2020 August 08

s

std::slavik in supapro.cxx
но что-то очень сомневаюсь
источник

s

std::slavik in supapro.cxx
учитывая как сейчас активно включились мастодонты всякие в стандарт
источник

s

std::slavik in supapro.cxx
и мобайл/iot/5g/реалтайм уже вот прямо наступает
источник

s

std::slavik in supapro.cxx
если C++ получит сравнимые с java/javascript/C# инвестиции - ухх
источник

s

std::slavik in supapro.cxx
ну собственно он их уже получать начал
источник

s

std::slavik in supapro.cxx
надо же либы кому-то писать для джава-макак)
источник

s

std::slavik in supapro.cxx
Ilia Zviagin
А что ты хотел то от самого продвинутого из существующих языков?

PL/1 вон разве что с ним может сравниться...
если честно - немного меньше богомерзкой ооп повсюду)
источник

BH

Blue Heart in supapro.cxx
std::slavik
я вообще не понимаю как людям может нравиться язык со спецификацией на 1500 страниц
Язык бросает вызов, дальше дофаминовая ловушка
источник

IZ

Ilia Zviagin in supapro.cxx
std::slavik
если честно - немного меньше богомерзкой ооп повсюду)
ООП везде применяют, даже в чистом С.
Но естественно через жопу...
источник

ЕГ

Евгений Горелов... in supapro.cxx
народ подскажите кой-что
DWORD32 *buffer = (DWORD32 *)pIrp->AssociatedIrp.SystemBuffer;
DWORD32 processesPid = *buffer;
PEPROCESS process;
NTSTATUS status = PsLookupProcessByProcessId(processesPid, &process);

if (!NT_SUCCESS(status))
{
 return;
}

PULONG ptr = (PULONG)process;
ULONG offset = 0;

for (ULONG i = 0; i < 512; i++)
{
 if (ptr[i] == processesPid)
 {
  offset = (ULONG)&ptr[i + sizeof(INT_PTR)] - (ULONG)process;
  break;
 }
}

if (!offset)
{
 return;
}

PLIST_ENTRY currListEntry = (PLIST_ENTRY)((ULONG)process + offset);

DbgPrint("Current: %#x", process);
DbgPrint("Prev: %#x", currListEntry);
DbgPrint("process: %#x", process);
DbgPrint("offset: %#x", offset);
DbgPrint("blink: %#x",  currListEntry->Blink);
есть такой код
ищу где записан Pid в PEPROCESS
за ним идет структура PLIST_ENTRY
когда пытаюсь обратится к currListEntry->Blink
наступает хана компу)
источник

C

CodeDetector in supapro.cxx
Евгений Горелов
народ подскажите кой-что
DWORD32 *buffer = (DWORD32 *)pIrp->AssociatedIrp.SystemBuffer;
DWORD32 processesPid = *buffer;
PEPROCESS process;
NTSTATUS status = PsLookupProcessByProcessId(processesPid, &process);

if (!NT_SUCCESS(status))
{
 return;
}

PULONG ptr = (PULONG)process;
ULONG offset = 0;

for (ULONG i = 0; i < 512; i++)
{
 if (ptr[i] == processesPid)
 {
  offset = (ULONG)&ptr[i + sizeof(INT_PTR)] - (ULONG)process;
  break;
 }
}

if (!offset)
{
 return;
}

PLIST_ENTRY currListEntry = (PLIST_ENTRY)((ULONG)process + offset);

DbgPrint("Current: %#x", process);
DbgPrint("Prev: %#x", currListEntry);
DbgPrint("process: %#x", process);
DbgPrint("offset: %#x", offset);
DbgPrint("blink: %#x",  currListEntry->Blink);
есть такой код
ищу где записан Pid в PEPROCESS
за ним идет структура PLIST_ENTRY
когда пытаюсь обратится к currListEntry->Blink
наступает хана компу)
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

ЕГ

Евгений Горелов... in supapro.cxx
bsod'а нет, сразу вылетает черный экран и всякие красивые пиксели летают
источник

ЕГ

Евгений Горелов... in supapro.cxx
что я делаю не так?)
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Евгений Горелов
народ подскажите кой-что
DWORD32 *buffer = (DWORD32 *)pIrp->AssociatedIrp.SystemBuffer;
DWORD32 processesPid = *buffer;
PEPROCESS process;
NTSTATUS status = PsLookupProcessByProcessId(processesPid, &process);

if (!NT_SUCCESS(status))
{
 return;
}

PULONG ptr = (PULONG)process;
ULONG offset = 0;

for (ULONG i = 0; i < 512; i++)
{
 if (ptr[i] == processesPid)
 {
  offset = (ULONG)&ptr[i + sizeof(INT_PTR)] - (ULONG)process;
  break;
 }
}

if (!offset)
{
 return;
}

PLIST_ENTRY currListEntry = (PLIST_ENTRY)((ULONG)process + offset);

DbgPrint("Current: %#x", process);
DbgPrint("Prev: %#x", currListEntry);
DbgPrint("process: %#x", process);
DbgPrint("offset: %#x", offset);
DbgPrint("blink: %#x",  currListEntry->Blink);
есть такой код
ищу где записан Pid в PEPROCESS
за ним идет структура PLIST_ENTRY
когда пытаюсь обратится к currListEntry->Blink
наступает хана компу)
Попробуй @pro_winapi
источник

ЕГ

Евгений Горелов... in supapro.cxx
написал туда ужо)
источник

DP

Denis Paukaev in supapro.cxx
Евгений Горелов
народ подскажите кой-что
DWORD32 *buffer = (DWORD32 *)pIrp->AssociatedIrp.SystemBuffer;
DWORD32 processesPid = *buffer;
PEPROCESS process;
NTSTATUS status = PsLookupProcessByProcessId(processesPid, &process);

if (!NT_SUCCESS(status))
{
 return;
}

PULONG ptr = (PULONG)process;
ULONG offset = 0;

for (ULONG i = 0; i < 512; i++)
{
 if (ptr[i] == processesPid)
 {
  offset = (ULONG)&ptr[i + sizeof(INT_PTR)] - (ULONG)process;
  break;
 }
}

if (!offset)
{
 return;
}

PLIST_ENTRY currListEntry = (PLIST_ENTRY)((ULONG)process + offset);

DbgPrint("Current: %#x", process);
DbgPrint("Prev: %#x", currListEntry);
DbgPrint("process: %#x", process);
DbgPrint("offset: %#x", offset);
DbgPrint("blink: %#x",  currListEntry->Blink);
есть такой код
ищу где записан Pid в PEPROCESS
за ним идет структура PLIST_ENTRY
когда пытаюсь обратится к currListEntry->Blink
наступает хана компу)
В чатик с виндой
источник

DP

Denis Paukaev in supapro.cxx
Что тут должны подсказать не понятно
источник

ЕГ

Евгений Горелов... in supapro.cxx
Denis Paukaev
Что тут должны подсказать не понятно
ну мож кто код прочитает и скажет почему ошибка, я подозреваю что идет обращение по адресу по которому нельзя обращаться, чего-то с указателями напутал походу
источник

DP

Denis Paukaev in supapro.cxx
Евгений Горелов
ну мож кто код прочитает и скажет почему ошибка, я подозреваю что идет обращение по адресу по которому нельзя обращаться, чего-то с указателями напутал походу
Там куча всякий clike кастов и констант каких то, я с телефона не осилю
источник

DP

Denis Paukaev in supapro.cxx
Самое простое это упростить код до пары строк, и поставить дебаг принты
источник