自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android使用共享内存实现进程间送YUV数据

由于“camerahooker"进程权限较高(uid:root,gid:root),而“cameraserver”进程的权限较低,为保证两个进程都能访问共享内存,共享内存由“cameraserver”进程来创建,而且共享内存映射(mmap)的文件放在“cameraserver”进程的目录“/data/misc/cameraserver”目录下。同时“cameraserver”进程需要通知“camerahooker”进程开始(请求)、结束拉取rtc流并包含请求视频的宽高等信息,所以共享内存需要实现双向通讯。

2025-03-21 12:04:34 1145

原创 Android 拦截、替换相机码流实现方案四之二

这里先列一下注入的具体流程:1.查找cameraserver进程ID->2.附加到进程->3.远程调用在目标进程中分配内存->4.远程调用将要注入的so库路径写到3中分配的内存->5.远程调用dlopen在目标进程中加载我们注入的so库->6.与目标进程分离(Detach)。

2025-03-18 15:07:37 1205 2

原创 Android 拦截、替换相机码流实现方案四之一

编译一个android 可执行程序(elf),并以root权限运行注入到cameraserver进程(路径是:“/system/bin/cameraserver”),并hook模块libcameraservice.so的函数实现相机码流的替换。

2025-03-17 17:32:25 1461

原创 Android 拦截、替换相机码流的实现方案探索

因业务需求需要获取Android 相机码流做一定处理后并还回给系统。

2025-03-11 18:17:36 1837

C++标准程式库.pdf

详细讲诉了C++中的标准库式 // stl/mmap1.cpp #include <iostream> #include <map> #include <string> using namespace std; int main() { // type of the collection typedef multimap<int,string> IntStringMMap; IntStringMMap coll; // container for int/string values // insert some elements in arbitrary order // - a value with key 1 gets inserted twice coll.insert(make_pair(5,"tagged")); coll.insert(make_pair(2,"a")); coll.insert(make_pair(1,"this")); coll.insert(make_pair(4,"of")); coll.insert(make_pair(6,"strings")); coll.insert(make_pair(1,"is")); coll.insert(make_pair(3,"multimap")); /* print all element values * - iterate over all elements * - element member second is the value */ IntStringMMap::iterator pos; for (pos = coll.begin(); pos != coll.end(); ++pos) { cout << pos->second << ' '; } cout << endl; }

2009-03-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除