摘要:
我们在上面看到IDA打开so之后,看到的是纯种的汇编指令代码,所以这就要求我们必须会看懂汇编代码,就类似于我们在调试Java层代码的时候一样,必须会smali语法,庆幸的是,这两种语法都不是很复杂,所以我们知道一些大体的语法和指令就可以了,下面我们来看看arm指令中的寻址方式,寄存器,常用指令,看完 阅读全文
摘要:
Tips 到Activity下,记得看oncreate getprop ro.product.cpu.abi 查看系统CPU处理器 whoami 查看当前用户 看雪xctf题可以看别人怎么做,或者在星球直接搜 adb shell input text "点击输入密码" adb logcat | gr 阅读全文
摘要:
方法 1 function main(){ Java.perform(function(){ var StringClass = Java.use("java.lang.String"); var byteArray = StringClass.$new("Hello World").getByte 阅读全文
摘要:
在使用ddms或者动态调试app的时候需要打开调试模式,通过下面的命令查看当前的调试状态 ``` su getprop ro.debuggable ``` 如果显示为1则为调试状态,否则执行下面的操作 ``` adb shell sailfish:/ $ su 切换至root模式 sailfish: 阅读全文
摘要:
JNI 对引用数据类型的操作 1.字符串 JNI 把字符串当引用类型来处理,不像 Java 的字符串能直接使用,于是 JNI 提供了 Java 字符串之间相互转换的函数。因为 Java 中的字符串是不可变的,所以 JNI 也不提供任何修改现有字符串内容的函数。 JNI 创建字符串 jstring j 阅读全文
摘要:
1 which which 2 nano /etc/proxychains4.conf 3 proxychains git clone https://github.com/pyenv/pyenv.git ~/.pyenv 4 echo 'export PYENV_ROOT="$HOME/.pyen 阅读全文
摘要:
//frida hook aes function hook_cipher(){ var cipher = Java.use("javax.crypto.Cipher"); cipher.doFinal.implementation = function(data, offset, length){ 阅读全文
摘要:
var StringCls = Java.use("java.lang.String"); var stringVal = StringCls.$new(byteArr,"utf-8"); console.log("param:", stringVal); 阅读全文