- 博客(35)
- 资源 (11)
- 收藏
- 关注
转载 这其实是个励志故事,告诉我们只要坚持,再烂的程序员都可以写到亿级别的项目的
漏洞概要关注数(67) 关注此漏洞缺陷编号: WooYun-2012-12758漏洞标题: 12306漏洞一包裹相关厂商: 中国铁道科学研究院漏洞作者: qiaoy提交时间: 2012-09-27漏洞类型: SQL注射漏洞危害等级: 高漏洞状态: 厂商已经确认漏洞来源: http://www.wooyun.or
2012-10-25 22:50:13 2871 1
原创 C++ 二维数组与元素为指针的数组
“元素为指针的数组”比指针数组的说法好,不然哪天犯二就不知道这到底是什么了,看英语就很清楚: pointer to array 对应int (*p)[10]array of pointers 对应int *p[10]最简单的理解方式就是,假设你是编译器,你要看看自己是否能够合理的解释这些语句?练习1:char array[5][10];char (*p
2012-10-25 21:32:29 1596
转载 数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;
2012-10-25 21:13:38 411
转载 Android短彩信收发流程(Framework)
短信部分:短信的发送,Framework部分从SmsManager的sendTextMessage(普通短信,无分段)与sendMultipartTextMessage(长短信,已分段)开始,一直到RIL。主要涉及到的类有。SmsManager、Isms、IccSmsInterfaceManager、SMSDispatcher、ImsSMSDispatcher、GsmSMSDispatcher
2012-10-18 17:18:44 1011
转载 如何在ubuntu下下载姜饼(Gingerbread)源代码并编译android ROM
Android源代码由两部分组成,其一是Android系统应用部分的代码,其次是Android所使用的内核代码,由于公司是针对Google nexus s来开发rom,所以需要下载三星的内核代码 Android 系统应用代码 http://android.git.kernel.org/ Android内核代码 http://android.git.kernel.org/?p
2012-10-18 16:07:06 561
转载 Android短彩信收发流程(应用层)
下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程。主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送。ComposeMessageActivity.sendMessage从下图可以看出,在这个方法中,主要做的事是确认手机状态的有效性。最终调用WorkingMessage的send
2012-10-18 15:57:03 819
原创 sql 查询MMS_REPORT_STATUS
查询 MMS_REPORT_STATUS语句 case MMS_REPORT_STATUS: /* SELECT DISTINCT address, T.delivery_status AS delivery_status,
2012-10-14 19:20:08 1158
转载 SQL UNION 和 UNION ALL 操作符
SQL UNION 和 UNION ALL 操作符Previous PageNext PageSQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语
2012-10-14 16:42:43 461
转载 SQL RIGHT JOIN
SQL RIGHT JOIN 关键字Previous PageNext PageSQL RIGHT JOIN 关键字RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。RIGHT JOIN 关键字语法SELECT column_name(s)FROM table_na
2012-10-14 16:39:24 470
转载 SQL LEFT JOIN 关键字
SQL LEFT JOIN 关键字LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。LEFT JOIN 关键字语法SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=tabl
2012-10-14 16:32:17 410
转载 SQL INNER JOIN
SQL INNER JOIN 关键字Previous PageNext PageSQL INNER JOIN 关键字在表中存在至少一个匹配时,INNER JOIN 关键字返回行。INNER JOIN 关键字语法SELECT column_name(s)FROM table_name1INNER JOIN table_name2 ON table_n
2012-10-14 16:28:16 456
原创 android Mms 数据库5
Mms数据库的triggers1. threads表将SMS、MMS的信息组织成一个conversation,所以当MMS、SMS信息发生改变时也需要更新threads表2. 维护pending_msgs表格,其中包含pending_msgs表用于存储待发送或下载的SMS/MMS3. 维护错误标志位 /** * the name of the table
2012-10-14 10:46:49 1134
转载 android Mms 数据项分析
这篇文档介绍的很详细:http://wenku.baidu.com/view/043568a8dd3383c4bb4cd25b.html /** * This table maps the first instance seen of any particular * MMS/SMS address to an ID,
2012-10-14 10:24:27 626
转载 还原Android彩信数据库
转自: http://blog.csdn.net/xiakq/article/details/6227163几周前在做Android彩信数据库还原时遇到了一个很棘手的问题,就是Android的彩信数据库不向短信数据库那样可以方便的用一条insert语句创建一条记录,而我没有得到许可去修改Android平台的彩信应用的原代码,所以我不得不另寻它径。在下面我会尽我可能用尽量简洁的语言描述整
2012-10-13 23:24:21 1000
原创 APN部分数据项
APN的类型和其所对应的值如下default 1supl 4mms 2tethering 8身份验证类型及其所对应的值如下None 0PAP 1CHAP 2PAP or CHAP 3
2012-10-13 23:14:27 694
转载 PDU介绍
转自 http://blog.csdn.net/hitlion2008/article/details/7408638Android当中的Mms对MMS(Multimedia Messaging Service)的操作关乎MMS协议部分都是通过Frameworks中提供的API来完成的:com.google.android.mms这个包在SDK中是不开放的,只能供内部程序使用,它封装了
2012-10-13 23:04:30 2306
转载 解bug策略
转自http://blog.csdn.net/hitlion2008/article/details/7578178现在维护和定制Android的需求越来越多,做的人也越来越多,而Google直接Release出来的源码中又有很多Bug和不合理的地方,特别是原生的应用,如Mms,Browser, Email, Contacts等。定制或做Android解决方案第一步就是要修复原生的Bu
2012-10-13 22:58:05 606
原创 Mms 数据库的一个bug
之前遇到的一个Mms 数据库的bug,看到4.1版本已经解掉了;老版本的代码: public static void updateThread(SQLiteDatabase db, long thread_id) { if (thread_id < 0) { updateAllThreads(db, null, null);
2012-10-13 21:25:12 762
原创 android Mms 数据库4
thread的产生当和一个联系人进行交流时,会将产生的message进行归类到conversation,其判断依据是recipient:android.provider.Telephony.java /** * This is a single-recipient version of * getOrCreateThread
2012-10-13 20:59:55 1329
原创 android Mms 数据库3
先来看看Mms相关表格pdu :存储彩信的基本信息,一条mms在pdu表中由一条数据项表示addr:关于收件人的表,群发彩信时收件人地址就存在这里part:彩信的每个媒体文件(比如彩信有多少个音频,图片或视频)drm: 彩信中媒体文件权限信息rate:传送速度相关的信息MMS/SMS相关表格关系threads _id主键;recipient_ids关联can
2012-10-13 17:07:34 2104
原创 android Mms数据库2
Mms数据库的位置/data/data/com.android.providers.telephony/databases/mmssms.db先看sms,从这里可以找到uri的分类 sURLMatcher.addURI("sms", null, SMS_ALL); sURLMatcher.addURI("sms", "#", SMS_ALL_ID);
2012-10-13 16:31:44 959
原创 android Mms 数据库1
简介Mms 数据库代码的位置在/packages/providers/TelephonyProvider,这里还包括APN的部分。从AndroidManifest中可以看到,其注明sharedUserId为android.uid.phone,运行在com.android.phone进程中。TelephonyProvider是APN的数据库,SmsProvider、MmsProvider、Mms
2012-10-13 15:55:54 1435
转载 android Mms代码结构
转自:http://blog.csdn.net/hitlion2008/article/details/7055025从软件的功能角度来讲,Mms分为对话列表,消息列表,短信编辑,彩信编辑,短信显示,彩信显示和配置。从实现的角度来看,它分为GUI展示层,发送/接收,彩信解析,彩信附件,信息数据等,这些分类对应着源码中的各种包。源码导航Mms的源码的位置在于andro
2012-10-13 15:19:06 719
转载 Android MMS学习
转自:http://blog.csdn.net/hitlion2008/article/details/7047629Mms是一个应用程序的名字,这个应用程序是Android上面的信息应用程序,它即能处理短信SMS(Short Messaging Service),也能处理彩信(Multimedia MessagingService)。Mms代码的位置在sourceco
2012-10-13 15:11:10 923
转载 Android系统的开机画面显示过程分析
转自http://blog.csdn.net/luoshengyang/article/details/7691321第一个开机画面是在内核启动的过程中出现的,它是一个静态的画面。第二个开机画面是在init进程启动的过程中出现的,它也是一个静态的画面。第三个开机画面是在系统服务启动的过程中出现的,它是一个动态的画面。无论是哪一个画面,它们都是在一个称为帧缓冲区(frame buff
2012-10-12 18:56:48 1001
原创 awk
awk 'BEGIN{commands } pattern {commands } END {commands } '这三部份是可选的。且脚本通常会被包含在单引号或者双引号中:[root@localhost test]# cat test.sh| wc -l6[root@localhost test]# awk 'BEGIN{ i=0 } { i++ } END
2012-10-12 16:15:21 328
原创 shell script学习笔记6
如何将文本添加到文件开头?(>>可以添加到结尾)echo "I want to be the first one" | cat - file.txt > file.txt测试变量是否是整数?1)正则表达式来匹配2)test "$1" -ne 0 -o "$1" -eq 0 2>/dev/nullif [ $? -eq 0 ]then echo "i
2012-10-12 16:11:15 389
原创 shell script学习笔记5
wait停止脚本的运行,直到后台运行的所有作业停止为止(或者是特定任务号,进程号)xargsxargs的默认命令是echo,意味通过管道传来的输入通过xargs命令处理后,换行和空白都将被空格替代xargs -i用法: ls *.txt | xargs -i cp ./{} target_dir/ 等效 cp *.txt target_dir/basename从
2012-10-12 15:57:47 397
原创 fg命令
fg命令可以把一个在后台运行的作业放到前台来运行。而bg命令将会重新启动一个挂起的作业,并且在后台运行它。如果使用fg或者bg时没有指定作业号,那么默认对当前正在运行的作业做操作。例如$ sleep 1000 &[1]+ Running sleep 1000 &$ fg 1sleep 1000 # 当前进程$ ctrl+z[1]+ Stopped sle
2012-10-12 15:55:47 893
原创 shell script学习笔记4
间接引用a=letterletter=zecho "$a" # lettereval a=\$$a echo "$a" # z在Bash 2中引入了这样的形式,echo ${!a}$RANDOM # 每次调用会返回一个不同的随机数set set用于在scripts内部给出其运行参数set hello worldecho $1 # hell
2012-10-12 15:54:23 338
原创 shell script学习笔记3
内部变量$BASH 指向/bin/bash$FUNCNAME 指向当前的函数名字$GROUPS 当前用户的组$HOME 用户home目录$IFS 内部域分隔符,这个变量用来决定Bash在解释字符串时如何识别域,或者单词边界默认是空白(空格,tab和新行),但是可以修改;与awk中的FS分隔符是一样的;$LINENO 当前语句在scripts中的行号$PPID 一个进
2012-10-12 15:50:23 379
原创 shell script学习笔记2
bash中的变量都是无类型的,可以通过declare来声明int型变量$0, $1, $2 .... $9, ${10}, ${11}, ...如果参数超过9个,那就需要用${10}的方式$#参数数目$*, $@参数集合${!#}最后一个参数整数比较-eq, -ne, -gt, -ge, -lt, -le, 如 if [ "$a" -e
2012-10-12 15:44:53 368
原创 shell script学习笔记1
一些常用的变量,符号的意义:----------------------------------------------------------$?上一条语句的执行结果$$当前进程ID()命令组,如 (a=0;echo $a),在命令组中的部分将作为子shell来运行,所以其中定义的变量在命令组外就不可用。$()同样是命令替换,它是以子s
2012-10-12 15:34:44 443
转载 Android系统进程Zygote启动过程的源代码分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6768304这是目前总结的启动流程,ARM->bootloader->fastboot(uboot)->linux kernel->init (init.rc)->zygote,转载的这篇文章讲解的是最后这两步init(init.rc)->zygote在Android系统中,所
2012-10-12 14:01:41 636
LINUX设备驱动程序
2013-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人