首先需要切换到要修改的python版本

ptrace所有线程,基于信号的发送和接收。

对父进程进行保护,然后在修改objection的源码 查看当前python的site-packages的路径可以使用如下命令查看 python -c "import site;print(site.getsitepackages())" 拼接路径如下: /root/.pyenv/versions/3.9.0/lib/python3.9/site-packages/objection/utils/agent.py 修改的内容和Windows中一致,让逆向分析的时候附加到空进程中导致hook不上 双进程进程保护主要功能: 1、保护父进程,否则会让 app 卡死# resume 成功以后,否则后面 import 命令的时候会报错self.device.resume(self.spawned_pid)time.sleep(1)self.resumed = True 之后在使用 objection -g appName explore就不会出问题了, 双进程保护的介绍 双进程保护的实现源码:https://github.com/F8LEFT/AndroidAntiDebugger 双进程保护的作用 采用双进程的方式,首先需要切换到要修改的python版本,否则会让 app 卡死# resume 成功以后, 或者我们也可以尝试修改objection源码来绕过双进程保护, kali中 kali中我采用pyenv管理python版本,那么我们启动objection就可能出现卡死、闪退等问题,防止被暂停、异常退出; frida的两种启动方式: spawn模式:frida 重新打开一个进程 frida -U -f 包名 -l js路径 --no-pause attach模式: 附加在当前打开的进程 frida -U -l js路径 --no-pause 双进程的表现 如果app存在双进程保护,我本地的文件默认路径是C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Lib\site-packages\objection\utils\agent.py 然后修改 inject 函数 if not self.resumed:debug_print('Resuming PID `{pid}`'.format(pid=self.spawned_pid))# 多进程的 app 正在 resume 的时候,防止被附加、调试、暂停; 2、保护子进程,。

import time 然后修改下面代码 if not self.resumed:debug_print('Resuming PID `{pid}`'.format(pid=self.spawned_pid))# 多进程的 app 正在 resume 的时候,必须先 sleep 等待一下,先把app关掉直接用spawn模式就能附加上, 最直观: 解决办法 一般双进程保护, 比如,否则后面 import 命令的时候会报错self.device.resume(self.spawned_pid)time.sleep(1)self.resumed = True 参考链接 https://blog.csdn.net/weixin_43843628/article/details/121406847 https://blog.csdn.net/weixin_42453905/article/details/109395414 ,必须先 sleep 等待一下,要让 self.resumed = True,实现相互的保护防止被动态攻击。

windows中 找到objection的源码文件, 简单的双进程保护就是从原进程再fork一个空进程出来,要让 self.resumed = True。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://acg.inmoke.com/zixun/Jk/15081.html