Skip to content
New issue

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

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

Already on GitHub? # to your account

Make signature support IDA/x64Dbg style #407

Merged
merged 11 commits into from
Apr 13, 2024
Merged

Conversation

Nukoooo
Copy link
Contributor

@Nukoooo Nukoooo commented Apr 10, 2024

See discussion for more info.

TLDR: Make developers' life easier so they don't have to convert their signatures(48 8B ?) to code style(\x48\x8B\x2A) every time when they make a signature

What's changed

  • Signature now supports IDA/x64Dbg style (48 8B ? ? ? ? ?)
  • Removed duplicated code
  • Switched to C++20 (because of std::views::split)
  • FindSignature now uses std::find and std::equal for better readability

@Nukoooo Nukoooo requested a review from roflmuffin as a code owner April 10, 2024 16:26
@roflmuffin
Copy link
Owner

LGTM, what platforms have you tested this on?

@Nukoooo
Copy link
Contributor Author

Nukoooo commented Apr 11, 2024

I only tested on Windows. but I also tried to compile with GCC 13.2.1 and Clang 17.0.6 on my Arch WSL, while GCC ccompiled successfully without any error, clang required to remove register keywords in hl2sdk-cs2/tier1/generichash.cpp to make it work

@Nukoooo
Copy link
Contributor Author

Nukoooo commented Apr 12, 2024

Just took a look at why the build failed on linux, it turned out std::string_view(split.begin(), split.end()) only exists in GCC 12.1 and above and Clang 16.0.0 and above see here. So it might need to upgrade the compiler that workflow uses newer compiler.

@roflmuffin
Copy link
Owner

Tested on Linux using latest build artifact ✅

@roflmuffin roflmuffin enabled auto-merge (squash) April 13, 2024 01:12
@roflmuffin roflmuffin merged commit dfc9859 into roflmuffin:main Apr 13, 2024
5 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants