Skip to content

Instantly share code, notes, and snippets.

#include <iostream>
#include <sys/stat.h>
int main (int /*argc*/, char* argv[])
{
struct stat fileInfo;
if (stat (argv[1], &fileInfo) == 0) {
std::cout << "The file's size is: " << fileInfo.st_size <<
" bytes" << std::endl;
} else {
#include <iostream>
#include <process.h>
#include <windows.h>
CRITICAL_SECTION g_cs;
static unsigned int ThreadMain (void* /*context*/)
{
EnterCriticalSection (&g_cs);
@Donpedro13
Donpedro13 / WMI_durations.xml
Last active April 16, 2024 02:55
WMI durations Regions of Interest
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<InstrumentationManifest>
<Instrumentation>
<Regions>
<RegionRoot Guid="{EFA7A927-BAE3-48F6-92E1-000000000000}" Name="WMI-Regions">
<Region Guid="{45EEAD74-5B56-4B38-8CEC-CF66312D6F9B}" Name="WMI-Operations">
<Start>
<Event Provider="{1418ef04-b0b4-4623-bf7e-d74ab47bbdaa}" Id="11" Version="0" />
</Start>
<Stop>
@Donpedro13
Donpedro13 / winlogos.gif
Last active May 27, 2020 07:41
winlogos
winlogos.gif
#include <ntifs.h>
#include <ntddk.h>
#include <ntstrsafe.h>
#define MFTPF_DEV_SYMLINK_NAME L"MFTPrefetch"
#define MFTPF_DEVICE 0x8000
#define IOCTL_MFTPF_PREFETCH_MFT CTL_CODE (MFTPF_DEVICE, 0x800, METHOD_NEITHER, FILE_ANY_ACCESS)
// Compile with MSVC. Target x86, then target x64.
// See what happens (run without a debugger attached).
#include <cstdint>
#include <iostream>
#include <windows.h>
LONG WINAPI MyUEF (PEXCEPTION_POINTERS pExp)
{
std::cout << "Unhandled exception with code " << std::hex <<
pExp->ExceptionRecord->ExceptionCode << std::endl;
#include <windows.h>
#include <werapi.h>
extern "C" {
__declspec(dllexport) HRESULT WINAPI OutOfProcessExceptionEventCallback (
PVOID /*pContext*/,
const PWER_RUNTIME_EXCEPTION_INFORMATION /*pExceptionInformation*/,
BOOL* pbOwnershipClaimed,
PWSTR pwszEventName,
// Compile with MSVC.
#include <windows.h>
#include <winnt.h>
#include <cstdio>
#pragma warning(disable:4717)
LONG WINAPI StackOverflowHandler (PEXCEPTION_POINTERS pExp)
{
size_t __chkstk (size_t stackSpaceSize)
{
// Calculate what the stack pointer would be, if the caller of
// __chkstk simply made its stack allocation instead of
// calling __chkstk.
//
// 0x18: 0x10 for 2 saved registers (used by __chkstk), plus
// 0x8 for the saved return address (__chkstk was call'd)
uintptr_t adjustedSP = __rsp + 0x18 - stackSpaceSize;
/* ... */
PEXCEPTION_RECORDS pExc = __rax;
if (pExc->ExceptionCode == EXCEPTION_STACK_OVERFLOW ||
(pExc->ExceptionCode == EXCEPTION_ACCESS_VIOLATION &&
pExc.ExceptionInformation[0] == EXCEPTION_EXECUTE_FAULT))
{
return E_NOTIMPL;
}
/* ... */