Windows kernel security
Memory management, page tables, drivers, and the security boundaries that change as the operating system evolves.
Windows Internals / VAD & PTE / VBSBinary analysis. Reverse engineering.
Windows kernel & hypervisor security.
Master’s studies in Cyber Security
Global top-20 university
I build low-level systems to understand how software actually executes.
I’m Maxed, an offensive security engineer and researcher. pwn.sc is where I share binary analysis, reverse engineering, and software security research, from Windows PE binaries to the kernel and virtualization layer.
I start with a question: what is the CPU, operating system, or program really doing here? Then I build the tools and experiments to find out.
First principles. Reproducible evidence. Explicit trust boundaries.
View my experience & resumeThree ways to look deeper.

Memory management, page tables, drivers, and the security boundaries that change as the operating system evolves.
Windows Internals / VAD & PTE / VBSObserving guest execution through CPU state, memory translation, and virtualization-layer instrumentation.
AMD SVM / Hyper-V / NPT / VMEXITAnti-cheat architecture and remote attestation: what can a server still trust when part of the client is compromised?
Anti-Cheat / Measured Boot / Hardware TrustResearch platforms and works in progress.
6 sections. 76.7 MiB.
Headers read from a local Aegis build.
| Section | RVA | Virtual bytes | Access |
|---|---|---|---|
| .text | 0x00001000 | 79,877,089 | RX |
| .rdata | 0x04C2F000 | 519,626 | R |
| .data | 0x04CAE000 | 4,200 | RW |
| .pdata | 0x04CB0000 | 29,328 | R |
| .rsrc | 0x04CB8000 | 480 | R |
A binary-to-binary protection compiler exploring PE rewriting, program transformation, and virtualized execution. Deterministic builds make experiments reproducible; conservative admission keeps unsupported functions out of the protected path.
In development. New analysis and encoded-state components are not yet a complete protection backend.
Exploring AMD SVM and Hyper-V, guest CR3 observation, NPT contexts, and multi-vCPU synchronization. The question: how can execution context be established independently of guest-maintained bookkeeping?
Virtualization / Windows / InstrumentationStudying how automated analysis fails under binary transformation. Current work separates semantic correctness, structural complexity, and measured analyst or agent effort.
Read the methodologyA Windows music experience unifying playback metadata, lyric timing, and real-time visual themes.
Other work spans an event-driven trading platform, Vtber.cn architecture refactoring, and a cross-device AI agent control plane currently in design.
Implementation changes, failed experiments, and the evidence behind them.
Masked-state projections, independent-agent recovery, symbolic lifting, and the fixes that stop known failures from reaching production.
Read the development logFrozen A/B artifacts, external observations, authenticated receipts, and the campaign evidence a local test cannot manufacture.
A short Optional Header overwrite, shared source-layout normalization, and the regression that caught stale assumptions.
Why an eight-byte alignment fix required a call-graph proof, and what mapped fixture execution actually validated.
Coverage windows, exact code copies, negative controls, and separating an internal PTE write from a public write interface.
An invalid instruction address, a lifecycle audit, and the gap between a rebuilt hypervisor component and a validated runtime repair.
What a six-driver reverse-engineering project taught me about pseudocode coverage, native closure, and retracting a result that passed the wrong test.
A scan of 1,019 driver files exposed a scoring problem: ordinary kernel capabilities were being mistaken for evidence of exploitable access.
Tracing a stale conversation view to a projection mismatch, then discovering why a successful offline replay was not a complete repair.
Instructions describe operations, but an executable also contains a contract with its loader. Sections, imports, relocations, and exception metadata influence how those operations become a running program.
Start with the file format. Map file offsets to virtual addresses before trusting a disassembly, identify the entry point, and distinguish initialized data from memory that only exists at runtime. An address in the file is not necessarily an address in memory.
Then connect the static picture to observed behavior. A debugger can validate whether a suspected path executes and what values reach it. Treat the disassembler's labels and inferred types as hypotheses, not ground truth.
Continue with the Microsoft PE specificationA control-flow graph is a model of possible transfers between blocks. Its usefulness depends on which transfers the analysis can recover.
Indirect branches, exceptions, and code generated at runtime can leave gaps in a static graph. An observed execution trace helps confirm edges, but one trace cannot establish that an unobserved path is impossible.
Keep those two forms of evidence separate. Record which edges were inferred and which were observed, then design a small experiment around the uncertainty that matters.
A useful finding should survive a fresh environment and a second pair of eyes. Preserve the original input, record its hash, and write down the toolchain and operating system versions.
Reduce the test case until it isolates the behavior. Change one variable at a time, save the exact invocation, and capture the output needed to distinguish the expected result from the observed one.
Finally, document the limits: what the experiment demonstrates, what it leaves open, and which assumptions would invalidate the conclusion.
Based on project reports. Implementation evidence and open research questions are kept distinct. Diagrams are illustrative; project findings are drawn from the cited reports.

Keep looking. Keep questioning.