ilanyu 发布的文章

memdump

遇到个Android程序, 想要dump内存下来, 使用gdbserver无法附加, 提示Operation not permitted, 网上看了下有c语言arm版的memdump, 但是没提供编译好的x86版本, 随手撸了个golang版, 编译方便.

源码在: https://github.com/ilanyu/memdump

编译好的版本在: https://github.com/ilanyu/memdump/releases

在 Genymotion 虚拟机中使用 memdump_linux_386 dump之前gdbserver无法attach的进程成功.

注意: 博主之前没玩过Linux下的程序开发, 可能存在大量BUG.

更新JRebel for Android通用破解工具

JRebel for Android 从 2.1.16版 开始只需要修改 jr-android-ide-studio.jar即可破解.现在可以不使用 http://blog.lanyus.com/archives/286.html 里给的修改环境变量的方法, 新方法为:

  1. 下载 JrebelForAndroidCrack.jar 并复制到 D盘根目录.
  2. 以文本格式打开 studio.exe.vmoptionsstudio64.exe.vmoptions,将-javaagent:D:/JrebelForAndroidCrack.jar追加到最后.

- 阅读剩余部分 -

idea全局使用http代理

idea在设置中有关于代理的设置, 但在使用中发现这里设置的代理只对idea有效, 对idea的插件无效

这里遇到在使用 idea.goxz.gq 激活 JRebel 插件时, 由于反向代理服务器在国外, 导致 JRebel 无法连接到服务器, 研究了下怎么全局使用代理, 具体方法为在 idea.exe.vmoptionsidea64.exe.vmoptions 中追加

-DproxySet=true
-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=1080

127.0.0.1为HTTP代理服务器地址

1080为HTTP代理服务器端口

我这里电脑上有使用 ShadowsocksR , 这软件默认会给系统提供一个 sock4/sock5/http 代理, 端口默认为 1080, 如果你有使用 ShadowsocksR , 并且没有修改过默认端口, 则追加信息和我一样即可, 如果没有使用, 就需要自己去网上找 HTTP代理服务器并修改追加信息了.

注: 这个方法理论对 Java 的程序都有效.

Jrebel for Android 通用破解工具

使用方法:

Windows:

  1. 下载 JrebelForAndroidCrack.jar 并复制到 D盘根目录.
  2. 右键我的电脑->属性->高级->中设置环境变量 JAVA_TOOL_OPTIONS , 值为 -javaagent:D:/JrebelForAndroidCrack.jar

Linux:

  1. 下载 JrebelForAndroidCrack.jar 并复制到 /usr/local/javaagent/ 目录中.
  2. 在设置环境变量的脚本中添加 export JAVA_TOOL_OPTIONS=-javaagent:/usr/local/javaagent/JrebelForAndroidCrack.jar

最后随便找一个我以前发的破解版 Jrebel for Android 插件中的授权文件, 激活即可.

测试 Win 10 Pro x64 , Ubuntu 16.04 x64 通过.

- 阅读剩余部分 -

JVM自动加载指定javaagent

查资料时偶然查到的JVM启动时自动加载指定javaagent方法

核心是 JAVA_TOOL_OPTIONS 变量

Linux

export JAVA_TOOL_OPTIONS=-javaagent:/test.jar

Windows

set JAVA_TOOL_OPTIONS=-javaagent:D:/test.jar

推荐设置到环境变量, 配合 AspectJ, 可以构造大杀器.

JVM在启动时检测到有设置 JAVA_TOOL_OPTIONS 时, 会自动将 JAVA_TOOL_OPTIONS 的值加载为 JVM 启动参数

参考资料: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/envvars002.html