1625-5 王子昂 总结《2018年2月9日》 【连续第497天总结】
A. Frida-python on windows问题排查
B.
昨天脚本跑了二十遍以后就会内存读取错误而崩溃

今天继续研究了一下这个问题

首先精简脚本发现

import frida
for i in range(20):frida.attach('notepad.exe')

也会报错,说明跟注入的js脚本无关,是frida-python的问题

找了一下发现frida-python竟然没有文档,开发者似乎试图让使用者自行阅读源码来理解使用方法……真任性OTZ

感觉问题出在server上,对attach的session数量有限制而未及时释放和重用内存导致溢出

通过ipython发现frida模块下有shutdown方法,运行以后就报Device Manager closed异常

观察进程管理发现attach以后会自己起一个windows server:

而shutdown和kill这个server都会使得无法再attach

那么不能解决这个server内部的问题就只能每10-20次尝试以后就重启一个server来attach了
找了一下也没发现启动server的方法,似乎是import时初始化来的

于是最后只想到一个曲线救国的方法:多进程调用脚本
py(a)->py(b)->frida
py(a)负责主流程控制,发送和接收数据,开启多个进程/逐次启动py(b)
py(b)来import frida,并进行注入等工作

这样每个py(b)都会起一个server,从而避免在一个server中进行大量的尝试
虽然这样毫无疑问会显著降低效率,但是无法解决server溢出的问题也没有办法了……

这个起server的指令是在闭源的pyd中进行,没有办法改参数啥的怕是没救了

C. 明日计划
python web

180209 逆向-Frida-python on win多进程BUG(曲线救国)相关推荐

  1. App逆向 Frida - 夜神模拟器安装配置 基本使用

    App逆向 Frida - 夜神模拟器安装配置 基本使用 文章目录 App逆向 Frida - 夜神模拟器安装配置 基本使用 前言 一.Frida简单介绍? 1.Frida是什么 2.Frida原理( ...

  2. 1. Android逆向-Frida环境搭建

    文章目录 Frida环境搭建 PC上安装Frida 测试设备的Frida Python环境 Frida时当下比较流程的逆向工具,其本身是开源的.在Github上可以找到项目 frida/frida: ...

  3. python廖雪峰_【Python】python中实现多进程与多线程

    进程与线程 进程(process)就是任务,是计算机系统进行资源分配和调度的基本单位[1].比如,打开一个word文件就是启动了一个word进程. 线程(thread)是进程内的子任务.比如word中 ...

  4. python多线程和多进程的使用_python多线程与多进程

    python多线程与多进程 python多线程 python中提供两个标准库thread和threading用于对线程的支持,python3中已放弃对前者的支持,后者是一种更高层次封装的线程库,接下来 ...

  5. python 多进程_说说Python多线程与多进程的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  6. python编写程序的一般步骤-Python编写win程序的操作流程

    今天给大家讲的是Python怎样编写win程序的方法,对Python编写win程序的操作流程感兴趣的同学们就一起学习下具体方法吧! Python编写win程序的操作流程 1.在app.py同一目录下建 ...

  7. async python两个_【Python】python中实现多进程与多线程

    进程与线程 进程(process)就是任务,是计算机系统进行资源分配和调度的基本单位[1].比如,打开一个word文件就是启动了一个word进程. 线程(thread)是进程内的子任务.比如word中 ...

  8. python多进程关闭socket_用Python制作一个多进程UDP服务器,一个进程监听一个p

    我想用Python制作一个多进程UDP服务器,从一个类中为每个进程监听一个端口: processListener.py:import multiprocessing import socket cla ...

  9. python服务端多进程压测工具

    本文描述一个python实现的多进程压测工具,这个压测工具的特点如下: 多进程 在大多数情况下,压测一般适用于IO密集型场景(如访问接口并等待返回),在这种场景下多线程多进程的区分并不明显(详情请参见 ...

最新文章

  1. mybatis的注解开发之三种动态sql
  2. php获取分辨率赋值,php如何获取客户端分辨率?实例教程
  3. 编写五子棋的完整python代码_python实现五子棋游戏(pygame版)
  4. 交换机配置——VTP管理交换机的VLAN配置
  5. python3(一)数字Number
  6. python简单图画程序_用Python的Turtple画图形
  7. 自制简易前端MVC框架
  8. Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
  9. .NET 工具生成引擎概述
  10. 拼团小程序源码_拼团小程序制作干货教程
  11. activiti启动流程实例
  12. 引用数据类型的一些知识
  13. 获取Access数据库字段的所有属性(转)
  14. matlab 不确定度计算器,A类贝塞尔不确定度计算器
  15. CRON 定时任务 在线解析
  16. 贴片电阻有哪几类封装尺寸?
  17. SUCTF2019-hardCPP WP
  18. AI技术内参021-SIGIR2018论文精读:如何对搜索页面上的点击行为进行序列建模?
  19. ultraos win10启动盘_ultraiso制作u盘启动盘教程图文详解
  20. elastic stack 基础组件beats详解

热门文章

  1. Android10 读取和写入手机内部存储
  2. 汇编语言程序设计IV-贺利坚-专题视频课程
  3. Phython做小鸟飞行游戏
  4. 几种常用可视化图表,该怎么用?
  5. Unity shader build 打包android和PC机显示效果不一样
  6. 联通云的七大“场景云”,能让用户实现云计算自由吗?
  7. Python网络爬虫与信息提取
  8. android 六棱形分析图,[转载]菱形整理形态、三角形整理形态图解及分析
  9. 视频APP源码,支持第三方支付,卡密充值,
  10. JS绑定事件三种方式