本帖最后由 wprotect 于 2015-11-6 21:33 编辑
这个cm太简单了 还是公布源码把
http://release.crack4r.cc/Exercise/CrackMe.Wp.7z
[C++] 纯文本查看 复制代码
#include <stdio.h>
#include <iostream>
#include "WProtectSDK.h"
using namespace std;
void pass();
void fail();
typedef
void (*info_fuc)();
info_fuc cur_f[] = {
fail,
(info_fuc)0x54fea2fa,
(info_fuc)0x478ef562,
pass
};
void pass()
{
WProtectBegin();
char i[4];
i[2] = 's';
i[1] = 'a';
i[3] = 's';
i[0] = 'p';
i[4] = '\0';
std::cout << i << std::endl;
WProtectEnd();
}
int main(int argc,char * argv[])
{
WProtectBegin();
int key;
cout<<"Entry Key:\n";
cin>>key;
info_fuc * cur_fuc = cur_f;
unsigned char b1 = (key & 0xff000000) >> 24;
unsigned char b2 = (key & 0xff0000) >> 16;
unsigned char b3 = (key & 0xff00) >> 8;
unsigned char b4 = (key & 0xff);
if ((b2 - b1) + (b3 - b4) == 3)
{
cur_fuc += ((b2 - b1) + (b3 - b4));
}
(*cur_fuc)();
cin>>key;
WProtectEnd();
return 0;
}
void fail()
{
WProtectBegin();
std::cout << "hahaha ni cuo le " << std::endl;
WProtectEnd();
}
|