11 2023 档案
摘要:sign分析 charles抓取到sign值是一个128位的值,猜测可能是md5或sha128。 寻找sign计算的关键点,可以通过jnitrace对NewStringUTF等函数进行hook,也可以直接写frida脚本hook strlen/NewStringUTF等字符串处理函数,以字符串长度为
阅读全文
摘要:反调试 frida hook strstr发现会对一些敏感的字符串进行判断,将其中涉及到反调试的进行过滤直接返回null。 xposed substrate XposedBridge.jar /data/local/tmp TracerPid: State: android_server gdb l
阅读全文
摘要:栈回溯原理 利用栈帧 x86通常会使用ebp来保存栈帧,在函数头部首先会将ebp即调用者对应的栈帧保存,而调用者的返回地址就保存在此ebp对应的栈地址+4的栈地址中。这样经过多层函数调用,在内存中就会形成一个ebp链,只要知道当前ebp的值并遍历ebp链就可以找到每一层调用的返回地址,这样就可以完成
阅读全文
摘要:uprobe在内核层对用户层进程目标地址的原始指令进行copy之后,写入指定类型中断指令,并且内核中设置对应的中断处理程序。中断处理程序会先去执行uprobe设置的回调过滤函数,然后通过单步异常执行copy的原指令,最后将单步异常返回地址修改为中断指令的返回继续执行剩余指令。ida查看被uprobe
阅读全文