first commit

This commit is contained in:
Pedro de Oliveira 2019-05-05 04:51:02 +01:00
commit 1aa9980442
3 changed files with 51 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1 @@
From https://crackmes.one/crackme/5c9e187b33c5d4419da55648

View File

@ -0,0 +1,50 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
"""
int __fastcall generateSerial(char *Dest)
{
char *output; // rbx
size_t name_len; // rax
unsigned int iterator; // edx
__int64 v4; // r9
__int64 v5; // rcx
int v6; // er9
output = Dest;
name_len = strlen(Dest);
iterator = 1;
v4 = 0i64;
while ( iterator <= name_len )
{
v5 = iterator - 1;
v6 = v4 + iterator++ + 3;
v4 = (unsigned int)(output[v5] + v6);
}
return sprintf(output, "%d-%d", 3 * (unsigned int)(name_len >> 1) + (unsigned int)name_len, v4);
}
"""
def generate_serial(username):
output = username
name_len = len(username)
iterator = np.int(1)
v4 = np.int64(0) # r9
v5 = np.int64() # rcx
v6 = np.int() # er9
while iterator <= name_len:
v5 = iterator - 1
v6 = v4 + iterator + 3
iterator += 1
v4 = np.uint(ord(output[v5]) + v6)
#print("v4(r9): {}\tv5(rcx): {}\tv6(er9): {}".format(v4, v5, v6))
return "User: {}\tKey: {}-{}".format(username, 3 * np.uint(name_len >> 1) + np.uint(name_len), v4)
print(generate_serial('BENFICA'))