What's new
RevTeam.Re - Reverse Engineering Team

Welcome Guest! Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox! Register and wait for our approve!

Solved Need crack Vbacompiler version 1.9.8(Solved)

Solved Request

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
secondary key pair is included in license information like plain text.
and encrypting these plain text is just first public key.
your keygen seems to be a bit different from mine.

1.jpg
 

Attachments

  • 1.jpg
    1.jpg
    61.6 KB · Views: 5
Last edited:

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
This code isn't mine...
"

Please, Log in to view quote content!

This one is mine.
"
private_key = DSA.import_key(bytes.fromhex(dsa_private))
public_key = DSA.import_key(bytes.fromhex(dsa_public))

def build_key_version(private_key: DSA.DsaKey, mid: str):
text=f'{user}|{mail}|{product}|{version}|{license_type}|{mid}|{dtf}|{dtt}|'
key=dsa_sign_data_sha1(private_key, text.encode()).hex().upper()
msg2=f'{user}|{mail}|{product}|{dsa_private}|{dsa_public}|'
#print('[-]msg2:',msg2)
key2=dsa_sign_data_sha1(private_key,msg2.encode()).hex().upper()
ftext = [
f'user={user}',
f'mail={mail}',
f'product={product}',
f'version={version}.5',
f'license_type={license_type}',
f'activation={activation}',
f'dtf={dtf}',
f'dtt={dtt}',
f'cidcrc={cidcrc.hex()}',
f'key={key}',
f'int={dsa_private}',
f'ext={dsa_public}',
f'key2={key2}',
f'key3={key3}', # A_nova_versao_deve_conter_nao_pode_estar_vazio
]
k = 'VbaCompiler for Excel'
 

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
Capturar.PNG

These are the only keys in my keygen. The original public key (which I replace). The private key (created in PEM) and the public key generated from that private key.
 

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
oops, your logic has fatal problem. of course, with one key pair it is possible.
but in your logic the largest problem is to be exposed your private key.
if you include both public and private keys in license key file, reverser/cracker can easily detect and get both your public/private keys in compiler's running through reversing. this means this logic can be cracked easily fully and crackers can make legal license generator easily.
developers have to never use licensing mechanism like your this way.

the reason that we have to replace original public key of compiler is just because we can never get original private key.
if you believe really legal license key file was consisted like your logic, you shouldn't need to replace original pub key with yours, and you could get original private key while running compiler, and then you could make legal license generator with that original private key.

and as leaving everything, yours is possible as keygen itself, but it is very weaken for licensing protection.

now you are fully ignoring fundamental principles of cryptography and even the concept about why its name is "private" key too.
 
Last edited:

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
it can be never simply solved with only replacing pub key in vbclr4e.exe as you think.
anyway i already let you know about position and setting type of pub key in exe file and a few important things.
so you can try to make your own solution with your own way.
i wouldn't like to spend my time to anything related with this compiler anymore because i already completed full working solution and gave it to my one friend.
i can't see your answers in here because maybe i'll be very busy later, so don't send message anymore in here, and concentrate your working.

hope to your success.
 

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
Please, Log in to view quote content!


I understand your frustration, but your logic regarding the private key is flawed. The developer asks the user NEVER to hand over their license precisely because it contains the private key. When the user buys it, they agree to keep it safe and never disclose it.

Reconsider your work because modifying the DLLs is not an elegant solution and will produce errors in projects depending on the operating systems. In other words, this solution is not sufficient.

And with your key in hand, anyone can create .rkey files and use your project.

See you later...
 

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
private key you extracted is not one to be used to encrypt user information in license key file.
it is only used in compiler interior.
you were confused again.

you can see only my 2nd keys pair, but it isn't used to encrypt license information.

my main private key is only in my keygen. you can never see it.
 
Last edited:

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
Please, Log in to view quote content!
you make me to laugh really.
"And with your key in hand, anyone can create .rkey files and use your project."
your this sentence was a thing just i would like to tell you.
because your license key file has both public key and private key for encrypt and verify key file itself.
 

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
Please, Log in to view quote content!

i'll let you know about general licensing mechanism logic once again clearly.
so never talk again as above. and asking to even AI too is right answer if you don't know about it well.

In general licensing logic, the public key and private key are located as follows:

## Private Key
- **Securely stored on the license issuer (server) side**
- Typically located on the authentication server of the company selling the software
- Never disclosed externally and stored in a secure repository with restricted access
- Used to sign license files or tokens

## Public Key
- **Included in the client software (application)**
- Embedded within the distributed executable file or library
- Used to verify the signature of the license file
- It is safe to be public; in fact, it must be accessible to everyone for verification purposes

## Operation Flow
1. **Server**: Signs license information with the private key → Generates a license file
2. **Client**: Verifies the signature using the embedded public key → Confirms license validity

This structure follows the basic principles of public key cryptography, ensuring the security of the private key while allowing anyone to verify the authenticity of the license.

i wonder what else you'll say.
before you say anything in here, ask the AI first once.
 
Last edited:

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
Please, Log in to view quote content!


OK, man...
"My main private key is only in my keygen. You can never see it." This is something I really don't believe has any practical use.

When a user buys a license, what do they have? They have a .DAT license file with their name, email, an expiration date, computer ID, and other CIDCRC information. The license contains a private key and a public key (which everyone knows how it works), and that's all they need to use the program to its full functionality. That's all they have and need. And that's where you complicate things by messing with the DLLs.

There's no point in complicating things; all we have to do to study the program is know how to create a valid license.

And that's where the 64-bit versions differ (since 2.5.x) – there's a new key, the "Key3". See...

"mid3=(c[::-1]+a[::-1]+b[::-1]).hex()
msg3=f'{mail}|{mid3}|{dtf}|{dtt}|'
key3=dsa_sign_data_sha1(private_key,msg3.encode()).hex().upper() "

And it's this Key3 that I need to understand the philosophy and operation of. Perhaps I'm only concerned with the public key, and that's not exactly the solution. Perhaps memory access is being corrupted because of this Key3... I don't know yet.

And I'm not concerned with breaking the program, but with having it functional. Therefore, I won't create solutions that will possibly be problematic patches.

You studied my Keygen and saw that the solution I made for the 32-bit version has no problems and doesn't cause any errors. And that's how I work.

That's the principle. And everything starts from there." It's no use creating new key pairs, etc. Everything you need is in this license. The developer doesn't sign their programs with every new license key they sell. New licenses are valid for old programs and vice versa.

You yourself said we're on different paths. And that's true. Not that one path is better than the other in any way, but I, for example, like FLAC files and you like MP3s.

And you might have some difficulty understanding what I'm saying, perhaps because my English isn't very good, or because I'm presenting the information in a very random way (my native language is Portuguese).

But that's it. I know how public and private keys work, I think everyone here knows... but remember that the keys aren't the problem, but what we're doing with them.a
 

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
Please, Log in to view quote content!
Vou enviar para você o programa em PYTHON que gera a licença usando apenas uma chave privada e pública.
Please, Log in to view quote content!


Regarding the use of two key pairs...
You can use one pair for:

private_key = DSA.import_key(private_key_der)
public_key = DSA.import_key(public_key_der)

And import one for signing:
msgX=f'{user}|{mail}|{product}|{dsa_private2}|{dsa_public2}|'.encode()
keyX=dsa_sign_data_sha1(private_key,msgX).hex().upper()

And the other pair that was signed (dsa_private2;dsa_public2) to make it explicit "which is not good":
int={dsa_private2}
ext={dsa_public2}

But there's no need for that. If you want, I can send you the Python code that generates the keys; you generate one and test it. I guarantee it will work.

By the way: once everything is working, we can use that other key pair to encrypt the license file with a key that isn't explicit.

However, the ultimate protection is not to transfer the license.
 
Last edited:

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
Please, Log in to view quote content!

is your persist a belief?
how many times did i say to you.

.DAT license file which they receive from seller includes important information signed by private key.
compiler and output dlls verify this signed information by public key included themselves.

if a private key is included in a license key file, the user who purchased it can extract the private key from his license key file and generate an unlimited number of legitimate licenses.
which stupid developer would develop his product like this way.


you still believe license key file has both public key and private key.
there is no answer as long as you think so continuously.

don't write anything anymore. it only reveals what your level is.
try to make your own solution silently.

i'm so tired to tell you, so i'll also never come back here again.
 
Last edited:

Corvus@206

Active member
Joined
Feb 25, 2025
Messages
31
Reaction score
13
of course. because i let you know but you don't understand.
it seems you also feel it.

everyone knows code patching is not a clear method, and everyone wants to make full keygen without code patching.
because of this reason, developers keep their private key to be secret.
even the developers of this compiler made a different traps for preventing code patching too.

i think you come in my forum and are seeing my tutorial thread silently. because i'm one of moderators in that forum.
i already completed full solution, so you don't need to say "Good luck" to me.

only clear thing is that there is no good luck for you without code patching.
 

Sygmund Oose

Well-known member
Joined
Jul 10, 2023
Messages
57
Reaction score
45
I'm going to share with my partners what I'm doing regarding the VBAcompiler program.
There's only one restriction preventing me from finishing a "vbc4ekey.dat" file, where changing just one byte is causing me a headache.
I'll prepare some images and ask for help from those interested in evaluating a logical solution for the program.

For this, we only need the Keygen (which is in previous messages)... other keygens I've tested don't offer this option.
Create a key and open the program in your favorite debugger and do a BP on the address "0000000140017CE4".
When you stop, you'll see that the zeroflag is set to "0"... change it to "1" and the program will be released.
Since there's still a problem with "key3", it sets the RBX to "0", and when set like that, the program won't license.

Change the zeroflag to "1" and press F9, and the program will open enabled.
I need to know exactly which variable in MP is setting it to "0".

Please remember that I am only trying to obtain a clean program.

Capturar.PNG
 
Top