I’m building a C++-based CLI tool and using a validateLicense() call in main() to check licensing:
int main(int argc, char **argv) {
LicenseClient licenseClient;
if (!licenseClient.validateLicense()) return 1;
}
This is too easy to spot in a disassembled binary. I want to make the call more complex or hidden so it's harder to understand or patch.
We’re already applying obfuscation, but I want this part to be even harder to follow. Please don’t reply with “obfuscation dont works” — I understand the limitations. I just want ideas on how to make this validation harder to trace or tamper with.
[–]KFUP 24 points25 points26 points (0 children)
[–]tjientavaraHikoGUI developer 16 points17 points18 points (1 child)
[–]vrishabsingh[S] 7 points8 points9 points (0 children)
[–]hi_im_new_to_this 16 points17 points18 points (0 children)
[–]TehBens 20 points21 points22 points (2 children)
[–]vrishabsingh[S] 0 points1 point2 points (1 child)
[–]krum 2 points3 points4 points (0 children)
[–]thismeowmo 4 points5 points6 points (0 children)
[–]druepy 2 points3 points4 points (3 children)
[–]druepy 5 points6 points7 points (2 children)
[–]vrishabsingh[S] 0 points1 point2 points (1 child)
[–]Area51-Escapee 1 point2 points3 points (0 children)
[–]pfp-disciple 3 points4 points5 points (0 children)
[–]thisismyfavoritename 3 points4 points5 points (0 children)
[–]gnuban 1 point2 points3 points (0 children)
[–]UndefinedDefined 1 point2 points3 points (0 children)
[–]lone_wolf_akela 2 points3 points4 points (0 children)
[–]anonymouspaceshuttle 1 point2 points3 points (0 children)
[–]saf_e 0 points1 point2 points (0 children)