AndroidStudio调试smali代码

所需插件

Android Studio 4.0及以上需要smalidea-0.06插件

Android Studio 4.0以下需要smalidea-0.05插件

安装插件流程

  1. 获取到对应的smalidea插件包 (https://bitbucket.org/JesusFreke/smalidea/downloads/)
  2. 选择AndroidStudio左上角File -> Settings -> Plugins -> 齿轮图标 -> Install Plugin from Disk -> 选择插件包(不需要解压)
  3. 保存并重启IDEA即可
  

xposed 小实战

  1. 经典贪吃蛇大作战
    关键字符串:支付取消
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//zombie.class  11,Lcom/qy/zombie/zombie;->DX_Pay(Ljava/util/HashMap;)V+4h,,
public static void DX_Pay(HashMap arg3) {
new AlertDialog$Builder(zombie.activity);
EgamePay.pay(zombie.activity, ((Map)arg3), new EgamePayListener() {
public void payCancel(Map arg4) {
Toast.makeText(zombie.activity, "支付取消", 0).show();
zombie.BuyFailed();
}

public void payFailed(Map arg4, int arg5) {
Toast.makeText(zombie.activity, "支付失败" + arg5, 0).show();
zombie.BuyFailed();
}

public void paySuccess(Map arg4) {
Toast.makeText(zombie.activity, "支付成功", 0).show();
zombie.BuySccess();
}
});
}

逻辑:payCancel 函数 payFailed 函数 都换成 paySuccess
通过androidkiller发现 这几个函数在类:com/qy/zombie/zombie$3 下

  1. 单机斗地主
    支付宝购买关键字: 9000 (0x2328)
    全局搜索
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//com/alipay/sdk/app/j
public static j a(int arg1) {
j v0;
switch(arg1) {
case 4001: {
v0 = j.e;
break;
}
case 5000: {
v0 = j.f;
break;
}
case 6001: {
v0 = j.c;
break;
}
case 6002: {
v0 = j.d;
break;
}
case 8000: {
v0 = j.g;
break;
}
case 9000: {
v0 = j.a;
break;
}
default: {
v0 = j.b;
break;
}
}

return v0;
}
  

linux下编译yara

bash: ./build.sh: /bin/sh^M: bad interpreter: No such file or directory

q:执行.sh脚本时,报错 “start.sh /bin/bash^M: 坏的解释器:没有那个文件或目录”,因为 .sh文件是从windows拷贝过来的,所以多了\r,执行命令,把文件中的\r 替换成空白

sed -i 's/\r$//' build.sh

参考链接

error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-. m4

  

linux-docker

docker常用命令

  1. docker run
    20201123144905
    20201123144928

删除docker容器

1. ```docker rm $(docker ps -a -q)```一次删除所有停止的容器
2. ```docker rm <CONTAINER ID|NAME> <CONTAINER ID|NAME>``` 删除单个或多个容器。

启动/停止/连接容器

  

linux-nginx

centos8 nginx安装

  1. 下载nginx

    1. 官网:http://nginx.org/
    2. 创建文件夹 mkdir nginx
    3. 复制压缩包地址
    4. wget http://nginx.org/download/nginx-1.17.6.tar.gz下载文件
    5. wget不存在 yum安装wget yum -y install wget
  2. 安装必要插件

    1. yum -y install automake autoconf libtool make
    2. yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
  3. 压缩下载好的文件

    1. tar -zxvf nginx-1.17.6.tar.gz
    2. cd nginx-1.17.6
    3. 指定安装路径 ./configure --prefix=/software/nginx --with-http_stub_status_module --with-http_ssl_module
    4. make编译
    5. make install安装
    6. 进入到安装nginx目录下面的sbin cd /software/nginx/sbin
    7. 启动命令 ./nginx

常用命令

  1. 从容停止服务器 nginx -s quit
  2. 立即停止服务器 nginx -s stop
  3. 查询nginx主进程号 ps -ef | grep nginx
    1. 从容停止 kill -QUIT 主进程号
    2. 快速停止 kill -TERM 主进程号
    3. 强制停止 kill -9 nginx
  4. 启动 ./nginx
  5. 重启 ./nginx -s reload

参考文章:
Nginx | CentOS 8 安装Nginx详细教程

  

:D 一言句子获取中...