Oct 22, 2017 11:34 PM
(This post was last modified: Oct 28, 2017 07:29 AM by Barret.)
![[Image: IZUUqeg.png]](https://i.imgur.com/IZUUqeg.png)
A small release of my latest work that has only one purpose, masking constant numbers into fully customizable equations inside .net assemblies.
This might be not something for beginners as i deem this fairly advanced and might 'confuse' the hell out of ya 😅
So basically this is just one small feature that can be implemented into a larger obfuscation or confuser projects, that was the whole idea of it.
But i simply suck at programming obfuscators but i do know how to make these little things from time to time, just for the heck of it.
Approach and execution
The equation solver requires 3 types of input, pool of random numbers, functions and an input number, from there on it will build the expression from the solver and generate true ILcode from this.
Once that is done it will replace all numbers within your assembly with new method calls inside a new type.
Before:
![[Image: knxvRfb.png]](https://i.imgur.com/knxvRfb.png)
After:
![[Image: OYV8Syn.png]](https://i.imgur.com/OYV8Syn.png)
Variations
The pool is used within the equations and the size of this pool impacts the size of the equation also the functions are dynamically implemented that are semi hard coded.
You have to encounter float and integers so we add a random serie from 1 to 10, 100, and perhaps a 1000 depending what numbers we are aiming for, if we deal with floats we also
add a few decimal numbers but they are not required if the functions pool contain certain mathematical formula's that will return decimals as well (cos, sin, tan, etc)
Available Functions
- Basic operators
- Tan
- Sin
- Cos
- square root
- Squared
- Log
- and Round
Remarks
Sometimes certain parameters take longer, there is a setting that determines the tolerance for decimal neglecting, meaning that a tolerance of 0.0004 will accept 10.00009 as 10.
You have to play with the settings to find a sweet spot.
Example of solved constants within an assembly:
![[Image: 1qsSC0b.png]](https://i.imgur.com/1qsSC0b.png)
I was planning on not releasing this but i changed my mind 🙂 let me know what you think about it and i would appreciate if you write a comment when your using it.
Github: https://github.com/TheBarret/Spaghetti


![[Image: Syr3DlV.png]](https://i.imgur.com/Syr3DlV.png)