0%

自 Android 7.0 开始引入的 APK 签名方案 V2 不再使用以往的 Jar 签名方式 (V1),V1 签名方案会对 APK 中大部分文件做单个的摘要计算,而 V2 签名方案是将数据分割成每个 1MB 做摘要计算,速度更快。
以往 V1 签名方案不会校验 META-INF 中的数据,所以在不修改签名的情况下往 APK 中写入数据是很容易的,直接放在该目录下就可以,而 V2/V3 签名就需要使用其他方式。

阅读全文 »

在同样的车速下,手动变速箱的低档位具有更大的扭矩。相应的,提速也更快。
如果在高车速高档位下不减速尝试挂入低档位,会有两种可能:

  • 挂不进去档位
  • 挂进去档位后这部分转速差由同步器消耗,产生顿挫

两种情况都不是期望结果,所以就需要驾驶者人工去补油,将这部分发动机转速差尽可能减小。

阅读全文 »

对于需要长期运行的爬虫程序,在每次爬取前检查目标页面是否更新是十分重要的。如果不进行判断,就会对同一个页面重复爬取多次,浪费时间和性能。

阅读全文 »

根据 Android 官方文档所写,支持 NFC 的 Android 设备有以下三种操作模式:

  • 读卡器模式:读取和写入 NFC 卡片(公交卡充值)
  • 仿真卡模式:将设备模拟成一张 NFC 卡片,可以通过其他 NFC 读卡器访问设备模拟的 NFC 卡(饭卡模拟)
  • 点对点模式:与 NFC 设备或其他支持非接触式射频传输的设备交换数据(Android Beam)
    阅读全文 »

本文适用于在无法使用其他搜索引擎时,不得已的情况下使用百度搜索,通过一些搜索技巧来获得更准确的搜索结果。在可以访问外网时,个人不推荐使用百度搜索。

这仅整理了适用于百度搜索的常用命令,并不是全部的。

默认情况下,百度会根据输入框中的内容,结合搜索引擎的语义分析,进行关键词拆分,以求做到更准确的结果匹配。在两个关键词之间插入空格,可以在一定程度上提高匹配的准确度。但有些情况下,这可能与用户所期望的目标背道而驰。

阅读全文 »

在 Android 7.0 以上的系统中,Google 引入了一种名为网络安全配置(Network Security Configuration)的功能。据官方文档所说,这个功能可以让开发者在一个安全的声明性 XML 配置文件中自定义应用的网络安全设置,而无需修改应用代码。也可以针对特定域和特定应用配置这些设置。
可以参考官方文档原文

阅读全文 »

本文算是此系列的第一篇,我打算写写济南公交的服务端 API。当下的环境,基本每个应用都会具备联网请求数据的功能,公交客户端这种实时性很强的应用更是如此。既然我们打算做一个第三方客户端,那么第一步就是先要拿到各个车辆的实时数据。下面我会通过抓包来分析原版 369 出行的各个请求,关于抓包过程之前我也写过一篇文章介绍,这里就不多赘述了。

因为请求众多,这里只针对实际需要用到的数据进行说明,无用的类似请求广告图片什么的就不写了。

首次打开提示需要登录用户名,这部分其实是无用的。正常的流程会在用户登录时服务端返回一个 Token,后续请求会携带这个 Token。然而 369 出行的这个登录流程完全是无用的,登录的成功与否只是决定能不能进入下一个页面。还有一个值得吐槽的是整个登录流程用户名密码明文传输…

阅读全文 »

泉城公交是我在 2015 年的时候开发的一个济南公交第三方客户端,基本实现了原生济南公交客户端的部分功能。但出于一些原因,不得不停止更新。我将所有源代码开源在了 GitHub。然后有网友邮件询问相关问题,所以,我整理了一下以前开发时的一些笔记,整理成几篇文章发出来。

阅读全文 »

nc 是 Linux 下的一个强大的命令。nc 是简称,全名是 netcat。大部分的 Linux 发行版都有自带 nc 这个命令,如果没有的话就需要自己安装了

我这里使用的是 CentOS 7.3,对于 nc,你可以使用 yum 安装或者自己编译二进制文件。这里推荐使用 yum 安装,因为 yum 可以自动解决依赖问题

1
yum install nmap-ncat.x86_64

同样,netcat 也有 Windows 版本可用,你可以在 https://eternallybored.org/misc/netcat 这里下载到 netcat 的 Windows 版本。这里下载到的是一个压缩包,里面包含 netcat 的源代码和 nc & nc64 两个已经编译好的二进制文件,你可以根据自己系统来选择使用 nc 或 nc64

阅读全文 »