Vous êtes sur la page 1sur 7

24/09/2016

::ActiveDelphi

GerandochavesdeseguranacomoOnGuard
Data:Segunda,setembro04@23:56:18
TpicoAdministrador

NesteartigoestudaremosostrspassosdoexemploRGCReleaseCodeGeneratordoOnGuard,queprovemeiosparacriaode
chavesnicasdesegurana,garantindoaexecuodenossosprogramasapenasnoscomputadoresondeforamautorizadosaserem
executados.
NotaOestudodesteartigonoserestringeaoDelphi2006emboratenhasidousadaestaversocomobasepararedigireste
artigo,osmesmoresultadospodemserobtidosnoDelphi2005,enoDelphiverses3a7.

Paraesteartigoseroutilizadosostrsprogramascontidosnapasta:
C:\Arquivosdeprogramas\Borland\BDS\4.0\OnGuard\examples\Delphi\RegDemo.

Ostrsprogramasso:
RCG.EXEEsteprogramavocutilizaraparadigitarinformaesobtidasapartirdeseususurios.Estasinformaessero
utilizadasparagerarachavederegistroquevocenviardevoltaaoseuusurio.

REGISTRATION.EXEEsteprogramaserexecutadopeloseuusurioparaefetuaroregistrodoseuaplicativo.
NesteprogramaousuriodigitaraonmerodesrieimpressonoCDdeinstalaodoseuaplicativoouumnmerodesrieprovido
aoseuusuriodeoutraforma.
Quandoousurioentraemcontatocomvocpararegistraroprogramaeleforneceparavocdoisnmeros:Umonmerode
srie,ooutrooIdentificadornicodoComputadorchamadopeloRCG.EXEde(MachineModifier).
VocentodigitaosdoisnmerosfornecidospelousurionoprogramaRCG.EXE,calculaachavederegistroeenviaachavede
registrocalculadaparaousurio.
OusurioporsuavezdigitaestachavederegistronoprogramaREGISTRATION.EXE,quandoousuriopressionaobotosalvara
chavederegistrofornecidaporvocservalidadaeseforumachavevlida,sergeradoentonocomputadordousurioum
arquivocomonomeREGISTRATION.DATquecontemonmerodesrieeachavederegistro.

NotaForneasemprenmerosdesriedistintosparacadaaplicativoqueousuriocompredevoc,porexemplo,umnmerode
srieparaoseuaplicativoparaFluxodeCaixaoutronmerodesrieparaoseuaplicativodeControledeEstoqueetc.
Egeresempreinstalaesdeseusaplicativosempastasdistintas,poisoREGISTRATION.DATdevesernicoparacadaaplicativo,
garantindoqueoseuaplicativosejaexecutadosomentenocomputadorondefoiregistrado.Emcasosondeosprogramasso
instaladosemredes,mantenhaobancodedadosnoservidoreosaplicativoscomseusrespectivosREGISTRATION.DATemcada
computadordarede,garantindoassimaexecuodeseusaplicativossomenteemcomputadoresondeforamregistrados.Lembrese
doIdentificadornicodoComputador(MachineModifier).
HELLOWORLD.EXEEsteprogramaequivaleriaaseuaplicativo,eledemonstraousodasinformaescontidasnoarquivo
REGISTRATION.DATquefoicriadopeloprogramaREGISTRATION.EXE.
OnmerodesriegravadonoarquivoREGISTRATION.DATusadoparacalcularachavederegistronocomputadorondeo
helloworld.exeexecutadoeelecomparaachavederegistrocomaqueestagravadanoarquivoREGISTRATION.DAT,seasduas
chavessoidnticasohelloworld.exeexibira"HelloWorld"casocontrarioeleformarqueumaversodemonoregistrada.

NoarquivoOnGuard.inicontemachavequeserusadanoprogramaRCG.EXEparagerarachavenicadeseguranaparaseus
aplicativos.

NotaEstachavecontidanoarquivoOnGurad.inipodeserusadaparagerardiversaschavesdesegurananicasparadiversos
aplicativosquevoctenhadesenvolvido.AgeraodestachavecontidanoarquivoOnGurad.inicasodeestudoparaoutroartigo,
nofuturo.

DicaParafacilitarascoisaseuadicioneiostrsprogramasemumPrjectGroupcomoilustradonafiguraabaixo:

http://www.activedelphi.com.br/print.php?sid=413

1/7

24/09/2016

::ActiveDelphi

VoctambmpodecompilarostrsprogramasedepoisexecutlosforadoDelphi,ficaaseucritrio.

Antesdeefetuarqualquergeraodechavesdeseguranavamosexecutarumtesteparaverificarcomoosprogramassecomportam
quandosoexecutados:

1ExecuteoprogramaHELLOWORLD.EXEcomovocpodevernafiguraabaixo,elenoestaregistrado.

Fecheoprograma.

2ExecuteoprogramaREGISTRATION.EXEedigiteumnumerointeirodeat9dgitosnocampoEnteryourserialnumberfromyour
CDcomoilustradonafiguraabaixo:

http://www.activedelphi.com.br/print.php?sid=413

2/7

24/09/2016

::ActiveDelphi

3ExecuteoprogramaRCG.EXEearranjeasduasjanelasdemodoapoderverambasabertascomoilustradonafiguraabaixo:

DicaParapoderexecutarosegundoprogramaRCG.EXEsimultaneamenteaoprimeiroprogramaREGISTRATION.EXEclique
sobreoRCG.EXEnoProjectExplorer,cliqueemActivateeemseguidapressioneF9(Run).

NoprogramaReleaseCodeGeneratorRCG.EXEpressioneobotocomachaveaoladodocampoApplicationKey,abriraumanova
janelacomoilustradonaimagemabaixo:

http://www.activedelphi.com.br/print.php?sid=413

3/7

24/09/2016

::ActiveDelphi

CliquenobotoaoladodocampoFilenamedanovajanelaabertaKeyMaintenanceeselecioneoarquivoOnGuard.inicomo
ilustradonafiguraabaixo:

NajanelaKeyMaintenancecliquenalistaApplications,deveroparecerachavefornecidapeloarquivoOnGuard.ini,cliqueem
seguidanobotoOK,comoilustradonafiguraabaixo:

http://www.activedelphi.com.br/print.php?sid=413

4/7

24/09/2016

::ActiveDelphi

ChequeacheckboxaoladodeApplyaMachineModifier
CopieonmeroqueestanocampoMachineModifierdajanelaRegistrationTools
ParaocampoApplyamachineModifierdajanelaReleaseCodeGenerator

PuleocampoReleasecodeexpires(cdigosqueexpirampordatasseroestudosemumartigofuturo).

CopieonmeroqueestanocampoEnteryourserialnumberfromyourCDdajanelaRegistrationTools.
ParaocampoSerialNumberdajanelaReleaseCodeGenerator

(simulandoqueousurioteinformouessesnmerosporemailoutelefone).

CliquenobotoaoladodocampoReleaseCodedajanelaReleaseCodeGenerator

Sergeradaentoefinalmenteachavenicadeseguranaquedeverserenviadaaousurio.

CopieesteReleaseCodeparaajanelaRegistrationTools
(simulandoqueachavefoienviadaaousurio,poremailoutelefoneconformeocaso).

Asjanelasdeveroficarcomonafiguraabaixo:

VocpodeefetuarumtestealterandoalgumdigitodachavedeReleaseCodeoudoSerialNumberdajanelaRegistration
toolsparavercomooprogramarejeitachavesinvlidas.
http://www.activedelphi.com.br/print.php?sid=413

5/7

24/09/2016

::ActiveDelphi

PressionandoobotoSavedajanelaRegistrationToolsseoReleaseCodeforvlidooprogramageraoarquivo
REGISTRASTION.DATcontendoaChavenicadeSeguranaeoNmerodeSrieeemseguidaencerraaexecuo.

EncerretambmaexecuodoprogramaReleaseCodeGeneratorclicandonobotoExit.

AtiveagoranoProjectExploreroprogramaHelloWorld.exeeexecuteo,vocverificarqueagoraoprogramaHelloWorld.exeno
apresentamaisafraseUnregistreredDemocomoanteriormente,massimafraseHelloWorldconfirmandoassimoregistrocom
sucesso,comoilustradonafiguraabaixo:

Sevocpossuimaisumcomputador,efetueoutroteste,copieoprogramaHelloWorld.exeeoarquivoREGISTRASTION.DATpara
outrocomputadoreexecuteoHelloWorld.exe.
VocconstatarqueafraseUnregistreredDemovoltaraserexibidapois,o(MachineModifier)dooutrocomputadornoconfere
comoquefoiusadoparageraraChavenicadeSegurana,

DicapossveltambmvocadicionarafuncionalidadedoprogramaRegistrationTools(REGISTRATION.EXE)dentrodosteus
aplicativos.
VocpodecolocaraexecuodaverificaodachavedentrodoeventoOnCreatedoFormurioprincipaldeseuaplicativopor
exemplo.

EuusooComponenteUserControlecoloqueinoeventoOnAfterLoginoseguintecdigo:

procedureTFormStart.UserControl1AfterLogin(Sender:TObject)
var
ReleaseCodeString:string
varSerialNumber:longint
begin

GetRegistrationInformation(ReleaseCodeString,SerialNumber)
ifnotIsReleaseCodeValid(ReleaseCodeString,SerialNumber)then
begin
Application.CreateForm(TregMain,regMain)
regMain.ShowModal
regMain.Free
end
else
RregistroEfetuado:=True
end

Concluso:
Achavedesegurananica,servesomenteparaumcomputador,dessaformavocpodeteromesmoaplicativorodandoemuma
rededecomputadores,bastandoqueparaissovocforneaaschavesderegistroparacadacomputadordarede.

Comoeuciteinoartigoanterior,InstalandooTurboPowerOnGuardnoDelphi2006oquenospodemosfazerdificultaraexecuo
deformailegaldenossosaplicativos,issoquerdizertambmqueteremosdificuldades,geraresseschavesdeseguranano
tarefafcilcomotambmserigualmentedifcilalgumusarnossosaplicativossemadevidapermisso.

Sobreoautor:
AugustoAlvesdeToledo
Desenvolvedorindependente.RibeiroPreto(SP)Brasil.augusto.alvestoledo@gmail.com
19821986DesenvolvendoSistemascomCOBOLemUNIXparaMainframesBurroughs3900.
19871995DesenvolvendoSistemascomCLIPPERePASCALemDOSparaPC.
19962006DesenvolvendoSistemascomVisualBasic,VisualFoxProeDelphiemWindows.

Digitadopor::ActiveDelphi
http://www.activedelphi.com.br/print.php?sid=413

6/7

24/09/2016

::ActiveDelphi

http://www.activedelphi.com.br/
AURLparaestanotcia:
http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=413

http://www.activedelphi.com.br/print.php?sid=413

7/7

Vous aimerez peut-être aussi