分类目录归档:程序猿

Selfsigned certificate and provisioning profile for Xcode iOS building

Doesn’t work in Xcode 10

Xcode now allows anyone with an Apple ID to build and run app, from anywhere. But, what if, I’m jailbroken and not satisfied with 7-days expiration? Or I’m trying to build an open-source app, but can’t build because the bundle id is already taken and submitted to iTunes?

Since we are jailbroken, everything should just work if we use selfsigned certificate. But somehow, Xcode just keeps asking for a “provisioning profile”, and which is kind of messy to play around. But finally I got it working.

Provisioning profile, is a Cryptographic Message Syntax (CMS) signed property list (plist), which includes team, app, and permission info.

继续阅读Selfsigned certificate and provisioning profile for Xcode iOS building

プリコネR 1.6 与 cdb、通信加密 与 coneshell.dll

早在版本更新前的一次资源更新的时候,我这边就注意到master db的改动了,新增了一个cdb,编码不明,但应该就是用来新版本的加密版db。当时故障原因是一直以来masterdb manifest只有一行,所以我直接拆逗号,但这一次cdb在unity bundle前面,于是提取失败cron爆炸

当时改完了正规按行读取后就等着新版本了,想着肯定会大改这部分。于是 8/3 的 10002700 更完,一周后1.6就更新了

继续阅读プリコネR 1.6 与 cdb、通信加密 与 coneshell.dll

b站弹幕重构相关 – 新api+新格式

两周前了吧,b站半废弃了旧版 comment 域名。除了直接访问的xml外都403了,然后接口换到了api下。获取内容是 /x/v1/dm/list.so ,历史弹幕则是 /x/v2/dm/history 底下并且要登录。

昨晚想确认客户端的情况,看到客户端访问的是 /x/v2/dm/list.so ,点开一个一看是个二进制?

因为b ios app的框架魔性加载,clutch没法导出,重新找一个 frida-ios-dump 才成功导出框架。名字很直接,弹幕相关在 BFCDanmaku 里面。用ida打开研究了俩小时,处理函数是 -[BFCDanmakuRemoteParser parseBinaryData: (NSData)data] 。文件格式也是真的暴力。开头一个length,然后读length取一个json,好像是屏蔽用的?这个json可能gz压缩,需要判断开头字节是否1f8b 。然后就是gz压缩的xml。是的还是xml,我还以为用其他格式了,上次那个protobuf本来也挺好,不是很懂。

再观察了一阵,这个和上次pb类似,分段,6min一段。想了想类名大概在线时候用这个动态加载,离线保存还是xml。

bang dream proto相关

本文相关轮子: proto读取导出 | 定时任务本体数据库对比主数据


A python + libil2cpp.so(Android) dumper:

Article: Generating Proto File For Banddream | DNARoma

gist


因为上周的一个想法,写出了redive和cgss的master数据库diff库,还造了一波bundle解压的轮子

redive第三个号被制裁了,平稳科技流也开始查了

土豆的内容星月大佬写离线的时候已经表示过master不可行,都是登录时返回部分master,所以就可以放弃了

然后就是bang了,开搞前我还又去debug了一下,结果看到密钥瞬间才想起power之前给我说过

炸梦通信是protobuf,包括master和manifest也是,所以就必须要提取原始关系才行了。我刚开始还想尝试暴力提取数据,但是内结构和字符串都是wireType 2,没法区分

在之前我已经在Prefare博客上看到过说dump属性什么的,dnspy改了之后也没搞懂怎么看。后来在评论区看到回复才找到

Perfare:邦邦用的是protobuf-net不是Google.Protobuf,不需要.proto文件,你只需要找到带ProtoContractAttrbuit的类并还原出properties上ProtoMemberAttribute的值就可以序列化了

知道入口后就开始观察了,搜索了一波然后看到master数据的类是SuiteMasterGetResponse(基本上各种proto类都叫GetResponse)

继续阅读bang dream proto相关

闲话x2

瞎记录

1、博客的一些更新

  • 服务器

服务器使用水萌大佬的机器也有三个月了,在刚开始的时候因为他们那边也是在不断调不断加东西,所以经常会爆炸,或者重启路由导致ddns ip改变。不过自从过年那次大爆炸之后一来,已经相当稳定运行了半个月了,可喜可贺,可喜可贺。

原始的vultr本来想着会被废置,不过我留下来当作自己的socks代理了(不是ss,纯socks5)不知道为什么好像比别人用的ss还稳,老见到他们说某某又墙了之类的,可能因为只有我一个人用吧(笑

SSL的话,本来我准备换le的野卡,结果还延期公开了。前两天稍微用 acme.sh 测试了一下可以csr同时生成两个域名的证书,爬丝的dnspod api我之前给他搞ddns ip自动更新的时候要过也可以用,到时候再帮他cron上

  • 音乐播放

两周前更改了一下逻辑,之前设置仅在首页播放,因为没有可靠的跨tab通信确保不重复播放的方法。

然后想到了一个方法,用localStorage保存一个值,不存在的时候记录为当前页并自动播放,并设置关闭时删除值;存在且不是当前页的时候不自动播放,不过生成并显示播放器,点击的时候覆盖值并在关闭时删除值

这样就完成了一个简陋的单tab播放的逻辑

  • 侧栏

并不满与现在的顶端固定实现,最理想的是先跟随滚动,到底后固定,继续向下返回时跟随向上,到顶后再固定,这种感觉

写了个跟随scroll的之后发现很难看,去爬丝站上看了看实现发现是动态切换position,虽然美观一些但还是有瑕疵。最后采用了youtube式的侧栏,即独立滚动条

继续阅读闲话x2

有关redive的一些

プリンセスコネクト!Re:Dive

这一阵从土豆开始,到这次redive,逆向技能提升了不少

有了上次土豆的经验,这次一上来是准备抓网络的,结果死活进不去游戏,搞得我还以为梯子不够完备。第二天song跟我说这游戏检测root,然后我看了一眼发现他检测越狱,还是用objc检测的,笑死。flex用不了不清楚原因,随手theos编了个hook就进游戏了

继续阅读有关redive的一些

【3/7】记录RKE开发过程

先放上成品:esterTion/ReplayKitEverywhere BigBoss


这次搞的插件开始的时候算是很久之前了

最早的时候,在github里面找了一个实现了开始/停止的类,编译注入,然后用cycript调用。结果测试了一下质量过糟,就暂时放置了

然后就是放假后了,那一阵还在学校,因为实在是需要一个随时随地的录屏功能,所以把开始停止合并成一个函数,然后activator写了一个cycript注入调用的脚本,就这样凑活使用了

继续阅读【3/7】记录RKE开发过程