- 博客(23)
- 收藏
- 关注
转载 ARM的C语言与汇编语言混合编程
转:http://hi.baidu.com/fuanhong/item/ffe6097fc12c603e6dc37c9d 基于ARM的C语言与汇编语言混合编程 C语言与汇编语言混合编程应遵守的规则 在使用C语言时,要用到和汇编语言的混合编程。若汇 编代码较为简洁,则可使用直接内嵌汇编的方法;否则要 将汇编程序以文件的形式加入到项目中,按照ATPCS (ARM/Thu
2012-06-01 16:02:26
1948
原创 Dalvik 指令学习
Dalvik 指令可在在 android2.32\dalvik\docs\opcodes 中看到很详细的介绍 网上也有很多参考资料,比如 http://blog.youkuaiyun.com/hlchou/article/details/6303566 也可以在源码中 \android2.32\dalvik\libdex\OpCode.h 能找到很详细的定义 通过对源码的分析及相关资料搜索,再进行
2011-11-10 11:18:18
3107
转载 Linux下的反调试技术
转自 http://wangcong.org/blog/archives/310 如何防止自己的程序被调试器跟踪,这是一个很有趣的话题,也是反逆向工程中的一个重要话题。这里简单介绍一下Linux平台上的反调试技术。 (本文主要参考:http://blog.txipinet.com/2006/10/05/37-tecnicas-anti-debugging-sencillas-para-
2011-11-09 10:38:08
2535
原创 SIP 学习 (8) --- endpoint
下图是来至 http://zhangwenjie.net 中的 PJSIP 开发指南 可惜在写此文的时候不能够访问! 从上图中可以看到 END POINT 是一个中心,有着非常重要的作用。而 PJSIP 官网中: https://trac.pjsip.org/repos/doxygen/pjsip/html/modules.htm 也说到是一个 Very Cor
2011-11-07 14:40:41
2475
原创 SIP 学习 (7) --- C语言中的面向对像
上文的 uri 分析中我们发现结构体总是有一个指针,注释写的很明白,是一个虚拟函数指针,和C++中的虚表中却是十分想像。 不此在 PJSIP 中十分常见,在 Android 源码中,还有其它的开源工程也是很常见的。好的,写个简单工程来解释疑惑。 /** * 用 c 语言实现类的继承,并且可用父类指针操作子类对像的一个测试例子 * * @Author: tomken.zhan
2011-11-04 11:20:05
2195
原创 SIP 学习 (6) --- PJSIP URI Parser
在 SIP 中,用户 URI 描述是最基本的一项信息,也有相应的格式,先看看这个是怎样解析的吧。 实际上在好的工程下面都有完备的单元测试代码,同样在 PJSIP 中也是能找到相关的测试代码,我们可以打开 pjproject-1.10\pjsip\src\test\uri_test.c 在代码中举例出不下 38 种 URI 格式,用以程序分析,可见仅仅一个字符串解析,这个工程也是做的
2011-11-04 10:07:55
3344
原创 Android 类实现探索-系统基础类
一直在研究 Dalvik 的实现,今天突然想起一件事情,我们默认可以用 java.lang.Object 等系统类,他是在什么时候被加载进来了呢,我们自己的类是否可以这样预先加载进去呢? 顺着这个思路,再回顾一下原来对 Zygote 启动时的流程,探索一番! Zygote 启动流程(网上有很多的分析不太详诉): >>> Kernel 启动 >>> 启动 init 程序,此程
2011-11-02 10:31:38
3762
原创 SIP 学习 (5) --- PJSIP
PJSIP 我们要分析的重点 引用官方的一张图: PJLIB 做为与系统打交道底层支持库 PJLIB-UTIL 是封装的一些工具库 PJNATH 则是对 NAT 相关做支持 PJMEDIA 完成 SDP 与媒体栈的封装 而上面的又需要第三方库支持,就是源码目录中的 third_party PJSIP 则简单很多只需要 PJLIB-UTIL 与 PJLIB 的支持
2011-10-26 14:16:59
4461
原创 SIP 学习 (4) --- PJLIB-UTIL
这个库看名字应该是对 PJLIB 进行扩展的一个包。同样打开 include 看看,发现一个头文件 pjlib-util.h #ifndef __PJLIB_UTIL_H__ #define __PJLIB_UTIL_H__ /** * @file pjlib-util.h * @brief pjlib-util.h */ /* Base */ #include
2011-10-26 13:54:29
3329
原创 SIP 学习 (3) --- PJLIB
打开 PJLIB 的 include 目录 pjlib.h 非常明显的头文件,做为基础库的头文件,是我们分析的起点 #ifndef __PJLIB_H__ #define __PJLIB_H__ /** * @file pjlib.h * @brief Include all PJLIB header files. */ #include // 网络
2011-10-26 11:31:33
4242
1
原创 SIP 学习 (2) --- PJSIP
SIP 在移动开发中,经常让人提及的是 pjsip, 官方网站: http://www.pjsip.org/ 他的优缺点网上和官方自有介绍。 我的学习计划就是对这个开源软件进行分析及与 SIP 协议进行对比,从而加大对 SIP 这块领域的了解。 下载源码 pjproject-1.10 通过网络了解如下信息: PJSIP 这个库实际上是几个部分组成的: 1).PJSI
2011-10-26 10:53:53
5218
转载 SIP 学习 (1)
最近在学习SIP,刚刚看了一个很好的开源工程 pjsip 很强大! 可是对 SIP 还不是很了解,特增加了一个学习计划:SIP学习 RFC 文档参见:http://www.ietf.org/rfc/rfc3261.txt SIP 也是类似 HTTP 的一个协议集合,在网上搜索了一下相关的信息,摘录如下: SIP消息的第一行包含消息的类型和所使用的SIP版本(2.0)。在请求中,
2011-10-26 10:32:58
3978
原创 Android 开发技巧汇总
安装 APK Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/SafeMgr_Android_V1.5.32_Update.apk")), "application/vnd.android.package-archive"); startA
2011-10-24 10:27:22
1920
转载 JNI 使用,原来我一直错
转自: http://www.ibm.com/developerworks/cn/java/j-jni/ 最好看原版吧,排版非常好,这里粘贴是为了备份一下! Java 环境和语言对于应用程序开发来说是非常安全和高效的。但是,一些应用程序却需要执行纯 Java 程序无法完成的一些任务,比如: JNI 的发展 JNI 自从 JDK 1.1 发行版以来一直是 Java 平台的一部
2011-10-20 13:18:50
6614
原创 CyanogenMod 编译环境搭建笔记
著名的 CyanogenMod 为我们 Android 用户提供了一个可选择的精简 ROM,同时也是一个开源工程。值得学习! 在网上找了找相关的环境搭建,应该不太难!在这里初步列一下大概步骤: 1. 获取 repo curl http://androi
2011-10-17 16:03:08
1823
原创 SuperUser for Android 实现分析
著名的 Superuser 程序是一直我们 root 后必装的一个软件,同时也保证了我们在 root 后安全的使用 root 能力。 在这里十分赞同这样的行为,在对设备进行扩充能力的同时避免扩充后的弊端, 再一次证明双刃剑要合理运用的道理。 如果说 root ex
2011-10-14 13:48:50
4018
原创 漏洞 — zergRush (补充)
没看到上文的参见一下 http://blog.youkuaiyun.com/tomken_zhang/article/details/6866260 上文中还没有来细细分析漏洞的出处及利用过程,现在又有所收获,特记录下来。 上文说到,向 vold 发送了一段 SOCKET
2011-10-13 15:20:33
5358
原创 Binder 使用探索
在 Android 中 Binder 不可不知。 究竟 Binder 下面是如何玩转呢, 又是探索源代码的好理由 :D 在 Driver 中有 Binder 的驱动,这块就不深入了解了,只想了解在使用上面的一些原理。 在源码中搜索发现三处目录比较重要 \an
2011-10-10 15:39:18
1091
原创 Android 类实现探索-原始数据类型
在上几篇中留下了一个疑点 struct DataObject { Object obj; /* MUST be first item */ /* variable #of u4 slots; u8 u
2011-10-10 10:07:25
567
原创 Android 类实现探索-继承
上一篇文章有说到,在Android中的每一个类,在内存中都是以ClassObject结构体来表示的。而类的每个方法都是以Method结构体来表示的。具体可看源码中的 Object.h 在 ClassObject 中有下面几个变量和今天的题目有关: Class
2011-10-10 09:26:12
690
原创 Android 类实现探索-内存结构
通过源码中的 Object.h 中可以看到 typedef struct Object { /* ptr to class object */ ClassObject* clazz; /* * A word containi
2011-10-10 08:52:54
597
原创 漏洞 — setuid 使用
在 Android 开发中,有一个 ADBD 服务,是为了让开发者可以调试程序。用 adb shell 连上手机,通过 ps 命令看 adbd 进程的信息:shell 19128 1 3448 196 ffffffff 00008294 S /sbin/
2011-07-20 11:04:28
932
原创 漏洞 — noreturn 使用
如下二种对函数 func 进行的声明: int func() __attribute__ ((noreturn)); int func() ; 执行结果略会略有不同,如果使用不当,存在被利用的风险,看如下使用: if(err != 0) { func();
2011-07-20 10:46:42
409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人