支付宝APP逆向工程笔记之(一)native library

支付宝APP逆向工程笔记之一

 

最近自己想写一个APP,由于是计算密集型的APP,用到了 Android 的NDK。NDK这么好的东西,支付宝、微信、、、APP肯定会用上吧,打开APK文件一看果然是。而且里面好多都是我认识的library:

 

首先是ffmpeg,这个比较有意思,因为FFMPEG是用LGPL 发布的,对商业软件不是那么友好,Ali没有直接使用,而是用了Bilibili的 ijkFFMPEG,虽然LGPL没有GPL限制严,但是也是有传染性的,如果Ali没有修改FFMPEG 源代码,可以不用公开源代码,但是License文件不能丢,有人举报还是可以把它钉在FFMPEG耻辱柱上的。微信也用了FFMPEG,企鹅的拿来主义不用我多说,数字签名直接签上自己了,更别说License文件了,能找到就奇怪了。企鹅曾因为QQ影音被钉上耻辱柱,如果追究起来,它应该还可以上榜好多次。

 

amnet-http 是 http 协议相关的一些东西,不是http协议的实现,里面用到了 Google 的Brotli 压缩格式、Facebook 的ZSTD 压缩算法,看来Ali还是不行,什么时候Google、Facebook能用 Ali 的库就牛了。这个库叫amnet,应该是 Ali’s mnet意思, mnet是别人家的东西,Ali改了改。

 

amnet-mmtp, mmtp应该是另外一个Protocol了,没看错的话就是MPEG Media Transport Protocol。另外还有amnet-mng, mng貌似是manager的缩写,用来管理的吧。

 

APSE 不知道是不是AliPay SEcurity的缩写,其实这里感觉大部分内容都是mbedtls 的,主要是SSL/TLS相关内容。既然跟SE(安全)相关,肯定少不了加密,这里确实能找到很多加密算法的常数。

 

openssl,微信里也有,SSL库,曾经的心脏出血说的就是它。

 

protobuf,又是Google的,

 

qp-ping,貌似是 queue pair,网络和IO相关的

 

sigAlgorithm,名字很直白,签名算法。但是这不是我们密码学里的签名算法,是自己用手写的签名。

 

silk,Skype的音频库,微软大方开源给大家用了,对商业使用也很友好,随便用。

 

XNN,Caffe, MXNET 深度学习的库,在客户端不知道用来干嘛的?用来用户行为分析?

 

tnet,小型网络库

 

以上内容很多都是根据我的个人经验总结的,不保证正确性!而且上面介绍的都是native library,不是Java库,我电脑上没有.dex的反编译工具,不过按照Java的特性,它跟开源差不多,有时间的话再反编译一下,现在手里有更重要的事情要做,先写个文档保存一下,以后继续。

 

以上纯属原创,转载请注明出处,如有侵权,烦请告知。

 

你可能感兴趣的:(技术交流)