搜了一圈就是没有一个解决这个问题的…
前置步骤
参考知乎@Jason
:Android APP隐私合规检测辅助工具Camille环境配置指引
问题
- 报文件不存在之类的问题:网络上说是adb环境变量的问题,但是我配置了还是不行。我把Camille工具放adb目录了解决了这个问题。
- 文件没有输出问题:看了下issues都说是会在执行的目录,按
Ctrl+C
去结束。但是结束了没有找到文件。跟踪了下脚本,发现两个问题:
- 是没有hook成功,导致注册停止的监听没有注册成功。看逻辑是应该会有提示的,不过并没有按预期执行。
解决方法:python camille.py xxx -ns -f demo.xls -t 1
加上延迟-t 1
即可
- 加了延迟,打日志也成功看到注册了。但是注册的信号并没有被触发。
解决方法:修改camille.py
结束的逻辑改为输入stop
结束。注意,如果你有类似问题可以搜索一下片段去修改下,注意python缩进!
if isHook:
print_msg('setup hook fun.')
def stop(signum, frame):
print_msg('You have stoped hook.')
session.detach()
if execl_file:
global execl_data
write_xlsx(execl_data, execl_file)
exit()
#signal.signal(signal.SIGINT, stop)
#signal.signal(signal.SIGTERM, stop)
#sys.stdin.read()
while True:
user_input = input("请输入指令(输入'stop'来停止):")
if user_input.lower() == 'stop':
stop("","")
break
修改后的效果,可以在指定目录找到文件了。
注意事项&问题原因
可能是兼容性问题导致原本的代码不能正常结束,去触发生成文件。具体原因咱也不知道。
我也不知道这么改有没有别的问题,不过确实是可以生成文件,且里面有很多检测结果,就算是有遗漏的也是有参考意义的。