The general software encryption algorithm avoids judging True / False issues.
Many decryption software is using this, successful cracking of pure software encryption. The DES and other algorithms are more combined with smart cards, using hardware to ensure software security.
Is it true that pure software really does not encrypt?
I think that as long as there is a problem with True / False, or other multi-value variables, the decryption software can successfully achieve pure software encryption.
For example, construct a function
Function Login (Sn As Long) As Long
It is used to determine whether the user password or registration code is correct. The general approach is to return to the True or FALSE value, in order to prevent decryption, a long integer can be returned. Its generation mechanism is not by comparison, it is determined whether or not the correct SN is the same, but is calculated from the key to generate a new integer.
This new integer can be inversely computing with the key when needed. Such an operation can do many times in different places. Make the decryptient unable to crack.
My idea is still very immature, I hope to get everyone's supplement.