首先还是收集信息:
打开后是一个窗口,输入KEY。
输入假码后,显示密码错误(应该是错误)
然后我们用die查看一下:
VB,无壳。
既然是VB,那我们就用VB的静态工具查看一下,有没有什么信息:
这里我们可以看到程序的一些逻辑,先是将输入的字符串长度算出来,然后进行循环。并将字符串的各位加上0xA。然后又看到一串不知名的字符串等于0,否则就跳转失败。(If (var_34 = "kXy^rO|yXomkMuOn*+") = 0 Then GoTo loc_00402119 这段代码我只能看出是一个判断,但具体这个字符串为啥等于0,不知道,我大概猜测这个字符串应该是拿来和我们输入的key+0xA之后进行比较。)
那么我们将这个字符每位减去0xA不就得到正确的key了么。。。。。
然后我们就写一个脚本:
#include<stdio.h>
#include<string.h>
int main()
{
char name[99] = "kXy^rO|*yXo*m\kMuOn*+";
for (int i = 0; i < strlen(name); i++)
{
name[i] = name[i] - 0xA;
}
puts(name);
return 0;
}
运行一下:
复制进程序。。。
成功了。。。。