View Single Post
Old 06-09-2016, 05:03 AM   #1
User Profile
gogu87

 
gogu87's Avatar
 
Join Date: Wed Dec 2009
Posts: 40

Cấp bậc: 5 [cin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1teamcin1team]
Sức sống: 0 / 102
Hoạt động: 13 / 2624
Kinh nghiệm: 11%


Thanks: 1,356
Thanked 132 Times in 29 Posts
Icon1 FoxPro Reverse Challenge

Hello,

I try to reverse this software but i have some problem to find serial check algorithm.

This application is coded in Visual FoxPro using Mysql database.
The app use this library.

I try do decompile ReFox XII but unsuccessful. I think this foxpro code i encrypted ( when is running, create tmp file).
Also in tmp folder create this file bibliotheque_sm.MPR :
Code:
DEFINE POPUP shortcut  SHORTCUT  FONT 'Arial',9,238 RELATIVE FROM MROW(),MCOL()
IF (_screen.visible=.F. AND _screen.WindowState<>1) OR _screen.WindowState=1
DEFINE BAR 1 OF shortcut PROMPT getlb('Afisare fereastra') SKIP FOR _screen.visible=.t. AND _screen.WindowState<>1 PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\windows.bmp'
else
DEFINE BAR 1 OF shortcut PROMPT getlb('Ascunde fereastra') SKIP FOR _screen.visible=.f. AND _screen.WindowState==1 PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\windows_h.bmp'
endif
DEFINE BAR 2 OF shortcut PROMPT '\-'
IF _screen.visible=.T.
DEFINE BAR 3 OF shortcut PROMPT getlb('Iesire cont') SKIP FOR EMPTY(reg_r('uname','User'))==.T. OR _screen.visible=.f. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\remove_user16.bmp'
DEFINE BAR 4 OF shortcut PROMPT '\-'
DEFINE BAR 5 OF shortcut PROMPT getlb('Despre ... ') SKIP FOR _screen.visible=.f. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\about16.bmp'
DEFINE BAR 6 OF shortcut PROMPT '\-'
IF STRCONV(ALLTRIM(reg_r('akey')),14)=='demo'
DEFINE BAR 7 OF shortcut PROMPT getlb('Activare aplicatie') SKIP FOR FILE('sfcnet.sys')=.t. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\key16.bmp'
DEFINE BAR 8 OF shortcut PROMPT '\-'
DEFINE BAR 9 OF shortcut PROMPT getlb('Iesire') SKIP FOR FILE('sfcnet.sys')=.t. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\exit16.bmp'
ELSE
DEFINE BAR 7 OF shortcut PROMPT getlb('Iesire') SKIP FOR FILE('sfcnet.sys')=.t. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\exit16.bmp'
ENDIF
ELSE
DEFINE BAR 3 OF shortcut PROMPT getlb('Iesire') SKIP FOR FILE('sfcnet.sys')=.t. PICTURE 'C:\PROGRAM FILES (X86)\SFC-NET.RO\SFCBB\img\meniu\exit16.bmp'
ENDIF
if (_screen.visible=.F. AND _screen.WindowState<>1) OR _screen.WindowState=1
ON SELECTION BAR 1 OF shortcut DO afiseaza.prg
else
ON SELECTION BAR 1 OF shortcut DO ascunde.prg
endif
IF _screen.visible=.T.
ON SELECTION BAR 3 OF shortcut DO logout.prg
ON SELECTION BAR 5 OF shortcut DO about.prg
IF STRCONV(ALLTRIM(reg_r('akey')),14)=='demo'
ON SELECTION BAR 7 OF shortcut DO register.prg
ON SELECTION BAR 9 OF shortcut DO iesire.prg
ELSE
ON SELECTION BAR 7 OF shortcut DO iesire.prg
ENDIF
ELSE
ON SELECTION BAR 3 OF shortcut DO iesire.prg
ENDIF
IF EMPTY(reg_r('uname','User'))==.F.
ACTIVATE POPUP shortcut
endif
The most important think i found is this call:
Code:
=splitkey(serialno())
For generate serial key this algorithm use CPU Serial and HDD Serial.
Here is some example of serials:
Code:
5599602|BB8A0-78D65-SFC31-37384-24642-46463-03033-30304-63130|Teodora LPS-Referent PC - HDD: 8A078D65 - CPU: 31373842464246463030333030463130 - KEY: 60750B321
5599602|BB406-21609-SFC30-37384-24642-46463-03030-32304-64332|Biblioteca LPS - HDD: 40621609 - CPU: 30373842464246463030303230464332 - KEY: 191B212
For nag screen use number of runs stored base64 in registry :

Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\NDI2OTYyNkM2OTZGNzQ2ODY1NzE3NTY1]
"countup"="MzM="
@=""
And here store app settings including serial:
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Bibliotheque]
My questions is:

1 Can anyone finish this reverse and create keygen or patch this software?
2 Can anyone make tutorial or explain?
3 Can anyone reverse splitkey and serialno functions?

Last edited by gogu87; 06-09-2016 at 05:07 AM. Reason: more explain
  Reply With Quote