首页
社区
课程
招聘
[原创]新的加密器公开测试,欢迎技术切磋
发表于: 2007-11-28 09:09 7073

[原创]新的加密器公开测试,欢迎技术切磋

2007-11-28 09:09
7073
诸位大侠:

  刚写的一个新的加密器,现在诚邀大家破解,检验一下加密的强度。

  测试对象:1个小游戏 SumItUp CrackMe.rar (3.2M)
 
  我采用的加密限制:

    [1] 20秒的延迟启动;(NAG screen)
    [2] 4 分钟的游戏时间;(4 min lifetime)

 要求:

    除去上述限制 

备注:

(1) 原来的那个版本的确有兼容性的问题,我已经修正了所有已知的问题,感谢所有回帖的朋友!
(2) 此为纯粹技术切磋和测试,不是征求破解,版主不要误会封贴;

谢谢!

y10swd@yahoo.com

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 226
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
你想测试的是那个Metamorphism的强度吧。
2007-11-28 10:45
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
3
哪有这么大的测试,不下了。
2007-11-28 10:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
回2楼:

目前测试的不是Anti的强度,关于anti的方法很多,我基本没有放进去,所以你可能在启动代码遇不到任何的anti, 也没有用数字签名。

希望测试的是:Anti-Dump & PE 重建

提示:

【1】游戏中使用的多个的DLL以及所有数据都被加密打包,运行时只有一个Exe文件;那个NAG 对话框是我以DLL方式wrap进的。
【2】双进程模式;
【3】所有资源被加密并且动态模拟;
【4】IAT/EAT重定向;Relocation删除;
【5】代码片断移位,动态运行;

从破解的角度可能不需完整恢复游戏的原貌,只需Patch掉限制。但最好哪位大侠可以指出可以自动脱壳、Pe rebuild的方案.

另外,真正加密时需要开发者和壳的互动,我这里支持SDK的,但这个小游戏在Binary基础上仅添加了代码移位。

我现在正在把各种Anti Tricks(几十种)加进来,就像撒胡椒面一样,随机地在内存里排列组合,布置一番,起到阻碍Cracking的作用,但是对真正的Cracker, 仅靠它们是没有用的,结构设计是最主要的。

回3楼:

抱歉,这是我手头能找到的最小的游戏了(使用多个DLL/数据),我测试的最大的游戏7.6GB.
2007-11-29 03:53
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
3.2M是够大的
2007-12-2 21:18
0
雪    币: 209
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
下载试一下再说.
2007-12-2 23:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大家对CrackMe的大小似乎很敏感,3.2M的软件现在好像不算大软件了,除非网速还是上个世纪的速度。不解。

为什么大家只愿意找个迷你型的CrackMe自娱自乐,而不想真正地尝试破解全功能的软件呢?

其实软件加密是个系统工程,各个手段需要综合应用,正如打仗,各个兵器都有利弊,需要协同作战。我原来破解过很多软件,开始时很为得意,现在觉得很肤浅,好的加密是很难实现的,需要付出很多的精力,也可以学到很多的底层知识。一年来的业余时间研究,收获很大,大家现在测试的只是个原型系统,所以没有添加代码变形和隐藏的花招,但是结构性的东西逐渐成熟。其中,代码移位技术化了我不少的功夫,现在可以将任意长度的复杂代码(包括异常处理逻辑)从原有的代码段抠出,然后动态地在随机的内存地址执行,这是个很强的功能,我现在正在实现服务器的远程执行,这样客户端的程序永远都是不完整的。另外,软件的虚拟化技术也和加密有着密切的联系,MoleBox是个很好的打包器,但是对加密的考虑不够,导致打包的DLL较容易被Dump。在我的加密体系里PE文件的诸要素都被纳入保护的范畴,资源的保护是通过API的模拟完成,原来的PE格式完全被删除,DLL的加载完全是内部完成的,其中要模拟TLS的行为,SideBySide的方式,COM的模拟注册等等细节,使用LordPe单从外部来看,你是不知道究竟使用了哪些DLL,加载在何处,所以内存Dump和PE修复会遇到很多麻烦。

如果再把当前所知的其它技术(代码变形/混合/动态校验...)大量、随机地揉和进来,相信对任何的破解者都不是一个简单的挑战。
2007-12-3 16:34
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
“我现在正在实现服务器的远程执行,这样客户端的程序永远都是不完整的。”

最简单的实现是webservices,不过得保证服务器的稳定,因为不排除被ddos的可能性(把人逼急了日翻你丫的- -);
可能的一种作法是pgp,每个用户一个私钥,用以获得执行webservices权限;至于防止ddos影响软件正常使用,另外允许注册用户本地缓存代码是一个方法,不过这样就给了破解可乘之机;这时可以的作法是增加可以本地缓存的代码数量,使程序很难被cache全。
再配合加密狗中存放代码更好。。。

不过,你这时到底是在做软件的功能还是单纯以加密为乐- -?
失去了软件本身的功能优势,在加密上花再多精力也是白费
2007-12-3 17:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
给我一套正版啊
2007-12-3 20:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
回8楼:

加密器是在MachineCode层面对没有源代码的被加密模块实施加密,被加密程序也许根本就是Local的,不知道它的部分代码块被在远程执行,一切对开发者都是透明的。网络的通信可以基于更高效的网络协议,而不一定是WebService(好像现在一提到网络编程,很多人就习惯性地想到WebService),对基于网络的应用程序或游戏这种工作方式并不过分。毕竟,只是最核心的部分算法(需要Developer在Source/Map中参与指定,或者采用内部工具随机获取)才需要网络远程执行,比如密码、许可证验证,Key发放等等。本地Cache是一个提高效率的办法,当然不能Cache全。DDOS攻击是任何服务器都面临的潜在威胁,不过如果将来客户选择了服务器版本,我可以不提供服务器的物理支持,让客户自己解决,要么多付些服务费,我帮它们解决。

每种方法都有其局限性,综合起来取长补短,就构成一个强大的防御体系。

我业余研究加密软件,并以此为乐。软件行业有分工,有人专做数据库,有人专做病毒,只要每个人在工作中找到快乐,且以此为乐,就是很幸运的事。想想又有多少人为了糊口在违心地天天干着不喜欢的工作。本人主业做三维游戏开发,也是很快乐的事。
2007-12-4 02:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
恩......正在研究......有些眉目了...........
(PS:CALL真多啊@_@)
2007-12-4 20:43
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
每种方法都有其局限性,综合起来取长补短,就构成一个强大的防御体系。
2007-12-16 22:37
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
......有些眉目了...........
2007-12-16 22:37
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
CALL真多啊
2007-12-16 22:37
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
欢迎技术切磋
2007-12-16 22:38
0
游客
登录 | 注册 方可回帖
返回