Skip to content

Instantly share code, notes, and snippets.

View twiceyuan's full-sized avatar

twiceYuan twiceyuan

View GitHub Profile
@twiceyuan
twiceyuan / build.gradle
Created July 25, 2018 13:43
[删除生成的 APK] #Android #Gradle
task cleanApk(type: Delete) {
delete "${buildDir}/outputs/apk"
}
@twiceyuan
twiceyuan / note.md
Created June 5, 2018 09:18
[macOS 挖矿病毒排查笔记] #macOS

行为描述

在 Google 上搜索「LOL 国服 Mac」后下载了一个 Build.zip,内含一个 .app 文件。

显示包内容后发现内部有一个编译后的 script 文件,编辑器打开并不能识别其内容。

运行 App 后会在 ~/Library/LaunchAgents 目录下添加两个文件:com.apple.Google.plist 和 com.apple.Yahoo.plist。其中第一个是真正的启动项配置,第二个其实是伪装为启动项配置的脚本文件。mac 启动后,会根据第一条配置中的内容启动第二个脚本,该脚本会不断运行 Safari 并打开一个空页面,内包含挖矿程序(有其他变种还会屏蔽用户打开 Activity Monitor),页面文件位置在 ~/Library/Safari 目录下,名称为 html.html。

删除方法

@twiceyuan
twiceyuan / code.java
Last active May 9, 2018 02:33
[Intent Extras to String] 转换 Intent 的 Extras 为可读的 String #Android
public static String toExtrasString(Intent intent) {
Bundle extras = intent.getExtras();
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.append("[");
List<String> keyList = new ArrayList<>(extras.keySet());
for (int i = 0;i < keyList.size();i++) {
String key = key.get(i);
resultBuilder.append(key + "=" + extras.get(key));
if (i != keyList.size() - 1) {
resultBuilder.append(", ");
import functools
def log(func):
@functools.wraps(func)
def wrapper(*args):
print(u"request body: {}".format(args[0]))
response = func(*args)
print u"response body: {}".format(response)
return response
@twiceyuan
twiceyuan / PyRequestManager.java
Last active February 10, 2021 04:16
[Chain Demo Code] 模拟 OkHttp 中 Interceptor 的工作原理 #Java #Pattern
import java.util.ArrayList;
import java.util.List;
/**
* Created by twiceYuan on 2017/7/20.
* 参考 Python Decorator 重写后的版本
*/
public class PyRequestManager {
public static void main(String args[]) {
@twiceyuan
twiceyuan / note.md
Last active July 13, 2017 02:25
[Android install busybox] Android 上安装 busybox #Android

先决条件

设备已经 root

步骤

  • 下载 busybox 二进制文件 https://busybox.net/downloads/binaries/ 唾手可得
  • adb push 到一个目录,比如 /data/local
  • adb shell,cd /data/local && ./busybox 看下是否正常,正常的话,现在使用 busybox vi 是可以使用 vi 编辑器了
@twiceyuan
twiceyuan / remove-log.pro
Created July 7, 2017 03:14
[Proguard AssumeNoSideEffects 过滤] 使用 proguard 中的 assumenosideeffects 过滤日志语句 #Android
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
@twiceyuan
twiceyuan / Android Project Configuration.md
Last active June 27, 2017 09:47
[Android 常用配置] Android 项目配置,包含常用的库,自己习惯的配置项等

Android 项目常用配置(记录自用)

常用的第三方仓库

maven { url "https://jitpack.io" }

插件

项目插件

@twiceyuan
twiceyuan / ss-rules-guide.md
Last active October 11, 2020 17:15
SS Rules 使用说明

准备工作

  1. 建议先升级到 shadowsocks 最新版(3.3.1)
  2. 设备已 root

开始

  1. 进入之后会要求 root 授权,第一次询问可能慢一些。
  2. 然后进入的是规则列表。如果没有显示到任何文件,说明机型或者 ss 版本没有适配好,可以反馈邮箱 [email protected]
  3. 如果点进去一个规则可以看到规则的内容(很多行),代表该应用是可以正常工作的。这时可以关掉了。
@twiceyuan
twiceyuan / CookieStore.java
Last active June 25, 2019 02:36 — forked from tsuharesu/AddCookiesInterceptor.java
[OkHttp Cookie 处理] Handle Cookies easily with Retrofit/OkHttp #Android
import android.content.Context;
import android.content.SharedPreferences;
import com.example.app.App
import java.util.HashSet;
import java.util.Set;
/**
* Created by twiceYuan on 01/12/2016.