Bom dia
Encontrei nos meus guardados esse exemplo do Harysohn.
https://www.maximoaccess.com/t9114-registro-de-software-feito-no-registro-do-windows?highlight=unlocker#73070
Resolvi adaptar.
Precisava de algumas ajudas e pretendo disponibilizarei depois no repositório.
Esse aplicativo registra no ambiente de registro do Windows.
Qual a vantagem e desvantagem?
Dessa forma é mais fácil ou não de quebrar o registro?
Quanto ajuda...
Realmente não possuo capacidade de finalizar, por isso peço o pitaco de vcs.
1) Onde poderia anular a mensagem inicial?
2) Quando finalizo o registro consegui implementar a abertura do Form 1, mas não o fechamento do Form de registro.
Este abre diretamente e sem preencher o campo com o registro efetuado. Fica em branco.
Penso que talvez seja um bug, não sei.
3) Sua rotina de proteção me parece estar contida nesse módulo:
Option Compare Database
Option Explicit
Function Version() As String
Dim A, B, C
Dim version2
Dim RegObj
Set RegObj = CreateObject("WScript.Shell")
'A versão está no formato X.X.X
'Leia a Cadeia de Registro e remova o arquivo.
A = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 1, 1)
B = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 3, 1)
C = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 5, 1)
Version = A & B & C
End Function
Function DateInstalled() As String
Dim D, E, F, G, H, I, J, K
Dim RegObj
Set RegObj = CreateObject("WScript.Shell")
D = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 1, 1)
E = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 2, 1)
F = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 3, 1)
G = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 4, 1)
H = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 5, 1)
I = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 6, 1)
J = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 7, 1)
K = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 8, 1)
'Scramble up a data armazenada no registro
'Formato = DDMMYYYY
'D1 Y1 D2 Y2 M1 Y3 M2 Y4
DateInstalled = D & H & E & I & F & J & G & K
End Function
Function DaysInstalled()
Dim RegObj, DateInst
Set RegObj = CreateObject("WScript.Shell")
Dim A, B, C
A = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 1, 2)
B = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 3, 2)
C = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 5, 4)
'Mostra o número de dias em que o aplicativo foi instalado
DateInst = A & "/" & B & "/" & C
DaysInstalled = DateDiff("d", DateInst, Date)
End Function
Function Unlocker1()
'Cria a primeira parte do código de registro
'Isso usa o número da versão e converte em Hex
Dim hexno1, x1
hexno1 = Version
For x1 = 1 To Len(hexno1) Step 2
Next
Unlocker1 = CLng("&h" & hexno1)
End Function
Function Unlocker2()
'Cria a segunda parte do código de registro
'Isso usa a data instalada, embaralhada e converte em hexadecimal
Dim hexno2, x2
hexno2 = DateInstalled
For x2 = 1 To Len(hexno2) Step 2
Next
Unlocker2 = CLng("&h" & hexno2)
End Function
Onde poderia "mudar" algo para não ficar igual a outros que possam ter esse mecanismo? E assim buscar o serial de liberação?
4) Adiantei a data do sistema para verificar se está funcionando e não deu problema, manteve o mesmo comportamento.
É isso mesmo?
Obrigado.
Encontrei nos meus guardados esse exemplo do Harysohn.
https://www.maximoaccess.com/t9114-registro-de-software-feito-no-registro-do-windows?highlight=unlocker#73070
Resolvi adaptar.
Precisava de algumas ajudas e pretendo disponibilizarei depois no repositório.
Esse aplicativo registra no ambiente de registro do Windows.
Qual a vantagem e desvantagem?
Dessa forma é mais fácil ou não de quebrar o registro?
Quanto ajuda...
Realmente não possuo capacidade de finalizar, por isso peço o pitaco de vcs.
1) Onde poderia anular a mensagem inicial?
2) Quando finalizo o registro consegui implementar a abertura do Form 1, mas não o fechamento do Form de registro.
Este abre diretamente e sem preencher o campo com o registro efetuado. Fica em branco.
Penso que talvez seja um bug, não sei.
3) Sua rotina de proteção me parece estar contida nesse módulo:
Option Compare Database
Option Explicit
Function Version() As String
Dim A, B, C
Dim version2
Dim RegObj
Set RegObj = CreateObject("WScript.Shell")
'A versão está no formato X.X.X
'Leia a Cadeia de Registro e remova o arquivo.
A = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 1, 1)
B = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 3, 1)
C = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\Version"), 5, 1)
Version = A & B & C
End Function
Function DateInstalled() As String
Dim D, E, F, G, H, I, J, K
Dim RegObj
Set RegObj = CreateObject("WScript.Shell")
D = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 1, 1)
E = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 2, 1)
F = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 3, 1)
G = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 4, 1)
H = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 5, 1)
I = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 6, 1)
J = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 7, 1)
K = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 8, 1)
'Scramble up a data armazenada no registro
'Formato = DDMMYYYY
'D1 Y1 D2 Y2 M1 Y3 M2 Y4
DateInstalled = D & H & E & I & F & J & G & K
End Function
Function DaysInstalled()
Dim RegObj, DateInst
Set RegObj = CreateObject("WScript.Shell")
Dim A, B, C
A = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 1, 2)
B = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 3, 2)
C = Mid(RegObj.RegRead("HKCU\SOFTWARE\MyApp\DateInstalled"), 5, 4)
'Mostra o número de dias em que o aplicativo foi instalado
DateInst = A & "/" & B & "/" & C
DaysInstalled = DateDiff("d", DateInst, Date)
End Function
Function Unlocker1()
'Cria a primeira parte do código de registro
'Isso usa o número da versão e converte em Hex
Dim hexno1, x1
hexno1 = Version
For x1 = 1 To Len(hexno1) Step 2
Next
Unlocker1 = CLng("&h" & hexno1)
End Function
Function Unlocker2()
'Cria a segunda parte do código de registro
'Isso usa a data instalada, embaralhada e converte em hexadecimal
Dim hexno2, x2
hexno2 = DateInstalled
For x2 = 1 To Len(hexno2) Step 2
Next
Unlocker2 = CLng("&h" & hexno2)
End Function
Onde poderia "mudar" algo para não ficar igual a outros que possam ter esse mecanismo? E assim buscar o serial de liberação?
4) Adiantei a data do sistema para verificar se está funcionando e não deu problema, manteve o mesmo comportamento.
É isso mesmo?
Obrigado.