Use the even digits of the program number and the odd digits of the registered number to form a decimal number, multiply by 2, and multiply
The product is used as the subscript to go to the table (the function rtcMidBStr is used to look up the table, and bpx rtcMidBStr do "d * (esp + 4 )"
You can see the table. The first parameter passed to the function is the table's first address,
The second parameter is subscript ). Because the program number and registration number are both 8 bits, a total of 4 bytes can be found in the table.
Then we can get four bytes from other places (how these four bytes are obtained is not completely clear yet ),
Get 8 bytes in total, use _ vbaStrComp () to convert the 8 bytes and the other 8 bytes (
We have not figured out how the eight bytes are obtained, and they vary with program numbers,
If they are the same, the registration is successful. I have modified the return value of _ vbaStrComp () and forcibly registered it successfully,
However, the check fails at startup, and it generates a new program number for me to register again.
Patch :-(
The program number is generated based on the time of the following file:
C: windows
C: program filesxxxxx (garbled, may be the "safe holographic Calendar ")
The registration code seems to be here:
C: windowsenjitzm.txt