慕容玉舒 慕容玉舒
些许的相同与不同,那么最后的结局是?
关注数: 18 粉丝数: 27 发帖数: 1,074 关注贴吧数: 41
冥王星2006年被除名 科学家希望恢复其行星的称号 据俄罗斯媒体《共青团真理报》报道,科学家们希望恢复冥王星行星的称号。冥王星于2006年从太阳系九大行星中被除名,因为当时发现的一系列天体在大小和质量上都不逊色于它。   在布拉格举行的国际天文联合会的会议上对“行星”做出了定义,来自不同国家的天文学家达成一致:行星是围绕着恒星转的天体,行星需具有一定质量,而且质量要足够的大使得自己近似于圆球状,冥王星不符合第三个条件——轨道附近不能有小天体。冥王星处在太阳系的边缘——所谓的柯伊伯带上,而这个柯伊伯带上有成千的太阳系形成后留下的小天体。   然而,不是所有人都同意将冥王星降为“矮行星”。8年来关于冥王星的地位一直都引起热烈的讨论,参加讨论的也不仅仅是天文学家。在美国的伊利诺伊州——发现冥王星的天文学家克莱德·汤博的出生地,几年前甚至把3月13日——宣布发现冥王星的日子称为冥王星日。   在这周,美国的科学家们聚集到了哈佛·史密森天体物理中心,他们听取了支持和反对恢复冥王星行星称号的声音,最后通过决议希望取消八年前国际天文联合会的决定。哈佛史密森天体物理中心是天文学界非常权威的机构,但是仅仅是美国科学家的一个愿望不能让冥王星重新成为“行星”。这需要在国际天文联合会明年举行的会议上才能做出决定。   《每日邮报》写道,支持恢复冥王星恢复行星称号的人们希望,到那表决时会有从就快到达冥王星的“新地平线号”探测器上传回来的新的数据,能说服人们承认冥王星是太阳系的第九大行星。
【收山之作】用yourdiary为例 学习KRKR2 XP3加密静态分析 转 我觉得问题在于很多商业KRKR系统都是加密过的数据,今天作为收山之文,谈下XP3加密分析和封包算法 今天我们分析的游戏是《yourdiary》,也是前久汉化组来求破解的游戏。 加密VS解密 不管KRKR还是.net 还是JAVA,以及android,其加密解密方法基本差不多,就是HOOK相应函数或者提供相应接口就OK。 无外乎解密存在两种方法 1、动态HOOK 然后内存DUMP 2、静态分析 举例: 1、动态HOOK xp3dumer 2、静态分析 Crass 我们用Crass解包直接解包,提示CRC错误。 怎么回事,CRC错误可能就是1、文件损坏了 2、加密了 显然游戏可以正常运行,否定1。 用UE打开XP3,分析下看不出规律,现在只能从代码入手。 打开plugin目录有个yourdiary.tpm 这个就是加密DLL 用反汇编器打开看看 发现有两个导出函数 V2Link V2Unlink 注意:KRKR分早期版本和2.22以后版本,其导出函数不一样,大家要注意.不过大家遇到KRKR都不很老,所以本文基本可以通吃。 这里需要大家有KRKR封包加密插件编写的经验才能跟到关键加密代码段 至于加密插件的使用方法请参照水螅大大的教程,这里不再赘述。 我直接跟进关键加密代码段: .text:10001000 .text:10001000 ; Segment type: Pure code .text:10001000 ; Segment permissions: Read/Execute .text:10001000 _text segment para public *CODE* use32 .text:10001000 assume cs:_text .text:10001000 ;org 10001000h .text:10001000 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing .text:10001000 .text:10001000 loc_10001000: ; DATA XREF: V2Link:loc_10001078o .text:10001000 push esi .text:10001001 mov esi, [esp+8] .text:10001005 cmp dword ptr [esi], 18h .text:10001008 jz short loc_1000102C .text:1000100A mov eax, dword_1000C2CC .text:1000100F test eax, eax .text:10001011 jnz short loc_10001025 .text:10001013 push offset aVoidTvpthrowex ; "void ::TVPThrowExceptionMessage(const t"... .text:10001018 call sub_100010C0 .text:1000101D add esp, 4 .text:10001020 mov dword_1000C2CC, eax .text:10001025 .text:10001025 loc_10001025: ; CODE XREF: .text:10001011j .text:10001025 push offset aIncompatibleTt ; "Incompatible tTVPXP3ExtractionFilterInf"... .text:1000102A call eax ; dword_1000C2CC .text:1000102C .text:1000102C loc_1000102C: ; CODE XREF: .text:10001008j .text:1000102C xor eax, eax .text:1000102E cmp [esi+10h], eax .text:10001031 jbe short loc_1000104B .text:10001033 .text:10001033 loc_10001033: ; CODE XREF: .text:10001049j .text:10001033 mov ecx, [esi+0Ch] .text:10001036 mov dl, [ecx+eax] .text:10001039 xor dl, [esi+14h] .text:1000103C add ecx, eax .text:1000103E xor dl, 0CDh .text:10001041 add eax, 1 .text:10001044 mov [ecx], dl .text:10001046 cmp eax, [esi+10h] .text:10001049 jb short loc_10001033 .text:1000104B .text:1000104B loc_1000104B: ; CODE XREF: .text:10001031j .text:1000104B pop esi .text:1000104C retn 4 .text:1000104C ; --------------------------------------------------------------------------- .text:1000104F align 10h .text:10001050 ; Exported entry 1. V2Link 要看懂上面汇编对于新手是很难的,因为计算机不懂什么叫类,什么叫对象,什么叫结构体。 所有的这些概念在编译之后都不复存在。 数据解密最难也在于此,比如[esi+0Ch]那是啥玩意,是数组?还是结构体?还是对象? 就像在漆黑的屋子里面抓到一大团毛绒绒的东西,是啥,是兔子还是猫? 好在解密插件是开源的 大家可以打开KRKR源代码\2.26\kirikiri2\src\plugins\win32\xp3filter\xp3dec 目录下的 main.cpp 可以看到
1 下一页