BREAK / REWIRE Sensitive functions

DUMP to 'Rewire' Where Functions Go To

For greater security, you can 'rewire' your most sensitive functions to go to an alternate 'decoy' function. You use these 2 commands and you can use them as much as you want in your code. As soon as your program executes one of these, all following calls to the original function will be affected.

All following calls to 'originalname' will go to decoyname
;$OBFUSCATOR: $DUMP_REWIREFUNCPATH: originalname, decoyname
This will make them start going back to the 'originalname'
;$OBFUSCATOR: $DUMP_REWIRE_STRAIGHT: originalname
The exact same function call in the exact same place in your code will go to the original function or the decoy function depending on which version of the rewire was run before it. To create a rewire function, add a function to your code by the name of 'decoyname' that has the same number of parameters as the 'originalname'. This function should not be called whatsoever in the unobfuscated version of your program, only the obfuscator will use it. No other work is necessary to create a rewire function except to use the 2 commands above.

You can use these commands during your program startup or 'in-line' in your code to test for security violations in the main executable sections of your program. Just as soon as the REWIREFUNCPATH is used, all following calls to 'originalname' will be transferred to 'decoyname'.
;program start up, start broken!

;$OBFUSCATOR: $DUMP_REWIREFUNCPATH: originalname, decoyname
;somewhere within your startup section do this
if (securityPASSED) {
;$OBFUSCATOR: $DUMP_REWIRE_STRAIGHT: originalname
}

;inline test done during the main execution of the program
if (securityFAILED) {
;$OBFUSCATOR: $DUMP_REWIREFUNCPATH: originalname, decoyname
}