decomp-permuter icon indicating copy to clipboard operation
decomp-permuter copied to clipboard

Randomly permute C files to better match a target binary

Results 50 decomp-permuter issues
Sort by recently updated
recently updated
newest added

``` if (var) { unsigned char regalloc = -regalloc; } ``` This is guaranteed to cause chaos on gcc 2.x, especially when used on uninitialized variables. Might be worth implementing....

[This](https://decomp.me/scratch/PXN57) scratch shows an example where `x * 0x500` produces different codegen from `(x * 5)

This helps with useless moves emitted by gcc 2.8.1 by turning ``` [statements] ``` into ```c if (variable) { [statements] } else { [statements] } ``` Examples: https://decomp.me/scratch/hQYzv -> https://decomp.me/scratch/LJdek...

I'm not sure how to better describe this fake match mechanism, but it helped match an otherwise impossible function in PM: https://decomp.me/scratch/2YDex

The permuter should be able to work off of improvements it has already found, deepening the search space. Ideally this would work when running multithreaded. Each `Permuter` would have an...

The permuter should try to remove silly mutations that didn't help when it discovers a better score. We can accomplish this by taking the seed that produced the result and...

``` #define A B #define B C A ``` with import.py --preserve-macros=A will at the start of `preprocess_c_with_macros` create the temporary file ``` _permuter define A B #define B C...