We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
See the following example: example.zip
Dewolf is currently creating the following code:
int main(int argc, char ** argv, char ** envp) { unsigned long var_1; long i; long var_0; void * var_3; __builtin_strcpy(/* dest */ &var_0, /* src */ "This is an example."); var_1 = strlen(&var_0); for (i = 0L; i < var_1; i++) { var_3 = &var_0 + i; if ((int)*var_3 != 32) { *var_3 = *var_3 ^ ' '; } printf(/* format */ "%c", (unsigned int)(int)*(&var_0 + i)); } return 0; }
The array access will be replaced by a temp variable through the Common Subexpression Elimination. This makes the code less legible.
If we would skip the stage, the for-loop would look like the following:
for (i = 0L; i < var_1; i++) { if ((int)*(&var_0 + i) != 32) { *(&var_0 + i) = *(&var_0 + i) ^ ' '; } printf(/* format */ "%c", (unsigned int)(int)*(&var_0 + i)); }
This should be the preferred variant.
Used Binary Ninja version: 3.5.4526
The CSE should be skipped for those expressions.
There could be several options to get this done:
Other approaches can be possible.
The best option should be evaluated, tested and implemented.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Proposal
See the following example: example.zip
Dewolf is currently creating the following code:
The array access will be replaced by a temp variable through the Common Subexpression Elimination. This makes the code less legible.
If we would skip the stage, the for-loop would look like the following:
This should be the preferred variant.
Used Binary Ninja version: 3.5.4526
Approach
The CSE should be skipped for those expressions.
There could be several options to get this done:
Other approaches can be possible.
The best option should be evaluated, tested and implemented.
The text was updated successfully, but these errors were encountered: