Category Archives

25 Articles

SIM800L EVB x 树莓派

9   1002 转为繁体

从Aliexpress上剁了一个SIM800L模块,长这样:

VDD接TTL参考电平,需要串口输出5v(比如51)就接5v,需要输出3.3v(比如树莓派)就接3.3v。

要注意的是TTL需要交叉连接,即这个PCB板上的TxDRxD应该分别接树莓派上的RxDTxD

浪费了我一晚上的青春。

cloudflare-partner-cli: using CNAME on cloudflare

中文版本

This is a CLI program that let you set CNAME to use Cloudflare using the partner program.

Both Python2.x and Python3.x is supported. No extra library is needed.

To use Chinese menu, set environment variable LANG to use UTF-8 (for example, zh_CN.UTF-8).

Usage

  1. Apply for partner program at https://www.cloudflare.com/partners/.
  2. Clone this repository or download script.
  3. Run python ./cloudflare-partner-cli.py.
  4. Enter your host_key. You can get it here.
  5. Enter the account you use to manage domains (your personal account, not partner login account). User key is stored in .cfhost.
  6. Follow the instructions on screen.

Note

  • Value of resolve_to has to be DNS record (for example: google.com) instead of IP address.

cloudflare-partner-cli: 使用CNAME方式接入Cloudflare

0   3107 转为繁体

English Version

使用Cloudflare partner功能用CNAME方式接入cloudflare。

你可以使用Python2.x或者Python3.x。无需安装任何依赖。

如需使用中文菜单,请将环境变量的LANG设置为使用UTF-8 (比如zh_CN.UTF-8)。

使用方法

  1. 申请Cloudflare partner计划 https://www.cloudflare.com/partners/ 。
  2. clone本项目或者直接下载脚本
  3. 运行 python ./cloudflare-partner-cli.py
  4. 输入 host_key。可以从这里获得。
  5. 输入要用来管理域名的账号 (你的个人账号,不是partner账号)。账户信息保存在.cfhost文件中。
  6. 按照屏幕提示操作。

注意

  • 源站地址必须为DNS记录,如google.com,不能填写IP地址。

 

解密shc生成的mips架构二进制文件

0   2121 转为繁体

SHC 是一个将shell脚本加密成二进制文件的脚本。使用随机生成的密钥对shell脚本进行RC4加密放到一个全局变量中(编译后存在data段),然后在运行时解密。

这个解密脚本修改自UnSHc,使之能解密MIPS架构的二进制文件。原始的版本只支持x86/x64指令集,与MIPS指令集的汇编和调用方式略有不同。

目前有一个偏移量(DATASEGBASE)是硬编码的,由于MIPS的addui使用相对地址,这个值用于和相对地址相加得到变量的绝对地址。暂时还没搞懂是怎么来的,但是可以通过IDA的反汇编得到。

辛酸历程

 

Read More

Solve Xposed module list become empty on Android 6.0 Marshmallow

0   1437 转为繁体

中文版本

Recently I found module list in Xposed become empty after I upgrade my Nexus5 to 6.0.1 (M4B30Z, Dec 2016). And all the modules are not activating. So I open logcat and see the following:

Rovo89 said on a xda post that this file should be created if any module is activated. But somehow it didn’t do so on my Nexus5. So I create one myself and set correct permission (0644) and uid (you can run the Xposed Installer app and check the uid through ps |grep xposed). Then I reboot and check logcat again:

Looks like it’s still not working.

Then I realise that Android started to set SELinux to enforce from Lollipop (5.0) so this should be the problem. (We can use dmesg|grep audit to check if the problem really related to SELinux. ) I compared a random file under /data/data to the file we just created:

So all we need to do is to change this conf/modules.list to u:object_r:app_data_file:s0:c512,c768 as well

restorecon is a applet shipped with toybox, we can also use chcon to manually set SELinux context.

解决Android 6.0 Marshmallow中Xposed的模块列表为空

4   7999 转为繁体

English Version

升级Nexus5 到6.0.1 (M4B30Z, Dec 2016)之后,Xposed的模块列表变成空的了,所有的模块也都失效了。没有xposed,怎么种庄稼。于是我打开logcat看了一眼。

rovo89在xda的QA帖中说一般情况下这个文件会在启用任意一个模块后创建。然而现在它并没有被创建。于是我去建了一个,然后chmod 644以及chown到应用到uid(可以通过启动应用之后ps|grep xposed查看uid,形如u0_a??),重启了一下,再瞄了一眼logcat。

好像哪里不对

想起来Android从萝莉棒开始SELinux就是enforce了,所以大概是这个问题。(我们可以通过dmesg|grep audit来查看被SELinux过滤的各种奇怪操作。)于是看了一下默认的文件context和我们刚创建的文件的context:

那么我们把这个conf/modules.list也改成u:object_r:app_data_file:s0:c512,c768这个context好了

restorecon是toybox中带的一个applet,我们也可以用chcon来手动更改context。