最新 最热

defaultServiceManager介绍

我们在使用binder时候的大致流程是先获取servicemanger的binder,然后通过该binder获取目标服务的binder,最后调用该binder的接口。本篇就介绍下第一步的内容,涉及了从native到驱动,fwk部分先不涉及,希望可以完全理解servic...

2022-10-25
1

Binder介绍系列1

binder是android中独有的一种ipc实现,业界有句话是无binder不android。不了解binder,在阅读android代码中会遇到很多困难,因此为了为后续的android知识介绍打下坚实的基础,决定介绍下binder。binder涉及内容很多,单凭一篇...

2022-10-25
2

[强网杯2021-线上赛] Pwn方向writeup

堆有rwx权限,下标溢出写got函数为堆地址,在两个堆块上拼接shellcode调用read读入shellcode进行orw拿flag

2022-08-01
2

Shell的Show命令(进程篇)

Shell里有很多命令用来查看/管理/调试RTP,最基本的应该就是组件INCLUDE_RTP_SHOW带来的rtpShow()

2022-06-30
1

POSIX之Shared Memory Object

VxWorks支持POSIX的shared memory object - 通过shm_open()获得文件描述符,然后使用mmap()进行映射。shared和private方式都支持。

2022-06-30
1

ART GC &APP memory

[dalvik.vm.heaptargetutilization]: [0.75]

2022-05-13
3

LCD屏幕操作原理_嵌入式Linux

在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。Frame 是帧的意思,buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。Framebuffer 中保存着一帧图像的每一个像素颜色值,假设 LCD 的分...

2022-05-05
3

C|内存管理|COW in Linux

众所周知,在fork时,属于进程private的内存页将会进行COW机制。所谓COW,就是一个资源如果需要值拷贝,在读时不创建出副本,仅当写时再创建。这样的话,就可以方便地判断出什么资源需要真的进行拷贝,而能够共享则无需拷贝,从而减...

2021-11-22
1

Binder: ServiceManager的获取

我们以MediaService为例,来看下service的注册过程。MediaService对应的启动文件在main_mediaserver.cpp中的main方法。

2021-01-27
1

每日一问10 虚拟内存

我们可以写一个程序,来创建很多个线程,然后观察内存占用,在我的笔记本上,创建10000个线程后,通过htop命令我观察到,virtual memory使用了80G,resident memory试用了240M,这两个指标的区别在哪呢?我的笔记本内存只有8G,虚拟内存...

2021-01-05
1