Log in

View Full Version : need foxpro help! target uses keylib32.dll for testing


smallpox
October 5th, 2011, 23:26
two decompiled sources they look like, used refox.


Information:

when starting the target, it prompts for a reg1 and reg2 code, situation is i have ten working systems, i want to move the files over to a linux server but it prompts for registration. when i point it back at the previous drive, it works again. i am too afraid to change drive names for windows share because i cannot afford to break this.

Question:

I have is if refox has decompiled the entire thing, is it possible to tell it not to do the security checks and recompile it ?

thank you.

Code:
DO CASE
CASE MONTH(DATE() - 10) <= 3
luentry = SUBSTR(unlockcode.serial, 2, 5)
CASE MONTH(DATE() - 10) <= 6
luentry = SUBSTR(unlockcode.serial, 3, 5)
CASE MONTH(DATE() - 10) <= 9
luentry = SUBSTR(unlockcode.serial, 4, 5)
OTHERWISE
luentry = SUBSTR(unlockcode.serial, 5, 5)
ENDCASE
lunewmonth1 = IIF(SUBSTR(luentry, 1, 1) < 'E', '0', IIF(SUBSTR(luentry, 1, 1) > 'U', '1', '9'))
lunewmonth2 = '1'
lunewyear1 = IIF(SUBSTR(luentry, 4, 1) > 'U', '0', '8')
lunewyear2 = '0'
DO CASE
CASE SUBSTR(luentry, 2, 1) = 'C'
lunewmonth2 = '0'
CASE SUBSTR(luentry, 2, 1) = 'D'
lunewmonth2 = '1'
CASE SUBSTR(luentry, 2, 1) = 'E'
lunewmonth2 = '2'
CASE SUBSTR(luentry, 2, 1) = 'F'
lunewmonth2 = '3'
CASE SUBSTR(luentry, 2, 1) = 'G'
lunewmonth2 = '4'
CASE SUBSTR(luentry, 2, 1) = 'H'
lunewmonth2 = '5'
CASE SUBSTR(luentry, 2, 1) = 'I'
lunewmonth2 = '6'
CASE SUBSTR(luentry, 2, 1) = 'J'
lunewmonth2 = '7'
CASE SUBSTR(luentry, 2, 1) = 'K'
lunewmonth2 = '8'
CASE SUBSTR(luentry, 2, 1) = 'L'
lunewmonth2 = '9'
ENDCASE
DO CASE
CASE SUBSTR(luentry, 5, 1) <= 'D'
lunewyear2 = '0'
CASE SUBSTR(luentry, 5, 1) <= 'H'
lunewyear2 = '1'
CASE SUBSTR(luentry, 5, 1) <= 'L'
lunewyear2 = '2'
CASE SUBSTR(luentry, 5, 1) <= 'P'
lunewyear2 = '3'
CASE SUBSTR(luentry, 5, 1) <= 'T'
lunewyear2 = '4'
CASE SUBSTR(luentry, 5, 1) <= 'X'
lunewyear2 = '5'
ENDCASE
lunewcdate = lunewmonth1 + lunewmonth2 + "/10/" + lunewyear1 + lunewyear2
lunewdate = CTOD(lunewcdate)
RETURN (lunewdate)
ENDFUNC
*

smallpox
October 6th, 2011, 02:22
even juicier!

--
Code:

m.plusfrmresult = .F.
PUBLIC trigcode
PUBLIC plusresult
PUBLIC plusmonth, plusday, ;
plusyear, plusdate, ;

<snip wasted space>

FrankRizzo
October 7th, 2011, 20:36
Yeah, that looks almost like a published example of how to use it. If you put any of those function names into Google, say, pp_tcode, you'll see that they're fully published API functions from the library.

PP_TCODE()
Decodes which Trigger Code number was entered

You know, if you wanted to do a little programming, you could grab the developer's kit, and write a small app that would generate key codes, and run them through the .DLL until you found valid license codes.

Then, run that app on each VM that you have, and you'd have valid codes for each of them. (And an application to do so for any future ones as well).

giv
October 10th, 2011, 01:59
Just reverse the error conditions from <> to =
Or from = .F. to =.T.