masa
|
分享:
▲
下面是引用akgkg于2005-02-18 03:42发表的 : 有出加密回去了的吗....可否告知呢.... 如果是改L2.EXE的那个我知道......我说的是正常不去改L2.EXE的
mm,有关Ver411的加密部分,说可以加密回去就是更改到L2.EXE,因为RSA Ver411 加密后再解密好像是不可逆(也不是说不能,要花粉久时间才能),其中原因如下,转对岸高手的帖子 --------------------------------------------------------------------------------------------------------------------------------- 天堂2到第二章已经经历了3个版本的本地加密策略.下面我们就来一一瞎侃 :p
ver1** =========================================================================== 其实也就只有ver111和ver121 它使用的是异或加密,什么是异或加密?这是最最简单高效的一种"加密"方法. 即: 1xor1=0 0xor0=0 1xor0=1 //ps: xor就是异或的意思 例如: 我们假设A是资料(明码),B是异或密匙,C是加密后的数据(暗码)
A 10011000 //资料(明码) B xor 01110001 //用密匙异或一次 ---------------- C = 11101001 //加密后数据(暗码) B xor 01110001 //用密匙再异或一次 ---------------- A = 10011000 //资料(明码)
ver111 KEY ASCII "AC" //真他妈短啊,得到它的方法很多,很多...我是用的异或0 ver121 档没有找到,算了,反正过时了.
ver2** ============================================================================ 其实也就只有ver211和ver212 这个版本使用的是blowfish加密演算法,what is blowfish?就是河豚啦!这是一种对称加密演算法,也只有一个密匙,加解密都用这个密匙,密匙长度可变,然后用这个密匙和两个矩阵盒进行计算... ...(算了,挺复杂的,网上有很多演算法教程和源代码可供参考),blowfish加密演算法依赖密匙安全,长度够长(暴力破解不了),不被泄漏(泄漏了就有了天2一章私服),但是它能够保证安全嘛?NO,因为用户端需要解密运算的啊,所以我们扒光用户端程式的衣服,耐心的跟踪一下就可以得到: Ver211 ASCII "31==-%&@!^+][;'.]94-" Ver212 ASCII "[;'.]94-&@%!^+]-31==" 这两个版本的密匙了! :>.
PS:一章封包密匙: ASCII "[;'.]94-31==-%&@!^+]" //嘿嘿NCsoft就只喜欢这几个字母
ver4** =========================================================================== 好像就看到了ver411 这个版本给我的感觉是NCsoft觉醒了,但是..后面再说;这次是明文->ZLIB->RSA->密文.Zlib是一种非常好的档流压缩元件,网上有得下载,直接用就行了,它有MAX,FAST,DEFAULT三种压缩率,经对比知道NCsoft用的是DEFAULT压缩的.重要的是RSA加密演算法,也来简单介绍一下,RSA加密演算法是一个非对称加密演算法,存在公匙和私匙,很多CA使用这种演算法.公匙顾名思义就是可以公开的,给大家加密用的,一般很短(但是NCsoft这个长,***很长,估计1020位以上),私匙用来解密的,一般不公开,通常很长(但是NCsoft这个短,就是"1D").不多说,扒光用户端程式的衣服,耐心跟踪会得到下面资料: 0041B100 30 30 30 30 30 30 31 64 00 00 00 00 00 00 00 00 0000001d........ 0041B110 38 63 39 64 35 64 61 38 37 62 33 30 66 35 64 37 8c9d5da87b30f5d7 0041B120 63 64 39 64 63 38 38 63 37 34 36 65 61 61 63 35 cd9dc88c746eaac5 0041B130 62 62 31 38 30 32 36 37 66 61 31 31 37 33 37 33 bb180267fa117373 0041B140 35 38 63 34 63 39 35 64 39 61 64 66 35 39 64 64 58c4c95d9adf59dd 0041B150 33 37 36 38 39 66 39 62 65 66 62 32 35 31 35 30 37689f9befb25150 0041B160 38 37 35 39 35 35 35 64 36 66 65 30 65 63 61 38 8759555d6fe0eca8 0041B170 37 62 65 62 65 30 61 31 30 37 31 32 63 66 30 65 7bebe0a10712cf0e 0041B180 63 32 34 35 61 66 38 34 63 64 32 32 65 62 34 63 c245af84cd22eb4c 0041B190 62 36 37 35 65 39 38 65 61 66 35 37 39 39 66 63 b675e98eaf5799fc 0041B1A0 61 36 32 61 32 30 61 32 62 61 61 34 38 30 31 64 a62a20a2baa4801d 0041B1B0 35 64 37 30 37 31 38 64 63 64 34 33 32 38 33 62 5d70718dcd43283b 0041B1C0 38 34 32 38 66 31 33 38 37 61 65 63 36 36 30 30 8428f1387aec6600 0041B1D0 66 39 33 37 62 66 63 37 62 62 37 32 34 30 34 64 f937bfc7bb72404d 0041B1E0 31 38 37 64 33 61 39 63 34 33 38 66 31 66 66 63 187d3a9c438f1ffc 0041B1F0 65 39 63 65 33 36 35 64 63 63 66 37 35 34 32 33 e9ce365dccf75423 0041B200 32 66 66 36 64 65 66 30 33 38 61 34 31 33 38 35 2ff6def038a41385
RSA d HEX = $1D //传说中的私匙,因为用户端需要解密,所以它肯定存在,找到了. RSA n HEX = $8c9d5da87b30f5d7cd9dc88c746eaac5bb180267fa11737358c4c95d9adf59 dd37689f9befb251508759555d6fe0eca87bebe0a10712cf0ec245af84cd22e b4cb675e98eaf5799fca62a20a2baa4801d5d70718dcd43283b8428f1387aec 6600f937bfc7bb72404d187d3a9c438f1ffce9ce365dccf754232ff6def038a 41385 //模数,加解密都要用的.1024位 :<
有了上面的d和n我们就可以做出解密过程,先看看解密公式: m=c^d mod n m 明文 c 密文 d 私匙 n 模数
我们要做ver411的加密程式,需要什么?ZLIB,没有问题网上有开发包下载,另外一个就是RSA,演算法开发包网上也有下载,但是我们来看看加密演算法的公式: c=m^e mod n c 密文 m 明文 e 公匙 n 模数 我们缺少e啊,首先我们想想这个e在哪里?用户端有嘛?没有,因为用户端根本就不需要加密,我个人认为服务端也不需要加密,这个东西只有NCsoft有(sina有没有啊?如果本地化是sina做的,估计就有),天堂2二章的服务端和用户端都不会有e被我们跟踪到,所以直接找到公匙e的可能性,我认为很小很小.
那么我们暴力破解可能嘛?理论可能,因为我们有n啊,根据RSA演算法公式: n=pq //p和q是两个质数,为了达到最大安全性,一般也是等长的. ps:我拿人头担保sina都没有p和q 我们只要分解出来p和q,再根据公式: ed=1 mod (p-1)(q-1) d= e^-1 mod (p-1)(q-1) 任何一个就可以求出e 我们要做的就是大数分解n,得到p和q,有工具RSATOOL可以帮忙做,100多位的n分解起来只要不到10秒钟,但是,但是(当我看到1024位的n的时候,我马上放弃了,我个人认为RSA安全临界为512位,小于512位的暴力分解可以试试,大于512位的,洗了睡觉.),汗...估计要来个万人联机还差不多,否则等他三章,四章出来了,我们也分解不出来这个p和q.
难道天2二章就此终结了嘛? ============================================================================= NO,我个人认为NCsoft搞这么复杂是白做功,因为根本就不需要加密程式的,大家看看二章的system目录,不是还有ver111版本的档嘛,说明了NCsoft程式是相容老版本的,大家只要解密了ver411的档,修改完毕再用老版本加密,呵呵,如ver111加密试试,看程式是不是只认档开头的L i n e a g e 2 V e r ×××来决定用什么解密 :p 我就不相信NCsoft固定了哪个档用哪个版本的解密,否则也不用在档开头注明啊!
后话 ============================================================================= 写这个东西,只是技术研究,没有其他意思. 时间、精力以及个人知识都有限,难免错误,望指正,别骂我! 所有版本加密档后面都有20位元组的东西没有研究,估计是一种HASH校验或加密尾码,瞎猜的! 只是为了写这篇文章,过程中我没有去跟踪用户端,直接跟踪L2Decrypt和l2xDecryptC2取得的资料,感谢原作者的研究,没有这两个程式的参考,绝不可能一夜写好这篇文章. 天亮了,我去睡了.希望起床时候,已经有二章服务端下载了. :D ----------------------------------------------------------------------------------------------------------------------------------------- 所以后来有人就直接向L2.EXE开刀,因为路不转人转,既然不能复元加密,就另新增加编码规则,让L2.EXE 能读取...... 下面是引用akgkg于2005-02-18 03:42发表的 : 还有改图问题是一定可以的...如果懂如何改图..可以不用去改***.TXT 去改***.utx的内容图片就可以了..因为他的加密一样是211 .......
至于akgkg大大您可能误会那些要求改a图人的意思了,他们是只想要下载人家改完后的那种脱衣补丁 而非自己改图,第一:虽然图档的加密只有是Ver121(非211),但是我想除非是真的对改图粉有兴趣的人 否则粉难自己动手改图档吧~因为太麻烦,要先解码后再用UTP把所要修改的图档分离出,然后再用 Photoshop(需要另增加一个外挂来修改)改图,最后再用UTP输进去把原来的给覆盖.... 所以大多数的人都是想用别人改完美的utx档,搭配更改(armorgrp.txt或chargrp.txt)路径,所以我才会谈到 需要Ver411部分...以上只是稍微说明一下...就酱^^ 以下是我刚特地分离出女白妖穿夏龙装的上衣Skin,给那些想改图的人参考看看^^
[ 此文章被masa在2005-02-18 09:37重新编辑 ]
此文章被评分,最近评分记录财富:50 (by akgkg) | 理由: 精华区鼓励+50 | |
|
|
|
|
x0
[1 楼]
From:台湾中华电信
| Posted:2005-02-18 09:17 |
|
|
|