CrackMe —— 013
160 CrackMe reverse is more suitable for novice learning to crack a collection of a total of 160 to be reverse to crack the program CrackMe
CrackMe : they are open to a number of others try to crack the small programs, people may be making crackme programmer, want to test their software protection technology, it could be a cracker, want to challenge the strength of other cracker to crack, but also It may be some people who are learning to crack, own small programs to their break.
Source <- Click to view
Numbering | Author | Protection |
013 | badboy | Name/Serial,Serial(VB5) |
tool
x32dbg
VB Decompiler Pro
peid
Start cracking tour
ON.1
First, open the program using x32dbg search string, I found that only four strings, not what we want, do not be encrypted?
Next we use pedi open the program to see if the shell was found and did not add any shell
ON.2
We use VB Decompiler Pro Open 013 program in the left column click on Code -> Form1 drop down and found that more Click function
We click on the first Click (Combo1_Click)
A closer look we find the secret key generated code, the red box
var 88 = current day * 23 + 2 + number of the current month of the current year * 1900 *
var 1d0 = (var 88 + var 88) + 14 * 1905 the current day current day + 14 * 1905
Some would say why multiplied by 1900
Since VB inside Year (3) => 1900, Year (2020) => 1905
Here is the Python code
import datetime now = datetime.datetime.now() var_88 = now.day * 22 + now.month * 1 + now.year * 1900 var_1d0 = var_88 * 2 + 13 * 1905 * 2
我们点击CrackMe 1.0在输入框内输入答案点击Try,bingo ~ 答案正确
接下来我们来看CrackMe 2.0
我们点击第二个Click(Combo2_Click)
将其转换为Python代码为
var_94 = '0110617121214051216101106141404110614140411091211100810101608040610121608100416' name = 'lonenysky' var_90 = 0 var_a8 = 1 for i in range(3, len(name)): var_90 = var_90 + (ord(name[i]) * int(var_94[var_a8 * 3 - 1:var_a8 * 3 - 1 + 3])) var_a8 += 1 if var_a8 + 1 >= 39: var_a8 = 0 var_178 = 0 var_a8 = 1 for i in range(3, len(name)): var_1cc = ord(name[i]) * ord(name[i - 1]) * int(var_94[var_a8 * 2 - 1:var_a8 * 2 - 1 + 2]) var_178 = var_178 + var_1cc var_a8 += 1 if var_a8 + 1 >= 39: var_a8 = 0 print(str(var_90) + '-' + str(var_178))
输入Name =>lonenysky Serial => 145533-911038 点击按钮Try ,提示答案正确