Giter Site home page Giter Site logo

windbg_to_c's Issues

Wrong union processing

Windows 10 RS1 x86:

0: kd> dt nt!_EPROCESS
...
+0x370 AllowedCpuSets : Uint4B
+0x374 DefaultCpuSets : Uint4B
+0x370 AllowedCpuSetsIndirect : Ptr32 Uint4B
+0x374 DefaultCpuSetsIndirect : Ptr32 Uint4B

Result:

ULONG AllowedCpuSets;
ULONG DefaultCpuSets;
Ptr32 Uint4B AllowedCpuSetsIndirect;
Ptr32 Uint4B DefaultCpuSetsIndirect;

Should be:

union
{
    UINT_3264       AllowedCpuSets;
    UINT_3264*      AllowedCpuSetsIndirect;
};
union
{
    UINT_3264       DefaultCpuSets;
    UINT_3264*      DefaultCpuSetsIndirect;
};

eprocess.txt
result.txt

static_assert at the end

I'm suggesting to add a static_assert after generated structure to check it's size.

static_assert(sizeof(BLAH_BLAH_BLAH) == 0x20, "Invalid BLAH_BLAH_BLAH size");

Also, you can use intellectually (somehow) choosen asserts like:

static_assert(FIELD_OFFSET(BLAH_BLAH_BLAH, SomeMember) == 0x18, "Invalid SomeMember offset");

Wrong types

Ptr32 (Ptr64?) should be * after any type. Void should be void/VOID.

Windows 10 RS1 x86 _EPROCESS:
...
Ptr32 Void Win32Process;
Ptr32 _EJOB Job;
Ptr32 Void SectionObject;
Ptr32 Void SectionBaseAddress;
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.