首页
社区
课程
招聘
[原创]CrackMe 爆破, 有没有人来试试。
发表于: 2014-11-26 14:18 7423

[原创]CrackMe 爆破, 有没有人来试试。

2014-11-26 14:18
7423
-o- 只要爆破就可以了.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
一个CrackMe就这么大?**********
2014-11-26 15:27
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
。。。
2014-11-26 15:30
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
...........
明显是个vm........  
还有你字可以写清楚吗....
2014-11-26 15:30
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
就算不加VM 一个裸MFC也有3239KB, 我这个3322KB, 我请问你哪里大了?
2014-11-26 15:44
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
我只是不习惯小东西大块头,所以才瞎说了一句,并不是实心想攻击你,别太在意。
就因为这样的事,我才拒绝深入学习Delphi和易……。
2014-11-26 22:01
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
7
我也是懒得花时间弄就随便用MFC做的界面嘛. 如果要小的话, 可以使用masm32做, 就真的小了。
只是没必要嘛, 只是个输入而已嘛. 核心算法就80多行汇编而已..
2014-11-26 22:28
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
8
写个cm没必要用MFC吧,win32对话框就可以了.
2014-11-26 22:36
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
9
有什么不一样吗?什么时候CM也要纠结PE文件的大小了。。
2014-11-26 22:41
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
10
原 key 是 63777761 吗 ?

爆:
PhyOff = 001f9d:   BC 改成 AC  
PhyOff = 1b7fc9:   CD 改成 2A

请问这壳未来要商业化吗 ?
2014-11-27 21:06
0
雪    币: 4938
活跃值: (977)
能力值: ( LV9,RANK:175 )
在线值:
发帖
回帖
粉丝
11
很好,不错
2014-11-28 08:45
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
12
这个只是写着玩的, 不可能用来商业化。

公布源码:
VOID __declspec(naked)Code(VOID){

        __asm push ebp;
        __asm mov ebp, esp;
        __asm sub esp, 0x84;

        SYS_PROTECT_BEGIN('s', 'y', 's', 'p', 'r', 'o', 't', 'c', 't');

        __asm push 0x10000;
        __asm call dword ptr[ebp + 0x8];
        __asm add esp, 0x4;
        __asm mov esi, eax;

        __asm mov eax, dword ptr[ebp + 0x10];

        __asm mov edx, dword ptr[esi + 0x2334];
        __asm sub dword ptr[esi + 0x2334], edx;
        __asm movzx edx, byte ptr[eax];
        __asm add dword ptr[esi + 0x2334], edx;

        __asm mov edx, dword ptr[esi + 0x2987];
        __asm sub dword ptr[esi + 0x2987], edx;
        __asm movzx edx, byte ptr[eax + 1];
        __asm add dword ptr[esi + 0x2987], edx;

        __asm mov edx, dword ptr[esi + 0x3a34];
        __asm sub dword ptr[esi + 0x3a34], edx;
        __asm movzx edx, byte ptr[eax + 2];
        __asm add dword ptr[esi + 0x3a34], edx;

        __asm mov edx, dword ptr[esi + 0x3ea3];
        __asm sub dword ptr[esi + 0x3ea3], edx;
        __asm movzx edx, byte ptr[eax + 3];
        __asm add dword ptr[esi + 0x3ea3], edx;

        __asm mov edx, dword ptr[esi + 0x4e54];
        __asm sub dword ptr[esi + 0x4e54], edx;
        __asm movzx edx, byte ptr[eax + 4];
        __asm add dword ptr[esi + 0x4e54], edx;

        __asm mov edx, dword ptr[esi + 0x4e34];
        __asm sub dword ptr[esi + 0x4e34], edx;
        __asm movzx edx, byte ptr[eax + 5];
        __asm add dword ptr[esi + 0x4e34], edx;

        __asm mov edx, dword ptr[esi + 0x63b4];
        __asm sub dword ptr[esi + 0x63b4], edx;
        __asm movzx edx, byte ptr[eax + 6];
        __asm add dword ptr[esi + 0x63b4], edx;

        __asm mov edx, dword ptr[esi + 0x8ade];
        __asm sub dword ptr[esi + 0x8ade], edx;
        __asm movzx edx, byte ptr[eax + 7];
        __asm add dword ptr[esi + 0x8ade], edx;

        __asm mov dword ptr[esi + 0x5433], 0x1;

        __asm xor edi, edi;
        __asm jmp __for_cmp;
__for_start:
        __asm add edi, 0x1;
        __asm add dword ptr[esi + 0x5433], 1;
__for_cmp:
        __asm mov eax, 1000;
        __asm sub eax, dword ptr[esi + 0x2334];
        __asm cmp edi, eax;
        __asm je __for_end;
        __asm jmp __for_start;
__for_end:

        __asm sub dword ptr[esi + 0x5433], 947;
        __asm cmp dword ptr[esi + 0x5433], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x2334], 0x36;
        __asm cmp dword ptr[esi + 0x2334], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x2987], 0x33;
        __asm cmp dword ptr[esi + 0x2987], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x3a34], 0x37;
        __asm cmp dword ptr[esi + 0x3a34], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x3ea3], 0x37;
        __asm cmp dword ptr[esi + 0x3ea3], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x4e54], 0x37;
        __asm cmp dword ptr[esi + 0x4e54], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x4e34], 0x37;
        __asm cmp dword ptr[esi + 0x4e34], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x63b4], 0x36;
        __asm cmp dword ptr[esi + 0x63b4], 0;
        __asm jne __if_else;
        __asm sub dword ptr[esi + 0x8ade], 0x31;
        __asm cmp dword ptr[esi + 0x8ade], 0;
        __asm je __if_true;

        __asm add dword ptr[esi + 0x2334], 0x36;
        __asm add dword ptr[esi + 0x2987], 0x33;
        __asm add dword ptr[esi + 0x3a34], 0x37;
        __asm add dword ptr[esi + 0x3ea3], 0x37;
        __asm add dword ptr[esi + 0x4e54], 0x37;
        __asm add dword ptr[esi + 0x4e34], 0x37;
        __asm add dword ptr[esi + 0x63b4], 0x36;
        __asm add dword ptr[esi + 0x8ade], 0x31;

__if_true:

        __asm add dword ptr[esi + 0x2334], 0x36;
        __asm add dword ptr[esi + 0x2987], 0x33;
        __asm add dword ptr[esi + 0x3a34], 0x37;
        __asm add dword ptr[esi + 0x3ea3], 0x37;
        __asm add dword ptr[esi + 0x4e54], 0x37;
        __asm add dword ptr[esi + 0x4e34], 0x37;
        __asm add dword ptr[esi + 0x63b4], 0x36;
        __asm add dword ptr[esi + 0x8ade], 0x31;

        //
        __asm mov al, byte ptr[esi + 0x2334];
        __asm mov byte ptr[esi], al;
        __asm mov al, byte ptr[esi + 0x2987];
        __asm mov byte ptr[esi + 1], al;
        __asm mov al, byte ptr[esi + 0x3a34];
        __asm mov byte ptr[esi + 2], al;
        __asm mov al, byte ptr[esi + 0x3ea3];
        __asm mov byte ptr[esi + 3], al;
        __asm mov al, byte ptr[esi + 0x4e54];
        __asm mov byte ptr[esi + 4], al;
        __asm mov al, byte ptr[esi + 0x4e34];
        __asm mov byte ptr[esi + 5], al;
        __asm mov al, byte ptr[esi + 0x63b4];
        __asm mov byte ptr[esi + 6], al;
        __asm mov al, byte ptr[esi + 0x8ade];
        __asm mov byte ptr[esi + 7], al;
        __asm mov byte ptr[esi + 8], '^';
        __asm mov byte ptr[esi + 9], 'y';
        __asm mov byte ptr[esi + 0xa], 'e';
        __asm mov byte ptr[esi + 0xb], 's';
        __asm mov byte ptr[esi + 0xc], '!';
        __asm mov byte ptr[esi + 0xd], 0;
        __asm push 0;
        __asm push 0;
        __asm push esi;
        __asm push 0;
        __asm call dword ptr[ebp+0x14];

        __asm jmp __out_code;

__if_else:

        __asm mov byte ptr[esi], '4';
        __asm mov byte ptr[esi + 1], '2';
        __asm mov byte ptr[esi + 2], '2';
        __asm mov byte ptr[esi + 3], '3';
        __asm mov byte ptr[esi + 4], '8';
        __asm mov byte ptr[esi + 5], '7';
        __asm mov byte ptr[esi + 6], '1';
        __asm mov byte ptr[esi + 7], '2';
        __asm mov byte ptr[esi + 8], '-';
        __asm mov byte ptr[esi + 9], 'n';
        __asm mov byte ptr[esi + 0xa], 'o';
        __asm mov byte ptr[esi + 0xb], '!';
        __asm mov byte ptr[esi + 0xc], '!';
        __asm mov byte ptr[esi + 0xd], 0;
        __asm push 0;
        __asm push 0;
        __asm push esi;
        __asm push 0;
        __asm call dword ptr[ebp+0x14];

__out_code:

        __asm push esi;
        __asm call dword ptr[ebp + 0xc];
        __asm add esp, 0x4;

        SYS_PROTECT_END();

        __asm add esp, 0x84;
        __asm pop ebp;
        __asm ret;
}
2014-11-28 10:37
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
13
谢谢大神围观了一次。
2014-11-28 10:38
0
雪    币: 51
活跃值: (30)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
14
忘记求教大大, 脱壳的话感觉要多长时间, 就这点代码。
我严格按照 instructs -> handler 写的。
而且很多指令都没有虚拟化的方式写。
如 : push 就是 push
lea  就是 lea
mov 就是 mov
2014-11-28 10:44
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
学习中。。。。。
2014-11-28 11:01
0
雪    币: 218
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
爆:
PhyOff = 001f9d:   BC 改成 AC  
PhyOff = 1b7fc9:   CD 改成 2A
2014-11-29 20:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
求出教程
2014-12-9 22:47
0
游客
登录 | 注册 方可回帖
返回
//