All posts by Cocoa

在已越狱的iOS设备上获取支付宝的支付密码

update: 2016-11-04

上周已经提交给了AFSRC,所以不会放出源代码了。新版的支付宝还能不能拿到,我还没有试,最近因为私人原因,没空做支付宝的研究。

 

昨天晚上重新开始玩越狱插件之后,就把支付宝的支付密码破了

尽管支付宝在保护用户支付密码时下了不少心思,但是目前的算法的确有规律可循。

演示视频如下,(为了录这个视频,我支付宝都被临时锁定了233)

当然,这次的源码不会公开,至少短时间内不会公开。不过还是先把其他的内容放到GitHub上,DamnAlipayAgain

Jailbreak Development please go easy on me

好久没有做过iOS上的越狱开发了,昨天偶然看到Cee说支付宝越狱状态下 Reveal 都没法主动加载进去。

然后看了一下,果然是加了个__RESTRICT,然后手动改了下Segment和Section区,丢进设备跑了一下,就可以加载Reveal了。几年前的支付宝还可以随意玩耍,甚至获取手势密码233(DamnAlipay)

update: 现在也还是可以自由的获取233,详见后文

记得这个__RESTRICT的手法,国内首先使用的是美团,后来很多App就都用上了,在一定程度上防住了第三方对自己App的注入。

后来就干脆写了个小工具(早就想写了,不过懒癌晚期233),去掉MachO文件里的__RESTRICT,顺便也把ASLR关了,某些情况下,用lldb调试时会很方便。

screenshot-injectable-3

代码在injectable

Continue reading Jailbreak Development please go easy on me

在外网访问家里的树莓派下载机

最近用上了Aria2作为下载器,一开始是在笔记本上装的Aria2,但是需要较长时间的下载任务就得保持笔记本一直开着,于是就在树莓派上装了Aria2。在Mac端的管理用 Maria / YAAW都挺不错。

然而不在家里的时候,要想添加下载任务或是查看进度似乎比较麻烦,曾经想要写个Aria2下载完成后发邮件的东西,但是觉得太麻烦;又想用node.js在公网的服务器上给家里的树莓派做个代理,但是自己写这样的,好像……更复杂了啊……

后来想起了以前做iOS越狱开发时的SSH over USB,用SSH做类似的forwarding应该能达到要求。当然,这需要有一台可以在公网访问的服务器。

Continue reading 在外网访问家里的树莓派下载机

NCWS——Naive Chinese Word Segmentation

Naive Chinese Word Segmentation,蠢萌的中文分词ww

嘛,这学期选了「信息检索」课,然后老师建议我们自己写一下中文分词,我以前遇到要分词的情况一般是用第三方的库,比如scws——Simple Chinese Word Segmentation。这是一个非常好用的库,速度也不错,还默认提供了PHP扩展的编译,使用的是词频词典,并辅以一定的规则识别来达到基本分词。关于scws具体的不再多说,可以去它的官网看看。

这里我只用了最简单的逆向最大匹配来分词,没有加入其他的规则,所以就只能说是naive了。然后需要说明的是词典使用的是scws的词库,然后转为了自己的格式,没有直接用scws的XDB。scws在其下载页面提供了一个XDB的导出工具,我这里是先将XDB导出为文本内容再进行处理的。(ncws只使用了来自scws的公开词库以及对应的词库导出工具)

效果如下(/ω\)

screenshot-ncws

Continue reading NCWS——Naive Chinese Word Segmentation

DPlayer for WordPress

中秋节还是稍前一些的时候,看完了《四月是你的谎言》,真的太棒了,后来还去coursera上看了古典音乐导论ww

然后昨天晚上在逛DIYGod的博客时,发现了这篇post,DPlayer – 最好看的弹幕播放器送给最好看的宫园薰,于是去看了github上的这个项目,DIYGod/DPlayer,又是有不少扩展,但是没有我用的WordPress的QAQ

袖子卷起来(明明穿的是短袖好么!),代码写起来~

先给你们看看最好看的弹幕播放器的效果吧~

Continue reading DPlayer for WordPress

在macOS Sierra及以上系统中为bilibili启用画中画功能

最新的macOS Sierra支持画中画播放了,虽然用的时候不多,现在也还不算特别好用,不过偶尔还是挺方便的,比如写代码的时候开着B站在后面放演唱会之类的,但是遇到精彩的部分却必须要跳回网页,稍微有点不爽呢……

B站最近也开始了HTML5播放器的公测,实现大概是一个video标签,再加上外面一个相同大小的div,div内应该是个svg,弹幕由js解析,并通过svg画出来。那么理论上来讲,使用了video标签的话,就是系统可以自行解码的视频,比如mp4,mov这类。B站上绝大多数要么是mp4,要么就是flv。如果某个视频只有flv的话,就没办法了。不过只要是mp4的话,就可以使用macOS Sierra的画中画播放。

Continue reading 在macOS Sierra及以上系统中为bilibili启用画中画功能

Magic Image(2)——Mathematical Model

上次试着用threshold的方式写(Magic image——Alpha Channel),虽然有那么些感觉了,但是最终的图像是二值化的,效果不好。

于是今天特意找了Alpha Blending的资料,根据wiki页面给出的公式:

$$\left\{\begin{aligned}
out_A &= src_A + dst_A(1-src_A)\\
out_{RGB} &= \frac{(src_{RGB}src_A + dst_{RGB}dst_A(1-src_A))}{out_A}\\
out_A &= 0 \implies out_{RGB} = 0
\end{aligned}\right.
$$

当我们的destination background不透明时,\(dst_A = 1\),于是有

$$\left\{\begin{aligned}
out_A &= 1\\
out_{RGB} &= src_{RGB}src_A + dst_{RGB}(1-src_A)
\end{aligned}\right.
$$

于是,根据我们的实际情况,对于合并后的图像I,给定背景B时,有如下等式:
$$\left\{\begin{aligned}
out_A &= 1\\
out_{G} &= I_{G}I_A + B_{G}(1-I_A)
\end{aligned}\right.
$$

Continue reading Magic Image(2)——Mathematical Model