hook dlopen在刚开始hook 我们必须使得app加载so 才能hook, 我们可以hookdlopen 获取到so在那加载,在高版本中有一些so会走android_dlopen_ext 123456789101112131415161718192021222324252627282930313233343536function hookTest6(){ var dlopen = Module.findExportByName(null, "dlopen"); console.log(dlopen); if(dlopen != nu...
Hook 导出函数123456789101112131415161718192021222324252627282930// hook 导出函数function hookTest1() { var addAddr = Module.findExportByName("libxiaojianbang.so", "Java_com_xiaojianbang_app_NativeHelper_add"); console.log(addAddr); if (addAddr != NULL){ I...
hook so 导入导出表启动frida打开两个cmd 窗口 12345第一个cmd窗口adb shellsucd /data/local/tmp./fx // 这个是frida-server-12.8.14-android-x86的缩写 123第二个cmd窗口adb froward tcp:27042 tcp:27042frida -U com.xiaojianbang.app -l hookso.js 编写frida 脚本获取导入函数信息123456789101112131415先打印一下导入函数名function hookso(){ var imports =...
Hook 通杀Hook 普通方法和修改函数参数返回值fradaserver 是手机端的, android低版本 frida 尽量低版本 fridaserver版本要与frida库版本一致 不同平台用不同fridaserver 不要和xposed装一起,新疆模拟器,刷机 设备要求: ​ root 调试下载frida-server push到手机中 (注意查看手机是86的还是64的) adb push .\frida-server-12.8.14-android-x86 /data/local/tmp/fsx86 之后cd到tmp目录下 先给fsx86 赋权 chmod 777...
Hey, password is required here. 184ec4c94e65a4b619ea732bd39a29aaf452514072ddb6dff084e29ad47fa9af80385d244fd7fd87aa16e025c8c19fa13c31b0b39fc4ac831a76b498d2a8b56d6c14a5aef5c1a878b62b4013a85f438dc96e53f8a9e240b4df3c38a9fded280a1291adf50cebae2d0befddbf78a27da492a99c7a71925ac2a651...
RememberOther附件下载https://adworld.xctf.org.cn/media/task/attachments/476d9022bb0449c09c0b1e24f0686b66.zip 分析先安装 然后看看逻辑 额 这个不就是注册机吗,这个做过,方法比较多, 直接看jadx 反编译出的代码,看看flag在哪 看到有个判断,应该是需要注册成功后返回 那么打开Androidkiller 修改if 判断处的逻辑,然而 我没找到if 判断,那就只能改checkSN方法了 然后安装 点击注册 直接输出flag 同样 ,在返回值中,返回的是R.string.unsuc...
Ph0en1x-100附件下载https://adworld.xctf.org.cn/media/task/attachments/f6adc401d0eb472892a4ac4481f76a85.apk 分析上手第一步还是看app逻辑, 可以看的出来 输入flag 判断正确与否,又是一个算法题。 打开jadx 找到MainActivity,很明显就可以看到Success, 目标:输入正确的flag 让if 判断成立 12先对输入的字符串进行了一次encrypt, 之后在进行一次getSecret ,然后和getFlag() 做了一次判断是否相等getSecret(getFlag()...
Hey, password is required here. aaa6fe3db5419f7744467e1066a426cb11ebfe1f8768bad75e1c240200e6f460f2e4514be02e50abcee6c603432129860e4a79958a4d2cd5389dd54c272ac2df8c2605146f06f6ee04087e9c89777b93ad822ed3a5d85be0cbaf587c4dc654876aade552cbc7a884080252d5f1af8a8cd51e7d43c142de82f787...
app2附件附件地址:https://adworld.xctf.org.cn/media/task/attachments/2554cf208cfb4cdf9218a840fa9bf237.apk 分析先看逻辑,打开app 是一个登录界面,难道是sql注入, 点击登录后返回Waiting fot you 打开jadx看看, 先搜索一下点击登录返回的字符串,没有找到结果 打开ddms 看看,在log输出了用户名和密码,然后追踪到具体的log位置 之后Intent intent = new Intent(this, SecondActivity.class);,看看SecondActiv...
App1附件下载https://adworld.xctf.org.cn/media/task/attachments/b9af8dfef6b749d2819ef5be16c26a0d.apk 分析看看逻辑 输入字符串判断 打开jadx 查看代码 输入字符串应该为versionCode.charAt(i) ^ versionName , 看来要满足的条件是: ​ str = versionCode.charAt(i) ^ versionName ​ str.length = versionCode.length 动态调试一下,拿到这两个值versionCode 和 vers...