微信支付 Android SDK 逆向

简介

按照微信官方开发者网站的描述,微信支付按模式不同有刷卡支付、公众号支付、扫码支付、APP 支付、H5 支付、小程序支付六种。其中,“APP 支付”即商户 APP 调用微信提供的 SDK 调用微信支付模块,商户 APP 会跳转到微信中完成支付,支付完后跳回到商户 APP 内,最后展示支付结果。

本文将介绍 Android 平台上的 APP 支付流程,然后通过逆向工程探究微信在手机端是如何对接口进行认证的。 继续阅读微信支付 Android SDK 逆向

Android DexGuard 混淆指南

简介

DexGuard 是一款付费代码混淆软件,主要功能是对 Java 代码进行混淆,使得反编译后得到的源代码可读性差,从而加大破解的难度。DexGuard 与 Android 上主流的混淆工具 ProGuard 同属一家公司开发,但相比免费的 ProGuard 功能更多,混淆力度也更大。详细异同参考:DexGuard vs. ProGuard

本篇教程将使用 DexGuard 8.1.14 版本,在 Ubuntu 14.04 server 编译环境下对 Android Gradle 工程进行混淆。 继续阅读Android DexGuard 混淆指南

DexGuard 常见问题解决

multidex 错误

Android 对单个工程包含的总方法数有限制,最多是 65535 个。如果工程较大,方法数超过这个数目,就要使用 multidex 技术,否则将会运行错误。multidex 将原来编译出的 dex 文件分割为多个子 dex 文件,APP 运行时再拼接起来。DexGuard 使用自己实现的 multidex 支持,因而使用上需要一些配置。

继续阅读DexGuard 常见问题解决

CentOS 7 Apache 配置 Virtual Host (虚拟主机)

简介

Apache 是世界上最流行的网页服务器,其功能和组件被分解为不同的单元与功能,其中基础的配置单元是站点(域名)。Apache 用 Virtul Host 表示站点,通过支持多 Virtual Host ,便能够在单个服务器上托管多个站点,共享服务器资源,而且保持互相独立。这里要注意子域名和一级域名一样,都可作为不同的 Virtual Host 进行配置。

这篇教程,将介绍在 CentOS 7 VPS 上如何配置多个 Apache Virtual Host。 继续阅读CentOS 7 Apache 配置 Virtual Host (虚拟主机)

大容量 VPS 搭建 Nextcloud 个人云盘 + aria2 在线下载

前言

在先前的文章中,我分享了一种组合 Aria2 和 h5ai 搭建个人在线播放系统的方案,然而由于 VPS 硬盘容量过小(25G SSD),存储视频时实在捉襟见肘。

有没有容量超大而又价格亲民的 VPS 选择呢? 继续阅读大容量 VPS 搭建 Nextcloud 个人云盘 + aria2 在线下载

“信息量” 到底有多大?

前言

生活中,我们常说 “啊,这个信息量很大呀!”。但所谓信息量大,到底有多大?可以量化吗?根据香农的理论,答案是肯定的。

信息量的度量

信息量实际上是事件不确定度的度量,越不确定的事件,对其的描述就包含越多信息。
举例来说,“明天太阳东边升起”,这句话是没有任何信息量的,因为我们都知道太阳总是东升西落。 继续阅读“信息量” 到底有多大?

为什么应用内更新是“恶意行为”?

如截图,如果你去查看 Google Play 的文档,会发现国内十分常见的”应用内更新“居然被定义为:Malicious Behavior( 恶意行为 )。鉴于我见到很多人,包括我们口中所谓的”良心开发者“都不明所以(不排除假装不知:D),更不知道其中的安全隐患,这里我给各位解释下缘由,同时科普下应用安全常识。 继续阅读为什么应用内更新是“恶意行为”?

HTTPS VPS 搭建 aria2 远程下载与在线播放服务

介绍

aria2 是一款轻量级的多协议(HTTP、BT、磁力链接等)命令行下载工具。在 VPS 环境下结合 AriaNg、Aria2App 等Web 前端,能够提供十分直观、敏捷的下载体验。另外一方面,本文使用 Nginx +  h5ai + Solid Explorer SFTP 客户端,来浏览和管理 aria2 下载的文件,最终可提供完备的在线播放、文件管理功能。

这篇教程,会将网络安全作为基本前提考虑。

环境准备

要使用这篇教程,你需要: 继续阅读HTTPS VPS 搭建 aria2 远程下载与在线播放服务

一点学习感想

花一天时间看二手甚至三手中文教程,不如多花两三天时间看官方英文文档。

你以为看那些中文博客教程节约了时间,实则不然。因为事实上那些博客作者本身对系统就了解得不透,写的教程常常不严谨,更不乏谬论。有时,各个博客之间互相矛盾之处甚至会令你困惑不解。结果,你不得不又回到英文手册,四处搜寻答案。

因此,学习新系统的正确姿势是:不要厌烦英文手册过于“冗长”,一开始便从其入手。