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

Update Stackstrings Algorithm in Go Extraction Code #828

Open
Arker123 opened this issue Jul 12, 2023 · 1 comment
Open

Update Stackstrings Algorithm in Go Extraction Code #828

Arker123 opened this issue Jul 12, 2023 · 1 comment

Comments

@Arker123
Copy link
Collaborator

The current stackstrings algorithm used in the Go extraction code needs to be updated to improve efficiency and accuracy. The existing implementation might not be optimal for handling certain scenarios and can lead to incorrect results.

@Arker123 Arker123 added the GSoC label Jul 12, 2023
@stevemk14ebr
Copy link

stevemk14ebr commented Jul 17, 2023

Stackstrings end up being used extensively in the case of Go obfuscators https://github.com/unixpickle/gobfuscate and https://github.com/burrowers/garble. In each of these strings are replaced with essentially lambda calls that perform an xor loop that when compiled down essentially creates a stack string that is decoded at runtime. If improvements are made to this logic I would love to see focus on these two obfuscators in particular.

As an example:
image

Note that generally decoding strings such as this involves converting a byte array back into a string, so stackstrings are typically followed by a call to runtime_slicebytetostring

@mr-tz mr-tz removed the GSoC label Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants