Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volume 2 feedbacks #20

Open
kynex7510 opened this issue Jan 7, 2024 · 0 comments
Open

Volume 2 feedbacks #20

kynex7510 opened this issue Jan 7, 2024 · 0 comments

Comments

@kynex7510
Copy link

Volume 2 of the handbook, "Reverse Engineering", is still being worked on; nonetheless, I'd like to leave some suggestions for improving it, especially for those with less experience.

What I consider to be the biggest issue with the current volume is that many topics are mixed together and not described propertly.

  • The first chapter limits itself to listing the tooling required, it doesn't explain what they're used for, nor the difference (for example, Ghidra and IDA are disassemblers, x32dbg and LLDB are debuggers, etc.). Another problem is that Ghidra, the tool used in the chapter, is not well introduced, and instead the reader is asked to follow predefined steps ("click this", "select that").

  • The second chapter attempts to explain how to find a function in the windows binary through RTTI metadata and vtables. At the end function signatures (and thus calling conventions) are mentioned. This is a lot to unpack for a "first time", a better approach would be that of

    • Using the android binary to locate a particular function (possibly non virtual);
    • Briefly mention assembly (if not done before with the introduction to Ghidra) and introduce the reader to pseudocode;
    • Instruct the reader about cross references (both code & data);
    • Instruct the reader about code matching with the windows version.
  • Additional, more advanced topics, such as RTTI, VTables, calling conventions, DB hygene (function naming, custom types) should be introduced in their own chapters.

  • To avoid being excessively verbose, anything that would be outside the scope of the volume (GD modding is assumed) should be redirected to external sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant