3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 11805|回复: 38
打印 上一主题 下一主题

[原创] 查了一些关于最新加密的资料(根据yyffance,山东大汉的帖子做了更新)

  [复制链接]

3

主题

185

帖子

225

积分

中级玩家

Rank: 3Rank: 3

贡献度
7
金元
1971
积分
225
精华
0
注册时间
2005-7-19
跳转到指定楼层
主题
发表于 2014-11-3 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuyihunter 于 2014-11-5 10:55 编辑

声明: 本人并不是破解专家, 只是根据网上资料,再加上一点普通的密码学知识的猜想罢了  

1. 什么是CEG加密?
Custom Executable Generation (CEG)
其核心原理的是当你用steam下载一个exe以后, 这个exe直接就会被加密, 只有用你的steam的账户才能解密。 (绑定账户)

2. 64bit 和 32bit 的差距有多大?
32 bit =  2的31次方 ,  最大可以生成一个略大于20亿的整数, 2 后面加9个零
64 bit =  2的63次方,   最大可以生成一个略大于9万亿亿整数, 9后面加18个零.   

3. 世界上有没有破解不了的密码?
当然有,而且是你每天都在用的。你的网络数据包加密,这种加密是用的1024 bit的RSA加密, 用超级电脑(只有军方能有的呢种电脑吧)对单一数据包分析,大概也要算3 -  5年。

4. 64位的破解需要多少时间?
这个不好说, 我不是游戏破解的专家, 而且破解密码的时间取决于游戏是用什么算法加密的。  而且前提是你要知道他是用什么方法加密的, 如果不知道的话只能一种一种去试。 看似64bit只比32bit多了9个零, 但是从组合的数量上来说是翻了很多很多倍,如果一个个组合去试,应该会要很久吧。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(更新一)
根据yyffance的帖子, 确实破解程序和破解密码是不一样的。
破解程序的的基本原理是, 反编译exe文件.  一般英文称之为(disassembler), 其意思就是把机器语言翻译成汇编语言

机器语言大概长这个样子
0101010101111(以前不是有个笑话说,有人用电话编写程序吗? 就是输入010101.  你的电脑就是通过读101010来工作的)

汇编语言大概长这个样子(底层语言, 指示你的电脑如何工作)

mov eax , 4
mov ebx , 1
lea ecx , [hello]
mov rdx , 13
int Ox80

普通程序员使用的编程语言大概长这个样子 (至少是让人类能读懂的语言)
int a,b
int c = a + b;


    一般来说破解程序,就是找到程序里验证账户的呢段代码, 然后直接把呢段代码替换成自己的代码, 这样就可以跳过验证步骤。 但是因为破解者所能看到的只是汇编语言(mov eax , 4) , 这需要破解者对游戏系统非常了解, 而且非常依赖破解经验。广大受益玩家需要对辛勤工作的破解者表示敬意, 毕竟看汇编代码真的很痛苦。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

(更新二)
根据山东大汉的回复 (感谢山东大汉提供资料),不知道fifa15的加密技术是否也和这个类似。

64位加密可能是对应的代码混淆技术, 一般英文称之为 “Code morphing”.   是一种保护反编译的技术。 就是把反编译出来的代码加以混淆, 但是程序仍能正常执行.
虽然这种方法会对程序造成负担,但是只需要对验证账户信息的那一段做混淆即可,不会对程序效率有太多影响。
如果是类似这种加密, 其实还是密码破解, 你必须要找到具体混淆的公式, 不然无法破解整个系统。 这其实是相当困难的一种破解, 也可以理解为什么花了这么多时间还没破解出来。需要破解者有数学和编程的双重知识,才能比较好的破解。这种代码混淆都是有特征可循的, 只要破解了一次就一劳永逸了.  

为了能直观理解。 举个例子

程序员写的代码
{$I crypt_start.inc}
  WriteLn('Test OK');
{$I crypt_end.inc}

汇编代码
move eax, [$004092ec]
mov edx, $00408db4
call @WriteOLString
call @ WriteLn
call @_IOTest

混淆以后的汇编代码
xchg [dei], dl
db 3
add al,&30
xlat
call +$000025b2
jmp +$0000eec
call +$00000941
or al,$4a
scasda
........

混淆过后的汇编代码其实还是汇编代码, 只是普通人已经完全没人办法看明白这些代码的意义了, 要修改这段代码更加是不可能了。

资料来源:http://www.strongbit.com/execryptor_inside.asp
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上都是根据广大群众智慧的一些推测,我会继续查阅相关资料,争取弄明白, 同时也恳请专业破解者来写点科普文章。








评分

6

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-11 14:44 , Processed in 0.025811 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表