首页
社区
课程
招聘
[原创]我做的CrackMe, 大家来玩玩
发表于: 2011-4-30 12:12 6843

[原创]我做的CrackMe, 大家来玩玩

2011-4-30 12:12
6843
密码正确的话会出来一段有趣的文字
并退出程序

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (28)
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在11楼可见源码
可以不必下载这个压缩包了
上传的附件:
2011-4-30 12:14
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
money不多,但下来看看
2011-4-30 12:40
0
雪    币: 544
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
点了四次链接也没下载下来。晕
2011-4-30 12:48
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
密码是存在的,请各位任意摆弄
2011-4-30 18:38
0
雪    币: 90
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没有money,玩不起啊
2011-5-1 23:49
0
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
搬个凳子占位  真难找这个帖子
2011-5-2 17:46
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
等楼主出教程
2011-5-3 19:40
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
9
求bin,,,,,,,,
2011-5-3 22:02
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
没有money,玩不起啊
努力学习中》》》》》》》》》》》》》》
2011-5-4 13:27
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不多说了,贴上原码,大家继续努力
#include <windows.h>
#include <stdio.h>

__declspec(naked) int __stdcall
DeCode(int *input, int *output, int key1, int key2, int len)
{
__asm
{
	push        ebx  
	push        ebp  
	push        esi  
	push        edi  
	mov         ecx,dword ptr [esp+24h]  
	mov         esi,dword ptr [esp+1Ch]  
	mov         edi,dword ptr [esp+20h]  
	mov         ebx,dword ptr [esp+14h]  
	mov         ebp,dword ptr [esp+18h]  
	movd        xmm0,esp  
	lea         ebx,[ebx+ecx*4-4]  
	lea         ebp,[ebp+ecx*4-4]  
main_loop:
	mov         eax,dword ptr [ebx]  
	xor         edx,edx  
	div         esi  
	mov         eax,edx  
	mov         esp,edx  
	mul         eax  
	div         esi  
	mov         eax,edx  
	mul         esp  
	div         esi  
	mov         eax,edx  
	xor         edx,edx  
	div         edi  
	mov         eax,edx  
	mov         esp,edx  
	mul         eax  
	div         edi  
	mov         eax,edx  
	mul         esp  
	div         edi  
	mov         dword ptr [ebp],edx  
	sub         ebx,4  
	sub         ebp,4  
	dec         ecx  
	jne         main_loop
	movd        esp,xmm0  
	mov         eax,edx  
	pop         edi  
	pop         esi  
	pop         ebp  
	pop         ebx  
	ret         20
}
}

int main(int argc, char* argv[])
{
	static int data1[100] ={
			3460252782,

			4140273162, 2889576777, 2721531043, 4140951881, 628761624,
			858139359, 3277364450, 3550291914, 1465502053, 87620679,
			335782906, 3937827598, 429409994, 44091066, 3555553407,
			1019249883, 1603862792, 3729487318, 472139452, 1165438393,
			1164133342, 3830636316, 2514631860, 976854456, 3022753939,
			431544676, 3685163505, 215560178, 1634964885, 976854456,
			4135980964, 2820957603, 3108583232, 1121526665, 2281217956,
			3523509127, 3135945024, 876100493, 2079190612, 2953658047,
			3801531832, 1939824962, 2281217956, 3523509127, 2343527619,
			938702165, 2222618836, 816870255, 333376284, 1572104085,
			3451252135, 871811689, 2482742276, 2784154706, 3337250777,
			3404966627,

			1172085923, 364711231, 3516354369, 3349321698, 2276097040,
			1986263438
		};
	int data2[100];
	__int64 key;
	int key1, key2;
	char s[24];
	while(1)
	{
		printf("\r输入密码:");
		scanf_s("%s", s, 23);
		key = _atoi64(s);
		key1 = (int)key;
		key2 = key>>32;
		if (key1==0 || key2==0)
			goto wrong;
		__try
		{
			DeCode(data1, data2, key1, key2, 100);
			if (*(char*)data2 != 0x78)
				goto wrong;
			*data2 = (int)MessageBoxW;
			__asm
			{
				lea		eax, data2
				add		eax, 4
				call	eax
			}

			break;
		}
		__except(1)
		{
			goto wrong;
		}
wrong:
		MessageBoxW(0, L"密码错误!", 0, MB_ICONHAND);
	}

	return 0;
}
2011-5-4 20:33
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看来暂时没人做得出来

密码是
-19569936938295029
下次我做个像样点的crackme出来给大家
2011-5-7 23:58
0
雪    币: 58
活跃值: (274)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
订楼主了 继续加油
2011-5-8 00:07
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
14
看到这句:
DeCode(data1, data2, key1, key2, 100);

有没有 第二组答案......  我表示 我要膜拜了,这解密 找 key  我 等 菜菜很有困难...
2011-5-8 00:11
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
15
我用你的exe 显示密码错误
(请问有人是OK的吗?)

另外LZ可否给出编码函数?
2011-5-8 00:40
0
雪    币: 242
活跃值: (473)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
16
唔,晕死。本来准备回复另外一个帖子的,才发现已经被爆出来了。
to S大,LZ发的是 "小女孩和小男孩互相炫耀他们的玩具" FFBA793E:FC84210B
S大的F6D1E949从什么地方计算出来的?

我觉得这个暴力的枚举78结尾的话,还是有可能的。还没有测试没有确定,但之前一直在脑子里把第一个DWORD当成就是00000078。

本来想睡觉时候暴力跑一下78开始的 /:^|
LZ把字符串也放到这里面真可恶,不然有字符串的开始位置偏移就容易解开不少
2011-5-8 04:53
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
0x78只是拿来做校验
2011-5-8 08:30
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我只是来看看的
2011-5-8 08:41
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
19
原来不是解码错误
是文件被我改过
2011-5-8 08:50
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我弄了半天都没弄出来,觉得很丢人,都不敢来这儿回帖了,但是刚才我突然看到S大大也在这里我觉得很自然了,能让S大大降临的cm又岂是我能搞定的,哈哈。
2011-5-8 15:17
0
雪    币: 473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
路过路过路过,
2011-5-8 17:21
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
22
x大想太多也太抬举我了, 这个cm大家都可以动动脑的
二个DWord的穷举若无法将其中一个DWord猜到极小的范围内, 则不建议穷举.
我数学很差, 以下是无关数学的猜法.

1. 看到78我直接联想到 12345678 这个数字的成份大一点, 不过这不重要.
2. 将密文排序后最大值为 F6D1E949, 此时我猜 key2 > F6D1E949, 此范围仍嫌太大
3. 我猜算法是2层的RSA (事后得知我猜错了)
4. 我还须要猜中一组 DWord 的明文 : 考虑到lz会避开正常的函数头写法
  call eax 之前有这么一句:
  89 B5 40 FE FF FF mov [ebp-1C0], esi     ;MessageBoxW
  赌一下明文里面有 call [ebp-1C0] 或 mov reg32, [ebp-1C0]
  并且 FFFFFE40 这个值, 并刚好落在4的边界上
  若赌中的话, 则 key2 > FFFFFE40, 并为二素数之积. (只有56个值符合)
  (这点也被闪过了)
5. 因key2只剩56个, 所以此时已够我们穷举 key1 由 80000000~FFFFFFFF 奇数所有情况了.
6. 因范围已缩到很小了, 为避免遗失, 我们过滤时也只判断 if byte == 78

以上..几个小时可跑完, 符合的值不多. 解码后是错的.
因为我猜错了. 破解失败.

我也想听听x大的破法是什么? 跟数学相关的话也教一下吧.
2011-5-8 21:12
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
穷举的范围是很大的
key1和key2是不是素数都没关系
就算key1和key2都大于0xff000000,还差2^48个数要检验
就算得到了几十万组能得到0x78的数据,也很难有一组是正确的

附上编码中用到的数据
0x1C69486B
0xFFBA793E

0xA8581607
0xFC84210B

y = ((x^ 0x1C69486B % 0xFFBA793E) ^ 0xA8581607 ) % 0xFC84210B
例如
3460252782 =  
((0x12345678^ 0x1C69486B % 0xFFBA793E) ^ 0xA8581607 ) % 0xFC84210B
2011-5-8 22:14
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
我不会玩破解,最多只能爆破,对此题完全无能为力,只能对着src YY一下,一直想拜S大大学习如何分析算法
2011-5-10 15:14
0
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
楼主  实在是牛人呀   破解不了呀
2011-5-10 17:08
0
游客
登录 | 注册 方可回帖
返回
//