博客园 - cgj
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=31305
2015-10-26T07:42:39Z
cgj
https://www.cnblogs.com/jiayy/
feed.cnblogs.com
https://www.cnblogs.com/jiayy/p/4905150.html
在 android 上运行 python 的方法 - cgj
在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非常好的库android官方目前没有支持在android设备运行python,但是网上有一些项目组做了...
2015-10-23T09:15:00Z
2015-10-23T09:15:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非常好的库android官方目前没有支持在android设备运行python,但是网上有一些项目组做了... <a href="https://www.cnblogs.com/jiayy/p/4905150.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4881662.html
Android 6.0 Marshmallow root 方法 - cgj
android 6.0 已经推出 release 版本了, nexus 5,6,7,9 都放了官方镜像, 本篇文章使用 nexus 6 安装最新的 android 6.0 并进行rootstep 1: 安装android6.0https://developers.google.com/android...
2015-10-15T02:44:00Z
2015-10-15T02:44:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】android 6.0 已经推出 release 版本了, nexus 5,6,7,9 都放了官方镜像, 本篇文章使用 nexus 6 安装最新的 android 6.0 并进行rootstep 1: 安装android6.0https://developers.google.com/android... <a href="https://www.cnblogs.com/jiayy/p/4881662.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4831844.html
基于ARM 构架(带MMU)的copy_from_user与copy_to_user详细分析 - cgj
[转自:http://blog.chinaunix.net/uid-20543672-id-3195249.html]在学习Linux内核驱动的时候,一开始就会碰到copy_from_user和copy_to_user这两个常用的函数。这两个函数在内核使用的非常频繁,负责将数据从用户空间拷贝到内核空...
2015-09-23T04:07:00Z
2015-09-23T04:07:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】[转自:http://blog.chinaunix.net/uid-20543672-id-3195249.html]在学习Linux内核驱动的时候,一开始就会碰到copy_from_user和copy_to_user这两个常用的函数。这两个函数在内核使用的非常频繁,负责将数据从用户空间拷贝到内核空... <a href="https://www.cnblogs.com/jiayy/p/4831844.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4528713.html
android 内核调试 - cgj
这篇文档给出使用android emulator 和arm-linux-androideabi-gdb 调试 android kernel 的方法1. checkout goldfish 源码: 模拟器使用的kernel 是 goldfishgit clone https://android.goo...
2015-05-25T11:52:00Z
2015-05-25T11:52:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】这篇文档给出使用android emulator 和arm-linux-androideabi-gdb 调试 android kernel 的方法1. checkout goldfish 源码: 模拟器使用的kernel 是 goldfishgit clone https://android.goo... <a href="https://www.cnblogs.com/jiayy/p/4528713.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4461096.html
【转】Android - Binder机制 - cgj
以下几篇文章是分析binder机制里讲得还算清楚的目录1.Android - Binder机制 - ServiceManager2.Android - Binder机制 - 普通service注册3.Android - Binder机制 - 获得普通service4.Android - Binder...
2015-04-27T11:45:00Z
2015-04-27T11:45:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】以下几篇文章是分析binder机制里讲得还算清楚的目录1.Android - Binder机制 - ServiceManager2.Android - Binder机制 - 普通service注册3.Android - Binder机制 - 获得普通service4.Android - Binder... <a href="https://www.cnblogs.com/jiayy/p/4461096.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4460223.html
【转】C++多继承的细节 - cgj
这几天写的程序应用到多继承。以前对多继承的概念非常清晰,可是很久没用就有点模糊了。重新研究一下,“刷新”下记忆。假设我们有下面的代码:#include classA{private:chardata;public:A(){data ='A';}virtualvoidShow(){printf("A/...
2015-04-27T06:58:00Z
2015-04-27T06:58:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】这几天写的程序应用到多继承。以前对多继承的概念非常清晰,可是很久没用就有点模糊了。重新研究一下,“刷新”下记忆。假设我们有下面的代码:#include classA{private:chardata;public:A(){data ='A';}virtualvoidShow(){printf("A/... <a href="https://www.cnblogs.com/jiayy/p/4460223.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4445086.html
【转】CVE-2010-4258 漏洞分析 - cgj
一. 漏洞简介CVE-2010-4258这个漏洞很有意思,主要思路是如果通过clone函数去创建进程,并且带有CLONE_CHILD_CLEARTID标志,那么进程在退出的时候,可以造成内核任意地址写0的bug。PoC代码利用了多个漏洞来达到权限提升的目的。二. 前置知识 (进程创建、退出)1.当f...
2015-04-21T10:03:00Z
2015-04-21T10:03:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】一. 漏洞简介CVE-2010-4258这个漏洞很有意思,主要思路是如果通过clone函数去创建进程,并且带有CLONE_CHILD_CLEARTID标志,那么进程在退出的时候,可以造成内核任意地址写0的bug。PoC代码利用了多个漏洞来达到权限提升的目的。二. 前置知识 (进程创建、退出)1.当f... <a href="https://www.cnblogs.com/jiayy/p/4445086.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4444825.html
【转】cve-2013-2094 perf_event_open 漏洞分析 - cgj
cve-2013-2094是于2013年4月前后发现的linux kernel本地漏洞,该漏洞影响3.8.9之前开启了PERF_EVENT的linux系统。利用该漏洞,通过perf_event_open系统调用,本地用户可以获得系统的最高权限。发生漏洞的是linux kernel中的perf eve...
2015-04-21T08:53:00Z
2015-04-21T08:53:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】cve-2013-2094是于2013年4月前后发现的linux kernel本地漏洞,该漏洞影响3.8.9之前开启了PERF_EVENT的linux系统。利用该漏洞,通过perf_event_open系统调用,本地用户可以获得系统的最高权限。发生漏洞的是linux kernel中的perf eve... <a href="https://www.cnblogs.com/jiayy/p/4444825.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4444768.html
android CVE 漏洞汇总 - cgj
arm exploits 技术教程:Learning Pentesting for Android DevicesCVE-2015-1530 ,CVE-2015-1474 两个android整数溢出漏洞 分析An integer overflow in Android media could be ...
2015-04-21T08:40:00Z
2015-04-21T08:40:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】arm exploits 技术教程:Learning Pentesting for Android DevicesCVE-2015-1530 ,CVE-2015-1474 两个android整数溢出漏洞 分析An integer overflow in Android media could be ... <a href="https://www.cnblogs.com/jiayy/p/4444768.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4443992.html
【转】Linux Futex的设计与实现 - cgj
引子在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1. 什么是FutexFutex 是Fast Userspace m...
2015-04-21T03:51:00Z
2015-04-21T03:51:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】引子在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1. 什么是FutexFutex 是Fast Userspace m... <a href="https://www.cnblogs.com/jiayy/p/4443992.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4442183.html
【转】cve2014-3153 漏洞之详细分析与利用 - cgj
背景学习:Linux Futex的设计与实现使用者角度看bionic pthread_mutex和linux futex实现By kernux TopSec α-lab一 漏洞概述这个漏洞是今年5月份爆出来的,漏洞影响范围非常广。受影响的Linux系统可能被直接DOS,精心设计可以获取根权限。该漏洞...
2015-04-20T09:38:00Z
2015-04-20T09:38:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】背景学习:Linux Futex的设计与实现使用者角度看bionic pthread_mutex和linux futex实现By kernux TopSec α-lab一 漏洞概述这个漏洞是今年5月份爆出来的,漏洞影响范围非常广。受影响的Linux系统可能被直接DOS,精心设计可以获取根权限。该漏洞... <a href="https://www.cnblogs.com/jiayy/p/4442183.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4442033.html
【转】使用者角度看bionic pthread_mutex和linux futex实现 - cgj
使用者角度看bionic pthread_mutex和linux futex实现本文所大篇幅引用的参考文章主要描述针对glibc和pthread实现;而本文的考察代码主要是android的bionic和pthread实现。1. futex引入的意义传统的SYSTEM V IPC机制需要系统调用进入内...
2015-04-20T08:59:00Z
2015-04-20T08:59:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】使用者角度看bionic pthread_mutex和linux futex实现本文所大篇幅引用的参考文章主要描述针对glibc和pthread实现;而本文的考察代码主要是android的bionic和pthread实现。1. futex引入的意义传统的SYSTEM V IPC机制需要系统调用进入内... <a href="https://www.cnblogs.com/jiayy/p/4442033.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4432393.html
android 调试 native 程序的方法 - cgj
一、背景首先说需求,这个需求非常常见,就是android上需要的一个功能,linux已经有开源代码而且非常稳定,希望能直接porting过去使用,这个程序是pure c 的代码,也就是说,跟android framework, java 没关系,也跟jni没有关系,我们希望的就是能编译成一个可执行工...
2015-04-16T08:07:00Z
2015-04-16T08:07:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】一、背景首先说需求,这个需求非常常见,就是android上需要的一个功能,linux已经有开源代码而且非常稳定,希望能直接porting过去使用,这个程序是pure c 的代码,也就是说,跟android framework, java 没关系,也跟jni没有关系,我们希望的就是能编译成一个可执行工... <a href="https://www.cnblogs.com/jiayy/p/4432393.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4403293.html
【转】针对Android上的ROP攻击剖析 - cgj
引言 ROP(Return-oriented programming),即“返回导向编程技术”。其核心思想是在整个进程空间内现存的函数中寻找适合指令片断(gadget),并通过精心设计返回堆栈把各个gadget拼接起来,从而达到恶意攻击的目的。构造ROP攻击的难点在于,我们需要在整个进程空间中搜...
2015-04-08T10:09:00Z
2015-04-08T10:09:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】引言 ROP(Return-oriented programming),即“返回导向编程技术”。其核心思想是在整个进程空间内现存的函数中寻找适合指令片断(gadget),并通过精心设计返回堆栈把各个gadget拼接起来,从而达到恶意攻击的目的。构造ROP攻击的难点在于,我们需要在整个进程空间中搜... <a href="https://www.cnblogs.com/jiayy/p/4403293.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4388317.html
解决小米/红米手机无法进行jdwp调试的问题 - cgj
问题描述:在逆向一个app,研究环境是一台红米2,需要使用jdwp接口,也就是ddms下面这个界面:但神奇的是,同一台主机上,模拟器的进程可以显示在ddms界面上,红米2确一个进程都没有显示出来。cmd里使用 adb jdwp 命令,也没有显示任何接口。通过简单搜索发现,一个app进程要能被jdwp...
2015-04-02T12:39:00Z
2015-04-02T12:39:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】问题描述:在逆向一个app,研究环境是一台红米2,需要使用jdwp接口,也就是ddms下面这个界面:但神奇的是,同一台主机上,模拟器的进程可以显示在ddms界面上,红米2确一个进程都没有显示出来。cmd里使用 adb jdwp 命令,也没有显示任何接口。通过简单搜索发现,一个app进程要能被jdwp... <a href="https://www.cnblogs.com/jiayy/p/4388317.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4388112.html
android usb adb流程[转] - cgj
android adb 概述android adb的代码分为两部分:kernel层的代码在如下路径:drivers/usb/gadget/f_adb.cdrivers/usb/gadget/android.c他吐给上层应用的是如下的设备节点:/dev/android_adb应用层的代码在如下路径:s...
2015-04-02T11:28:00Z
2015-04-02T11:28:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】android adb 概述android adb的代码分为两部分:kernel层的代码在如下路径:drivers/usb/gadget/f_adb.cdrivers/usb/gadget/android.c他吐给上层应用的是如下的设备节点:/dev/android_adb应用层的代码在如下路径:s... <a href="https://www.cnblogs.com/jiayy/p/4388112.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4369559.html
[转]Native进程的运行过程 - cgj
Native进程的运行过程一般程序的启动步骤,可以用下图描述。程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行。通常,native进程是由shell或者init启动,启动的过程如下:Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程新for...
2015-03-26T09:49:00Z
2015-03-26T09:49:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】Native进程的运行过程一般程序的启动步骤,可以用下图描述。程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行。通常,native进程是由shell或者init启动,启动的过程如下:Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程新for... <a href="https://www.cnblogs.com/jiayy/p/4369559.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4365852.html
android ARM 汇编学习 —— hello world - cgj
android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析adb putty 连上手机,用busybox vi 写一个 helloworld croot@HM2014813:/data/local/tmp # busybox vi ...
2015-03-25T07:29:00Z
2015-03-25T07:29:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析adb putty 连上手机,用busybox vi 写一个 helloworld croot@HM2014813:/data/local/tmp # busybox vi ... <a href="https://www.cnblogs.com/jiayy/p/4365852.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4365356.html
android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析 - cgj
学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景。在目前 android 提供的开发环境里,如果要编写 c / cpp code, 一般是通过 ndk 开发套件,基本方法就是在 windows 或 linux 发行...
2015-03-25T04:48:00Z
2015-03-25T04:48:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景。在目前 android 提供的开发环境里,如果要编写 c / cpp code, 一般是通过 ndk 开发套件,基本方法就是在 windows 或 linux 发行... <a href="https://www.cnblogs.com/jiayy/p/4365356.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jiayy/p/4323202.html
两步完美解决 androud 模拟器太慢的问题 - cgj
androud 开发环境默认的 avd 管理器下载并启动的模拟器,运行速度非常慢,有时不可忍受,用下面两步可以解决这个问题:下载 genymotion-2.3.1 (注意,最好是这个版本,试过2.4等其他版本,第2步没法成功)并安装, 这个模拟器比原生的模拟器快很多,但默认只能支持x86体系架构。 ...
2015-03-09T03:47:00Z
2015-03-09T03:47:00Z
cgj
https://www.cnblogs.com/jiayy/
【摘要】androud 开发环境默认的 avd 管理器下载并启动的模拟器,运行速度非常慢,有时不可忍受,用下面两步可以解决这个问题:下载 genymotion-2.3.1 (注意,最好是这个版本,试过2.4等其他版本,第2步没法成功)并安装, 这个模拟器比原生的模拟器快很多,但默认只能支持x86体系架构。 ... <a href="https://www.cnblogs.com/jiayy/p/4323202.html" target="_blank">阅读全文</a>