首页
社区
课程
招聘
[原创]一个简单的游戏引发的CrackMe
发表于: 2009-3-2 21:11 5253

[原创]一个简单的游戏引发的CrackMe

2009-3-2 21:11
5253
  嘿嘿,我又来了,再次带给大家一个简单的游戏。
  欢迎大家积极参与!

[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费
支持
分享
最新回复 (13)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
沙发一个 ,先
2009-3-2 21:16
0
雪    币: 295
活跃值: (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
1234567890
114499
2009-3-2 22:20
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
4
  不要只给出个注册码,我是作者,我也知道注册码,嘿嘿,还请findlakes女士指点指点如何找到代码位置和分析算法的为是!
  最好能给出教程,因为我也在学习。
2009-3-2 22:25
0
雪    币: 295
活跃值: (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
我蒙出来的啊
2009-3-2 22:26
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
6
  你蒙出来的?! 你可以去买彩 票了!哪位高手知道如何分析的,还请给出思路。
2009-3-2 22:30
0
雪    币: 295
活跃值: (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
就断在 40128d 那就行了呗
2009-3-2 22:34
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
8
  还请给出个思路吧,你是怎么找到此处断点的?是怎么分析的?或者有知道的高手也请指点一下,本人感激不尽!
2009-3-2 22:37
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
userName: 1244444499
password: 114499

对GetWindowText下断点,到达获取密码的地方,再对密码地址下内存访问断点,这样就可以到达算法的关键代码
2009-3-2 23:38
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
10
  嗯,说得很对,的确是这样的。 呵呵,我自己写的CM,自己都不知道如何下断了。
2009-3-2 23:57
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
这次应该没名字了吧

n^2 : 1,4,9,16,25,36,49,64,......

假设 username 长度为 20 , 将会用到 1,4,9,16 (因不可超过20)
各加  30h :
   1h+30h = '1'
   4h+30h = '4'
   9h+30h = '9'
  10h+30h = '@'
所以序号奇位为 149@
  序号偶位为 wxyz  可乱填,只要配得上username的第1,4,9,16字符即可
12345678901234567890
--------------------
w23x5678y012345z7890   <- username
1w4x9y@z               <- SN

w--x----y------z----
PS. userame长度最小要10
------------------------------

突然想到一种乱掰的规则. 前提是只允许数字
...我猜你名字第1个字符是w
       第4个字符是x
       第9个字符是y
        .....
2009-3-3 01:04
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
12
 游戏而已,sessiondiy大侠何必计较呢,呵呵,你不来多没意思啊?!
    这个游戏的确是有名字:名字叫“猩猩点灯"。(百度上一搜一大片)
 N个猩猩与N个灯(编号从1...N),灯初始为熄灭状态,猩猩从1号开始对它编号倍灯的灯进行开关,比如1号猩猩,能打开所有的灯,2号猩猩只能在此基础上关掉2,4,...2K的灯,依次类推,求N个猩猩走过一趟以后还亮着的灯的编号。

关键代码如下:

#include "stdafx.h"
#include "windows.h"
#include <iostream.h>
#include "conio.h"
void main()
{
        long k, i = 0, j = 0, n = 0;
        cout<<"input number k:\r\n";
        cin>>k;
        BOOL *lamp = new BOOL[k+1];
        memset(lamp, 0, sizeof(BOOL)*(k+1));
       
        for (j=1; j<=k; j++) //猩猩
        {
                for (i=1; i<=k; i++) //灯
                {
                        if ( 0== i%j) lamp[i]=!lamp[i];               
                }
        }
        for (i=1; i<=k; i++)
        {
                if (lamp[i])
                {
                        n++;
                        cout<<i<<" ";
                }
               
        }
        delete lamp;
        if (n > 0) cout<<"亮灯数为:\r\n"<<n;

}

 我的解法是比较易懂,但算法复杂度较高。呵呵,其实就是k^2不小于N即可。
2009-3-3 08:22
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
13
没听过这么好玩的游戏
你上面说的好像只是开头的 n^2 而己
后面你加的 ?

忘了讲...
你的编程有待加强. 发的CM大多有bug
这个CM第2次注册成功会崩溃
2009-3-3 08:45
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
14
  呵呵,是这样的,多谢大侠赐教。每次编好以后就直接上传了,并没有进行细致测试,以后注意了!
  经研究,发现出现Access Voliation的原因是由于采用自定义消息产生的消息框阻塞了主线程的消息循环,导致数据的清除工作不能正常进行。解决方法:用新线程来产生消息。
  现在任凭你按多少下的Game begin也不会崩溃了,要是再崩溃,我就要崩溃了!
  这一次为了大家方便,将处理函数集中在OnOk()函数中了,难度应该降低不少。
上传的附件:
2009-3-3 09:29
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册