WordPress主题 – ZanBlog Plus

  一开始建博客之所以选择WordPress,是因为我在其他人的博客那里看到了一个非常好看的WordPress主题,于是我也想搭一个一样的博客。但是等到装完了WordPress我却失望了,在WordPress的主题商店中并没有发现这个主题,搜索引擎搜了一下也没能搜到。我以为这个主题是博主自己写的,就先用了WordPress官方的二〇一六主题,想着什么时候有时间了自己仿制一个。不得不说在我看来官方的二〇系列都很丑,但是无奈那时我的前端水平太渣了,从头造一个主题对我来说太难了,于是只能一直将就着用二 …

Linux下SoftEther服务器搭建

  之前一直在用OpenVPN连接学校服务器获取学校资源,但是最近总是会间歇性的丢包,OpenVPN采用的UDP协议,隔一段时间会有一两分钟完全收不到包,表现出来就是虽然显示连接正常,但是这一两分钟完全连不上网络,过一会儿又一切正常,并且如果这时重连的话也一切正常。因此怀疑是链路上被干扰了。   (4月9日追记:我可能错怪移动了,链路上应该并没有UDP连接干扰,而是家里换了光猫后,光猫的设置里自动开启了DoS攻击保护。可能长时间同一端口的UDP流量被光猫的防火墙误识别为了DoS攻击把下行流量丢弃 …

C/C++、Java、C#、PHP、Python和JavaScript等编程语言浅谈及比较

  代码写到现在也已经接触过很多种编程语言了,不同的编程语言有不同的特点,也各自适合于不同的项目,这里就根据自己的理解来谈一谈我接触过的几种编程语言以及对它们的比较。 0x01 C/C++   C语言我相信是有最多大学生学过的语言,因为目前来说,所有的理科或工科大学生的必修计算机课程还是以C语言作为教学。虽然有很多学生觉得学了以后根本不会用到,但是我觉得选择C语言进行教学还是很正确的。非计算机的理科专业还有大部分的工科专业所需要的编程工作主要是仿真模拟一类。这些工作主要都主要以数值计算为主,也就 …

Linux下OpenVPN服务器搭建

  VPN的主要作用是在局域网外部时也可以访问局域网的资源,比如学校有许多资源只能校内访问,而我们在校外还想访问学校资源,就需要通过入校VPN来实现,但是学校公用VPN用的人一多速度就会变得非常慢,不如利用自己校内固定IP的电脑自建一个VPN来的方便。   由于众所周知的原因,几种简单的VPN协议比如L2TP/IPsec和PPTP协议在大陆地区已经被干扰的基本无法正常使用了。因此也就SSL VPN还可以使用。SSL VPN有非常多种,但很多都是商业软件,不开源也不适合个人搭建。OpenVPN是一 …

Linux服务器建立ISATAP实现客户端IPv6上网

  这段时间回不了学校了,没有IPv6了连IPTV都看不了,所以就想着借助实验室的CentOS 7服务器搭建一个IPv6 over IPv4的隧道来访问公网上的IPv6资源。网上查了一下了解到ISATAP可以实现这个需求,于是准备在自己的服务器上建立个ISATAP来用。 3月18日追记 其实通过VPN比如OpenVPN可以直接实现IPv6子网,也即实现IPv6 over IPv4,参见IPv6 – OpenVPN Community,关于OpenVPN的搭建也可以参考本博客另一篇文章『Linux …

C++数值积分 – 基于GSL的简单封装类

5月28日追记 其实现在最新版本的Boost库数值积分已经比较完善了,处理常见的绝大多数积分都没有问题,因此C++的数值积分也可以考虑使用Boost,它的接口更加友好、使用也更方便,不需要像这篇文章一样再进行封装了。   C/C++中的数值积分在不考虑引用库Licence类型情况下,可以使用GNU Scientific Library (GSL)这个库来进行处理。如果只是需要计算一两种固定种类的积分,那么直接按照文档中的例子来写没什么问题。但是如果需要计算的积分种类很多的话,比如一个积分中还嵌套 …

八、API破解 – UNI'S ON AIR资源提取逆向全记录

注意:文章内容仅供学习和交流逆向经验使用,严禁将本文成果用于贩售资源、制作外挂等侵权违法行为。   利用之前文章的方法以及可以无损提取出游戏的Live视频了,不过还有两个问题。   一是只有第一次打开歌曲的时候才会从网络上下载,之后再打开同样的歌曲就直接从本地缓存加载内容,没有网络传输了。因此要想抓到包只能第一次打开歌曲的时候抓取,忘记抓包就只能等下次游戏更新了。   二是歌曲需要一定的等级才能解锁,而要想升级只能花时间玩游戏,我实在没那么多时间呀。游戏突然宣布要更新添加新的歌曲了,然而我之前的 …

七、资源处理 – UNI'S ON AIR资源提取逆向全记录

  前面已经成功获取到了CRIWARE的密钥,剩下的工作就简单多了。这篇就来讲一讲如何获取这些原始资源,以及如何将这些原始资源转换为通常的文件格式,以方便浏览。 0x01 资源获取   用中间人攻击(Man-in-the-MiddleAttack, MITM)的方式可以获得数据包的内容,比如之前用来抓包的Burp Suite就可以算是利用了这种方式的一款软件。但是Burp Suite从GUI上一个一个保存数据包太过麻烦,并且Burp Suite的插件我也没弄过不太会写,所以这里选择了mitmpr …

六、获取密钥 – UNI'S ON AIR资源提取逆向全记录

  之前的文章中讲了那么多,终于要说到获取密钥了。看了看perfare大佬和Headcrabbed大佬的博客,他们的方法要么是插桩改包,要么是IDA动态调试打断点。这对于手上Android设备仅有一台没有root的Lenovo Z5的我来说太过麻烦了,而且我也不怎么会。主要还是我觉得这破联想手机root起来简直太麻烦了,都没有可以一键root的软件,以后还是买主流Android机型吧。   前面说了在libil2cpp.so以及global-metadata.dat中没有找到任何疑似该密钥的字符 …

五、核心汇编 – UNI'S ON AIR资源提取逆向全记录

  前一篇文章中我确认了游戏数据包中的.usme文件就是CRIWARE的usm视频格式文件。这说明加解密部分并不是游戏开发者自己完成的,而应该是CRIWARE Unity插件中自带的,那么找到对应的密钥应该就可以直接利用2ch帖子中的工具CRID(.usm)分離ツール v1.01进行视频的解密和转换。 0x01 libil2cpp.so   粗略看一下dump.cs可以发现,UNI'S ON AIR中有两种播放视频的组件,一种是UnityEngine自带的VideoPlayer类,另一种就是CR …