#include #include VOID PrintHex(PBYTE Data, ULONG dwBytes) { for (ULONG i = 0; i < dwBytes; i += 16) { printf("%.8x: ", i); for (ULONG j = 0; j < 16; j++) { if (i + j < dwBytes) { printf("%.2x ", Data[i + j]); } else { printf("?? "); } } for (ULONG j = 0; j < 16; j++) { if (i + j < dwBytes && Data[i + j] >= 0x20 && Data[i + j] <= 0x7e) { printf("%c", Data[i + j]); } else { printf("."); } } printf("\n"); } } int main() { HANDLE hJob = CreateJobObject(NULL, NULL); JOBOBJECT_EXTENDED_LIMIT_INFORMATION info; ZeroMemory(&info, sizeof(info)); if (!QueryInformationJobObject(hJob, JobObjectExtendedLimitInformation, &info, sizeof(info), NULL)) { printf("QueryInformationJobObject failed, %d\n", GetLastError()); CloseHandle(hJob); return 1; } PrintHex((PBYTE)&info, sizeof(info)); CloseHandle(hJob); return 0; }