software analysis
software
Software download link
crackmeesy.zip
analyze
Click to run it, the displayed window:
Enter the password: aaaaaaaaa (press randomly) and click check, as shown in the figure below:
start cracking
1
Search the string and find the word "10445678951" (similar sequence, but not):
click in, set a breakpoint:
Reload and run, enter aaaaaaa, click check, stop at the breakpoint, step by step F8
Basically, the ascii code of the first character 'a' of the input string is -0x14, and the hexadecimal value of a is 0x61, then the result obtained after subtraction is 4D, which will be the first character of 10445678951 "1" "Compare.
So we can reverse the sequence:
Inverse method
The decimal codes of "10445678951" are:
49, 48, 52, 52, 53, 54, 55, 56, 57, 53, 49
Convert to hexadecimal:
0x31, 0x30, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x35, 0x31
Collectively add 0x14 to get:
0x45, 0x44, 0x48 , 0x48, 0x49, 0x50, 0x51, 0x52, 0x53, 0x49, 0x45
Represented by characters:
E, D, H, H, I, J, K, L, M, I, E
The converted sequence is:
EDHHIJKLMIE
C++ implementation program:
void getfun(string str){
string mystr="10445678951";
int length=0;
int i=0,j=0;
char s='';
for(i=0;i<str.length();i++){
s=str[i]-0x14;
if(s==mystr[i]){
length++;
}
}
if(length==str.length()){
cout<<"注册成功"<<endl;
}else{
cout<<"注册失败"<<endl;
}
}