V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linusyang  ›  全部回复第 2 页 / 共 10 页
回复总数  198
1  2  3  4  5  6  7  8  9  10  
连 usb,adb shell 然后运行 top,看占用 cpu 的进程。如果是 com.miui.securitycenter(.remote)和 com.android.settings(:remote)耗电,把安全和设置 app 的数据清空可以临时解决,耗电具体原因未知。
2018-06-20 21:52:11 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@wangyilin1226 @Jormin @liangch @chestermax
诸位,好久没升级系统,所以没办法测试。刚升到 xiaomi.eu 发布的 MIUI 10,版本号 8.6.14 ,提取同版本国内 ROM 的小米支付,可以顺利使用各项功能,无 FC。

最新提取脚本和 Mix 2 提取文件已更新到 Repo。遇到奇怪问题请备份好,清掉 Dalvik Cache 再试。
2018-04-16 17:44:38 +08:00
回复了 Trumeet 创建的主题 全球工单系统 发现很多 ROM 都存在一个严重安全隐患
@bluefalconjun 很奇怪的就是 xiaomi.eu 的固件都能 pass cts,android pay 我都用了很久了…
2018-04-16 15:57:04 +08:00
回复了 Trumeet 创建的主题 全球工单系统 发现很多 ROM 都存在一个严重安全隐患
2018-04-08 12:20:30 +08:00
回复了 bincat 创建的主题 程序员 MesaLink 开源: OpenSSL 的接班人,"心脏"不再"出血"
@bincat 我只是觉得你们用这个简单测试就说 ring 比 openssl 还快,听起来有点想搞大新闻的感觉,有点误导成分,因为测得就不是一个东西。直觉上想想也不对劲,底层代码都是一样的,怎么会快这么多呢…
2018-04-08 12:14:18 +08:00
回复了 bincat 创建的主题 程序员 MesaLink 开源: OpenSSL 的接班人,"心脏"不再"出血"
@bincat evp 是要调用的没错啊,问题是你测就要测对等的啊。一个不包含 init 和 free,一个有,不就不对等了嘛。而且所谓 api 原语,ring 里面的 seal 函数不写了么,对应的 api 应该是这个,C analog: `EVP_AEAD_CTX_seal`,这个是没有包含 init 和 free context 的。
2018-04-08 06:24:50 +08:00
回复了 bincat 创建的主题 程序员 MesaLink 开源: OpenSSL 的接班人,"心脏"不再"出血"
@bincat 我看了一下你们的 benchmark,测试 OpenSSL 的时候并不公平,在测试的每次 iteration 内部有很多 OpenSSL EVP context 初始化和释放的额外开销,导致测试时间多了将近一倍。这个可以用 Instruments.app 或者 valgrind/callgrind 作 profile,很容易就可以查到。

具体来说,OpenSSL 测试的部分用的是 rust-openssl 库,调用的是 symm.rs 里面高层 api,具体的函数是 encrypt_aead [1]。注意到 encrypt_aead 在每次做加密的时候都会新建一个 Crypter 对象,加密完离开作用域会自动调用 drop trait 里定义的 drop()释放。而 Crypter 封装的也是 OpenSSL 的高层 EVP api,初始化的时候会调用一次 EVP_CIPHER_CTX_new 和两次 EVP_CipherInit_ex,释放的时候会调用一次 EVP_CIPHER_CTX_free。这些函数在 test::Bencher 测试的时候,每次循环都会调用,产生的开销还是挺大的。

事实上在加密的时候并不是每次都要新的 Crypter/EVP 对象,因为加密的 IV、Key 和算法都是固定的,理论上只要一个就行了,所以说这部分开销是额外的。但是注意这里不能简单地只建一个 symm::Crypter 复用,因为 EVP api 的限制,每次都要重建,所以用 openssl speed -evp 命令跑出来的也不够快。这里如果不考虑测试函数的正确性,只测 AES-GCM 加密的时间,我们可以只把 Crypter::update 放在 b.iter 的循环里,这样测出来的时间就跟 Ring 的差不多了 [2]。可以参见 https://gist.github.com/linusyang/102325bf5c03928e1ae85c51082cad63。

Ring 的测试里面用的是 aead::seal_in_place 函数 [3],实际封装的是 C 语言写的 AES-GCM 加密函数 [4],不需要新建和释放 EVP 对象,也就没有了这部分的开销。所以最后测出来 Ring 看起来跑得更快,虽然具体加密算法用的就是 OpenSSL 的代码 [5]。

如果要写一个更公平的测试,最好直接调用更底层的 OpenSSL 函数,可以用 rust-openssl 里的 openssl-sys 库封装的 FFI 来写,就可以去掉 EVP 对象这部分的开销。

[1] https://github.com/sfackler/rust-openssl/blob/c1e5a5c/openssl/src/symm.rs#L664
[2] https://gist.github.com/linusyang/102325bf5c03928e1ae85c51082cad63/revisions
[3] https://github.com/briansmith/ring/blob/1caad72/src/aead/mod.rs#L200
[4] https://github.com/briansmith/ring/blob/1caad72/crypto/cipher/e_aes.c#L301
[5] https://github.com/briansmith/ring/blob/1caad72/crypto/fipsmodule/aes/asm/aesni-x86_64.pl#L566
2018-04-07 15:40:16 +08:00
回复了 bincat 创建的主题 程序员 MesaLink 开源: OpenSSL 的接班人,"心脏"不再"出血"
@waruqi 我也感觉是这样,本质是一个兼容封装库。找了半天实际的加密算法代码,mesalink -> rustls -> ring,最后发现实际加密算法还是用 C 写的,而且是 BoringSSL(OpenSSL)复制过来的 [1]。有点又绕回来的感觉,这么一层一层封装至少性能上不会比 OpenSSL 更好,也会依赖 OpenSSL 具体实现的安全。

想起来 Hacker News/Reddit 上的老笑话,万事万物都可以用 Rust 重写。用 Rust 写是很好,但不是万金油,我认为只能解决一部分问题,比如内存上的问题。最终还是得做形式化分析,证明完导出代码,比如用 F* 写的一个 TLS 库 [2],用的加密算法也是验证过的 [3],虽然形式化分析是条不归路。

[1] https://github.com/briansmith/ring/tree/master/crypto
[2] https://github.com/mitls/mitls-fstar
[3] https://github.com/mitls/hacl-star
2018-03-27 01:32:04 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@danbao 这就是我发的。。
2018-02-06 15:32:17 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@royalsys 你就先用旧版 8.1.25 提取的吧,这个貌似是小米自己的问题了,国际版和国内版某些 miui 框架不匹配。eu 版 rom=国内版底包+gapps+精简系统 apk+build.prop 修改国际版+系统 app 魔改加回部分国内版功能,所以可以直接提取国内版的用。
2018-02-06 15:28:44 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@asipirin1120 @Jormin 现在 eu 又搞幺蛾子,会自动给你刷 xda 上网友 raupe 自己做的 recovery,而且还是人家不支持解密的旧版。raupe 的最新版是支持解密的,我正在用。
2018-02-02 20:03:26 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@asipirin1120 可能要等一会,加密要时间的。只推荐第一次刷机时候用,速度会快点。这个脚本主要是为了提取 mipay,eufix 是我自用的,没仔细测试过,可能有风险。
2018-02-02 16:37:57 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@srwgin 换行符错了,crlf 转 lf 应该就行了,我这个打包的 bash 是 cygwin 的,比较敏感。
2018-02-02 11:43:22 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@qqjt 谢谢测试,补充一下,如果要国内天气源,可以装提取出来的 weather mod apk,如果要还原国外源就装回 orig apk。
2018-02-01 22:02:51 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@qqjt 要先下载固件放在目录里。或者改一下 deploy.sh 里面的地址,用 deploy.bat 。这个脚本是自用的,不是很友好,要自己看一下代码。
2018-02-01 13:58:40 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@cnmusa 主要看需求吧,我需要 safetynet 认证,貌似就 eu 版的可以。还有是信誉,eu 版还是靠谱的,国内的不太敢用。
2018-02-01 01:53:05 +08:00
回复了 XinLake 创建的主题 程序员 终于摆脱了小米的全家桶
推荐 xiaomi.eu 固件,都帮你删干净了 (目前只残留了 MiuiDaemon.apk),内置最精简 gapps,build.prop 也改成国际版的了,没有广告。如果要小米钱包,农历,国内天气源之类的,可以用脚本自己提取一下,然后刷个补丁包就行了,这里有一些相关讨论 /t/394591
2018-01-26 14:54:12 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@Jormin 不用清空的,东西都还在,只是没有装载显示出来而已,xiaomi.eu 上的 twrp 不支持解密。
2018-01-23 22:00:29 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@raptium 可能不可以用 sideload 方式刷,这个安装包的脚本 updater-binary 是 bash 脚本,不是二进制,只在 twrp 里测试过可以安装。
2018-01-23 18:18:28 +08:00
回复了 linusyang 创建的主题 Android MIUI 9 欧洲版移植小米公交、支付等服务
@lucifer9 我刚才测了一下,我机器的 widevine security level 是 L3
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3719 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 10:34 · PVG 18:34 · LAX 02:34 · JFK 05:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.