首页
社区
课程
招聘
[推荐]一个适合初学者的crackme
发表于: 2007-1-13 13:02 41427

[推荐]一个适合初学者的crackme

2007-1-13 13:02
41427
收藏
免费 7
支持
分享
最新回复 (59)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
51
实在弄不出来,不过这里
004012BC     /74 16         jne      short 004012D4
改成
004012BC     /74 16         je      short 004012D4
就应该算破了把
2007-5-7 15:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
52
好方法!! 没想到可以这样 哈哈
有创意 学习一下
2007-5-8 15:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
53
我找到注册码啦,但是算法不明白,望各位大虾给解释下,多谢
1111
3572128831

1110
3572194367

0040124E   . B9 0A000000    MOV ECX,0A
00401253   . A1 45634000    MOV EAX,DWORD PTR DS:[406345]
00401258   . 33DB           XOR EBX,EBX
0040125A   > 33D2           XOR EDX,EDX
0040125C   . F7F1           DIV ECX
0040125E   . 80C2 30        ADD DL,30
00401261   . 8893 49654000  MOV BYTE PTR DS:[EBX+406549],DL
00401267   . 43             INC EBX
00401268   . 85C0           TEST EAX,EAX
0040126A   .^75 EE          JNZ SHORT crackme.0040125A
0040126C   . 68 49654000    PUSH crackme.00406549                    ; /String = "7634912753"
00401271   . E8 86010000    CALL <JMP.&kernel32.lstrlenA>            ; \lstrlenA
2007-5-10 06:58
0
雪    币: 281
活跃值: (182)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
54
!!!这个CM怎么回事?会有音乐!
楼上的人怎么没有提到这个?我把程序挂起了也有音乐出现,怎么也停不了音乐,也不知道在哪里出现 的?!!

这音乐是怎么回事啊?
2013-7-17 15:58
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
55
username: lidesaiwu
password: 906546750

新手學習中.還不知道如何推演算法!
2013-7-18 00:05
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
56
username:xuaimin
code: 670177451
2013-7-18 12:08
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
57
语言:C语言
平台:Win7 + Codeblocks
分析工具: OD + IDA

----------------------我是分割线--------------------------------------------------
#include <stdio.h>
#include <string.h>

int main()
{
    unsigned char a[40] = {0xAA,
                     0x89, 0xC4, 0xFE, 0x46, 0x78, 0xF0, 0xD0, 0x03, 0xE7, 0xF7, 0xFD, 0xF4, 0xE7, 0xB9, 0xB5, 0x1B,
                     0xC9, 0x50, 0x73, 0x00, 0x48, 0x90, 0x25, 0x00, 0xDC, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };

    char temp[10] = "qwer";
    unsigned char user[10];
    int userLen = strlen(temp);
    int index = 0;
    unsigned int res;
    unsigned char ch;

    for(int i=0; i<userLen; i++)
        user[i] = (unsigned char) temp[i];
    user[userLen] = '\0';

    index = 0;
    for(int i=1; i<=userLen; i++)
    {
        ch = user[i];
        user[i] ^= a[index];
        a[index] = ch;
        index++;
        if(index>=5)
            index -= 5;
    }

    index = 5;
    for(int i=userLen; i>0; i--)
    {
        ch = user[i];
        user[i] ^= a[index];
        a[index] = ch;
        index++;
        if(index>=10)
            index -= 5;
    }

    index = 10;
    for(int i=1; i<=userLen; i++)
    {
        ch = user[i];
        user[i] ^= a[index];
        a[index] = ch;
        index++;
        if(index>=15)
            index -= 5;
    }

    index = 15;
    for(int i=userLen; i>0; i--)
    {
        ch = user[i];
        user[i] ^= a[index];
        a[index] = ch;
        index++;
        if(index>=20)
            index -= 5;
    }

    for(int i=1; i<=4; i++)
    {
        for(int j=i+4; j<=userLen; j+=4)
            user[i] += user[j];
    }

    res = (user[4]<<24) + (user[3]<<16) + (user[2]<<8) + user[1];
    printf("%u\n", res);

    return 0;
}
2013-7-23 15:51
0
雪    币: 178
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
58


#include <stdio.h>
#include <string.h> 

typedef union
{
       int val_all;
       unsigned char val_[4];
}VAL;

int main(void)
{
       VAL val = {0}; 
       int i = 0, j = 0, m = 0;
       unsigned char a[512] = {0}, lenth = 0, key[1024] = {0};
       int b[4][5] = {{0xAA, 0x89, 0xC4, 0xFE, 0x46},
                                         {0x78, 0xF0, 0xD0, 0x03, 0xE7},
                                         {0xF7, 0xFD, 0xF4, 0xE7, 0xB9},
                                         {0xB5, 0x1B, 0xC9, 0x50, 0x73}};
       
       printf("Please input the name: ");
       gets(a);
       
       lenth = strlen(a);
       
       for(i = 1, j = 0; i <= lenth; i++, j++)
       {
               if(j == 5)
               j = 0;
               
               m = a[i], a[i] ^= b[0][j], b[0][j] = m;
       } 
       
       for(i = lenth, j = 0; i >= 1; i--, j++)
       {
               if(j == 5)
               j = 0;
               
               m = a[i], a[i] ^= b[1][j], b[1][j] = m; 
       } 
       
       for(i = 1, j = 0; i <= lenth; i++, j++)
       {
               if(j == 5)
               j = 0;
               
               m = a[i], a[i] ^= b[2][j], b[2][j] = m;
       } 
       
       for(i = lenth, j = 0; i >= 1; i--, j++)
       {
               if(j == 5)
               j = 0;
               
               m = a[i], a[i] ^= b[3][j], b[3][j] = m; 
       } 
       
       for(i = 1, j = 0; i <= lenth; i++, j++)
       {
               if(j == 4)
               j = 0;
       
               val.val_[j] += a[i]; 
       } 
       
       i = 0;
       while(val.val_all)
       {
               key[i++] = val.val_all%10+0x30;
               val.val_all /= 10; 
       }
       
       printf("the key is: ");
       for(i = strlen(key)-1; i >= 0; i--)
       putchar(key[i]); 
       
       return 0;
       
2020-3-15 19:03
0
雪    币: 42
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
59
switch ( a2 )
  {
    case 272u:
      v4 = LoadIconA(hModule, 0x1F6);           // 加载一个图标
      SendMessageA(hWnd, 128u, 0, v4);          // 将第二个参数的信息发送到第一个参数指定的窗口
      SendDlgItemMessageA(hWnd, 100, 197u, 0x55u, 0);// 把一个消息发送给指定的对话框中的控件,常用于初始化控件
                                                // 第三个参数是要发送的消息 第一个参数是窗口句柄
      sub_401441(hMem);
      break;
    case 273u:
想问一下这个hMem是用来干什么的
2020-5-20 16:18
0
雪    币: 19
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
GTZ
60
username:123456
password:894904543
2020-10-9 14:51
0
游客
登录 | 注册 方可回帖
返回
//