关于打cytus2用什么打2

国服cytus2用什么打2是Unity3d游戏未采用il2cpp运荇时,而是mono这给cytus2用什么打2自制(导入自行制作的关卡)留下可能。

仅供学习使用任何用于非法用途后果自负。
本文主要用于记录2019年初嘚移动应用安全手段
本文省略的技术都可以被百度到。
文章对libjiagu.so的分析实际上对实现目标并无作用

首先是文件头被改了,mz可以作为一个突破口其次应该是分段表被加密了。后面还知道所有的il指令全部被改写

,应该是一款360企业版壳从这里开始,笔者着手开始研究libjiagu.so的行為实际上是走上了弯路,对于目标来说没有什么必要,你可以跳过这一章节


然后设置一下端口转发,并启动手机端的debugserver(在IDA目录dbgsrv建議改个名字,这里随便改了个yy然后放到手机里,并赋予执行权限)


然后IDA连接到手机的dbgsrv注意端口号不要23946,如上23947或其他都行。


这个一律YES其他提示如不特别说,都是YES
然后等IDA加载完成,停在libc之后attach jdb让进程恢复运行。

这样就停在最开始那个JNI_OnLoad断点了可以开始分析一番。
来到叻重要的地方这里程序将完成一系列反调试,反动态分析的手段
经过长时间的跟踪分析,具体是在case 31进行的
在这里下个断,先不急着恢复运行在Module表中找到linker。
找到rtld_db_dlactivity稍后程序第一步反调就是判断这里是否被设为断点指令。
断点命中跟进去看看干了些什么。由于我以前哏的是2.1.1版本2.3.0好像没什么改变,且比较费时这里只说明反调手段及反制措施。先退出调试
0.gettimeofday,后面还会进行一次目的就是判断是否被調试了,被调试运行时间一定会非常长反制手段就是直接返回0。
1.两次memcpy两次解码(xor5A,按位取反程序内重要字符串被简单加密了),及後续操作是判断linker中的rtld_db_dlactivity是否为0xDE10反制措施如上。
2.获取TracerPid判断是否有调试器。反制措施:


3.获取tcp判断23946端口是否被占据(即IDA)。反制措施就是改為其他端口我寻思这是防小白?
4.fork结合raise假信号迫使IDA出错解决方案就是raise直接返回,并且把调用fork的地方给nop了
可见子进程继续运行,父进程迉于非命sub_CAAC9E00就是signal

我寻思这和2.1.1一毛一样的位置。
即便找到了那么判断的函数还是不好定位,这里得解除以上几步之后自己跟,发现会跳轉到这里
注释是我自己加的那么很简单,把函数跳转的地方nop就好了
6.检查cmdline这里会检查一些莫名其妙的东西
判断是否有这些东西,我就没管
7.顺便把调用thread_create的地方给nop了实际上我不知道是否创建线程进行反调了。
8.除此之外我还直接返回了exit,killtime等函数,不知道效果
在case 35也放置一個断点
在经过反调之后,libjiagu会解密解压,释放新的elf修复分段表,然后将程序移交新elf进行jni native层的函数注册等操作。
不得不承认这超出了峩的能力,而且新的elf我也没找到好方法动调
开始运行,一路F7 F9在这里解压
这里就是释放的elf,经过分析是真的JNI_OnLoad注册了native层函数,并且还进荇了一些签名校验如果想要破解应该从这里入手。因为和目标无关暂且收手,开始寻求新的思路

libmono经过分析也是自己编译的版本。
这個libmono和libjiagu一样只不过没有任何反调试手段,但是最后也会释放真正的libmono并加载,以保证unity的正常运行用同样手段,可以在uncompress函数处找到解压后嘚数据地址并且dump出来,加以分析然后可以再进行动态调试,在获取被加载的基地址之后跳转过去,然后下断点即可

因此,记录一丅outbuf的地址和大小即可


前0x7098字节不知道是什么把他先去掉,放进IDA进行分析
我们需要一份正常的libmono作为比较,cytus2用什么打2是Unityf1应该能随便找一份拿来比较,毕竟差异不大
接下来的工作很枯燥,就是递归是地对比把符号从正常的libmono中复制到dump中,通过比较发现有以下函数被修改:
modified是峩的标记意思是和原函数有很大不同,不过最大的不同如前文所说是整套il的更换
既然函数找到了,我们就可以开始动调了
找到偏移位置,在对应位置下断点以本次为例,基地址D4A

但是此时意外发生2.3.0似乎增加了某种反调,原本能直接过到libunity加载现在却不行了。于是对於2.3.0这条路也暂时行不通

还有最后一个方法:在libunity加载前下断点,直接分析libunity然后跳转到释放的libmono。
但是还是被kill了我决定一探究竟
突然想起來好像java层还有一些反调,我好像忘记清了…
这个位置就是libunity调用libmono加载托管dll地方位置可以搜字符串得到
这样其他函数地址都可以求得了
经过幾十次的F7,终于找到了期间如果遇到SIGPWR,SIGXCPU可以Pass,不必惊慌
那么我们对照着正常的libmono一步步看
既然Assembly-CSharp.dll的文件头被改为了mz那必然有鬼。对dump出来的dll进荇分析符号表自然是不存在了,但是mono是开源的于是可以对照着正常的libmono进行对比,看看哪里有鬼比如搜一下mz这种东西,一定能看出端倪
我的前期比较显示,一共有两个地方和正常的不一样和dll也一样,一个是前面的分段表不一样一个是中部的表流定义不一样
这是解密函数,可见是对一个字符串作循环异或这点是静态分析看不出来的,于是我们可以做一个解密函数了

这样分段表便能解密成功。
地址可以通过计算RVA得到由于该段落在.text里,则地址为
不小心碰了下屏幕触发了ANR在这里提醒一定不要碰屏幕,不然凉凉得重新进
这里判断昰否需要解密,如果是正常的那么这里是
但是事实上这里被加密了,则
初步看了一下就是把maskvalid和sorted8字节按位异或即可,其他的操作没有深叺研究
至此,扔进dnSpy就可以读了不过方法体都是空的,因此指令一定是被加密了
继续分析,il执行机制可以发现il的编译就是在这个巨型函数里实现的
不过360比较骚,请看
函数名称是我做的标记意思就是360自己把il转换了……这着实让人头大。
不过办法总是有的既然是基于switchcase,那么我把这两个函数的反汇编进行了比较还写了一个简陋的程序
就这么手工比较,也就两个小时 不到对应关系就找出来了那么我们開始转义为原il~
首先转义之前,il是被加密了
密钥需要动调到这里进行获取也是按位异或,位置20454C自己计算一下
完了之后还要整体异或0x30,所鉯还是挺复杂的
我们有了解密方法转义方法,按照函数表的il指令位置一条条转换就可以了
最后一步就是定位Method表,那么也很简单甚至伱手动定位一下就行。
最后就是见证奇迹的时刻运行!

注入环节就更简单了,写C#就完事了由于2.1.1我已经写过了,2.3.0我就不重新写了效果嘟是一样
这是2.1.1注入的截图
只要你把文件头改回MZ,那么具体执行起来就会使用原来的il转换意思就是替换就完事了。
但是具体执行之后我发現有时候会出现invaild il code和堆栈问题不过使用dnSpy重新编译一下就好了,不知道为什么

2.1.1用了我10天,即便是重新2.3.0也花了我1天时间,虽然我认为这个加固已经可以了但是山外有山,学习不能停啊
向所有安全研究人员致敬!

签箌排名:今日本吧第个签到

本吧因你更精彩,明天继续来努力!

可签7级以上的吧50

成为超级会员赠送8张补签卡

点击日历上漏签日期,即可进行补签

超级会员单次开通12个月以上,赠送连续签到卡3张

这还是困难打了两个小时才过,累迉了

该楼层疑似违规已被系统折叠 

这还是困难打了两个小时才过累死了



该楼层疑似违规已被系统折叠 

好几天之前的成绩,手残表示已经放弃这破歌了


该楼层疑似违规已被系统折叠 


该楼层疑似违规已被系统折叠 

加把劲多练下一个嘤游椰叶就是你


扫二维码下载贴吧客户端


音乐世界cytus2用什么打2破解版是雷亚遊戏全新推出的一款新派音乐游戏该游戏由前作《音乐世界(cytus2用什么打)》原班团队倾力打造,游戏中不但收录了大量国内外热门、流行的喑乐歌曲还采用更高水准的画面渲染技术和不同于经典的音乐触感拍点玩法匠心打造,从而带给你更加享受的视听体验相比于原作,喑乐世界cytus2用什么打2除了在玩法上进行了创新界面进行了优化以外,全新引入剧情的戏份新颖的RPG元素衍生,以及地图、探索等新鲜元素嘚加入了相信能够带给你更为别致游戏体验和更多的乐趣。

说明:游戏已完成破解免费解锁游戏完整内容。

1、独特动态判定线音乐游戲玩法

跟随判定线打击拍点以获得高分透过五种不同特性的拍点及随节奏动态变化的判定线,让游戏过程更贴合音乐轻松融入并沉浸茬乐曲之中。

本次收录乐曲涵盖世界各地如日韩、欧美、台湾等创作者的作品透过数位角色引领玩家游玩如电音、摇滚、古典等不同风格之乐曲。

3、多达150种不同谱面关卡

设计超过150种由易到难的音乐谱面丰富的游戏内容满足不同等级的玩家,透过指尖的打击体验最刺激的挑战和乐趣

4、与游戏中的角色们一同进入虚拟的网路世界探险

独特的故事系统 "iM" 将带领玩家与游戏中的角色逐步拼凑出“cytus2用什么打2”背後嘚剧情脉络与世界观,在极富动态的视觉体验中揭开故事的真实面貌

2》是雷亚游戏全力打造的一款音乐节奏游戏,沿袭前作cytus2用什么打直覺简单的游戏方式添加了更多的拍点玩法,在画面和剧情上皆有更高水准的展现此款游戏本次更是加入更多音乐,在数量和多样性上莋到了历史之最库内收录了掩盖世界各地如欧美、日韩和台湾等创作者的音乐。在玩法上区别于常见的下落式音符判定,玩家需要通過点击和滑动等方式在节奏线到达音符的时候触摸到音符,才能取得分数并将于相应的评价,十分容易上手动感的音乐,华丽的画媔效果不仅让喜欢音乐和节奏的你得到挑战,也能轻松体验到游戏的乐趣

音乐世界cytus2用什么打2新手攻略

在cytus2用什么打2正式进去游戏(登陆の前)会有一个教程,没有玩过炫舞啊音速这些游戏的朋友不要跳过本身有游戏基础的可以跳过,大概要了解一下游戏的规则3秒钟基夲上可以学会。

这里说一下音乐世界登录服务器的问题版本不同登录是没办法一起玩的,但是只要登录的方式一样手机的平台是不一樣的话,那是可以一起玩的比如都是微信登录的话。

3、选择角色来进行游戏:

游戏里有很多的角色免费的付费的,都是可以的选择其中一个,你自己喜欢的可以进行升级,如果你要用付费的话那你就需要绑定APP付费渠道,提前购买下了

游戏也分为简易和困难等多種的程度,但是一开始是没办法选择的我们必须简单通关(达到指定的分数)然后困难才会解锁,这样更加的有挑战性了你准备好了嗎?

5、开始游戏前完善设置:

因为是音乐类型的游戏所以在开始游戏之前记得提前设置好,音乐音效相关的最好插一下耳机,并且检查一下手机的电量还有手机连接的网络是否稳定等等。

6、增加我们的combo:

游戏主要的分数来自于我们点击的时候具体的判定到达什么程喥,是良好还是完美当然还有不断的连击数目,如果中途没有连下去分数肯定会有很大的影响的

音乐世界有非常人性化的暂停按键,茬我们闯关(非对战)的时候我们可以点击左上角的暂停按键,来选择暂停游戏或者直接结束,建议大家有事情的时候不要开始游戏叻哦

8、游戏结束会有判定:

在我们点击完最后一个音符之后,游戏最后会有一个判定判定大家的分数,包括这一次比赛的大家的点击判定情况还有我们总的一个连击数目,看看自己什么地方是有欠缺的吧

参考资料

 

随机推荐