Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Protection Schemes for VFP
Message
 
À
14/05/2010 18:57:46
John Ryan
Captain-Cooker Appreciation Society
Taumata Whakatangi ..., Nouvelle Zélande
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Divers
Thread ID:
01464629
Message ID:
01464632
Vues:
149
Interesting - I haven't played with this one yet.
I downloaded the demo - you know what the password for the .zip file is?

>All,
>
>We've had a few threads over at Foxite looking at VFP protection schemes. This week a protected app was cracked to source in minutes; previously Leonid Lepin was able to lift a key out of three other protection products with no trouble at all.
>
>Having taken a particular interest I'd suggest that few protection schemes out there can protect a VFP app for more than a few minutes.
>
>Anybody is welcome to post a sample of their preferred protection scheme to see whether anybody can crack it. Please use a free dbf as that saves a lot of time to prove the point.
>
>The most effective protection scheme I can find comes from here: http://www.baiyujia.com/f_download.asp ,download VFP Compiler demo. The download includes English instructions. Basically the product splits a VFP project into a VFP exe with no useful content and a C++ dll containing heavily obfuscated, decomposed and distorted instructions that are fearfully difficult to piece back into a VFP project, unlike most other schemes from which it is easy to extract a complete VFP project.
>
>If I'm wrong I'd be delighted if somebody would show me- I'd rather go back to the drawing board than cruise along believing my work is protected when it's wide open.
>
>FWIW, here is the entire source I can extract from one of my own VFP compiler apps: as you can see, I don't need to waste time trying to prevent somebody grabbing this because it's not useful: a hacker now needs to disassemble the associated dll or at least trap a plethora of VFP runtime calls hoping to splice something useful out if it.
>
>
IF FILE(LEFT(_VFP.SERVERNAME,RAT(".",_VFP.SERVERNAME)-1)+".DLL").AND.AT(UPPE(LEFT(_VFP.SERVERNAME,RAT(".",_VFP.SERVERNAME)-1)+".DLL"),UPPE(SET("LIBRARY")))=0
>SET LIBRARY TO (LEFT(_VFP.SERVERNAME,RAT(".",_VFP.SERVERNAME)-1)+".DLL") ADDITIVE
>ENDI
>__VC_JOS_A(39)
>READ EVENTS
>PROCEDURE __VC_AQBWQP_
>__VC_JOS_A(40)
>RETURN __VC_JOS_A(41)
>PROCEDURE __VC_AQBWQP_1
>__VC_JOS_A(42)
>RETURN __VC_JOS_A(43)
>PROCEDURE __VC_AQBWQP_PRIVATE_1
>__VC_JOS_A(44)
>RETURN __VC_JOS_A(45)
>PROCEDURE __VC_AQBWRC_
>PARAMETER m.__VC_AQBWRC_A
>__VC_JOS_A(46)
>RETURN __VC_JOS_A(47)
>PROCEDURE __VC_AQBWRL_
>PARAMETER __VC_AQBWRL_A,m.__VC_AQBWRL_B,__VC_AQBWRL_C,m.__VC_AQBWRL_D,m.__VC_AQBWRL_E
>*[FOXRUN OFF]
>PRIVATE m.__VC_AQBWRL_F
>m.__VC_AQBWRL_F=0
>FOR EACH __VC_AQBWRL_A &__VC_AQBWRL_B IN &__VC_AQBWRL_C &__VC_AQBWRL_D
>m.__VC_AQBWRL_F=m.__VC_AQBWRL_F+1
>IF m.__VC_AQBWRL_F>=m.__VC_AQBWRL_E
>RETU .T.
>ENDI
>LOOP
>ENDFOR
>RETU .F.
>*[FOXRUN ON]
ICQ 10556 (ya), 254117
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform