自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东方欲晓的专栏

东方欲晓,莫道君行早,踏遍青山人未老,风景这边独好

  • 博客(60)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android 4.3 安全提升,Set-UID-Root 权限提升不再起作用,原先的ROOT方法将失效

Android目前的ROOT的基本原理,是通过系统漏洞获取ROOT SHELL权限,然后往手机里面push 最核心的两个文件,su可执行文件和superUSer.apk。 后者用于管理对应用的授权,而前者则真正用来提升权限至ROOT。 当APK需要进行高权限操作时,使用Shell方式进行: su xxxxx 即可,此时(假设用户授权了,通过superUser.apk)xxxx的命令就会以ROOT用

2013-07-25 11:11:16 2480 1

原创 很长时间没有写博客了,应该要写写了

其实,工作中一直有积累,但是确实已经忘了博客这个东西,不过真心觉得应该把积累的东西一起分享。 所以,会恢复写博客了

2013-07-25 11:19:53 465 1

原创 Android手机Root授权原理细节全解析

首先关于Root的方式,这里不做详解,可以有很多漏洞,比如利用uid溢出后归为0,得到Root权限,然后操作文件系统等。 手机Root后,最重要的是,给手机安装了su程序和superuser apk。 su一般被安装在/system/xbin 或者 /system/bin 下面,su文件的权限如下: # ls su -lls su -l-rwsr-sr-x    1 roo

2012-06-08 10:24:19 8933

原创 比较BMP和Android的RPC机制

RPC机制是现代系统的重要的一种机制,和IPC有关,却又没有必然关系。 RPC是更广义的,更高层的,为解决异构/非本地对象/过程调用而形成的一套解决方案,其目的重在解决如何让远程对象/过程的访问可以如同本地对象/过程那般,将真正的差异性向上层客户隐藏。 而IPC仅仅是

2011-08-11 11:54:33 1330

原创 移动平台中的模块复用

在“复用”这一角度,无疑android是最棒的,至少到目前尚无平台可以出其右。 当然,我相信android的思想也不是一蹴而就的,也是借鉴并发展了前人的思想。 我们慢慢看来:  1. 首先,在Windows等PC平台上,最常见的复用的粒度 是基于 “进程”的复

2011-08-11 11:54:01 788

原创 移动平台中的面向组件编程

其实,很多移动平台都号称是面向组件编程,不过他们所谓的面向组件的层次其实是不同的。 首先我们看Android,它在设计思想,解空间模型上的确是面向组件的,它将进程,application的边界模糊化,而独将组件的边界凸显化,从而提醒开发者,是基于组件的开发思想。 不过

2011-08-11 11:53:25 667

原创 学好Android的基石

以前一直搞BMP平台,现在Android实在太热了,由于项目的需求,现在也开始转到Android平台上了。个人认为,不管哪个平台,要学好他,都必须要搭好基石,才能轻松攀爬。而且不同平台的基石是不一样的,比如BMP平台的重要基石,如需要理解COM组件模型,C,MVC等 而对

2011-08-04 09:45:03 631 1

原创 高通的1(One)情结

<br />细心的读者,可能已经观察到了,高通很喜欢用One来命名自己的产品,技术。One可以有两层意思,NO.1和Only One。 NO.1者即引领世界,Only One者,即一统天下。 作为技术领导者的高通,一直不忘将此二者作为自己的终极目标,即使在无线通信界目前已经是老大哥了。 我们还是来举几个例子。<br /> <br />CDMAOne:  这是高通CDMA技术的商标。很明星的是,CDMAOne无疑表明着Qualcomm想成为CDMA技术的NO.1 和 Only 1. 也确实, 在CDMA领域,

2010-10-17 19:17:00 700

原创 brew动态模块文件格式发展浅析:From MOD to MOD1

<br /><br />为什么在BMP中开始引入MOD1格式,并且同时支持MOD和MOD1两种格式那? 这还得从最初的MOD格式开始说起。<br />话说,最初时,BREW利用MOD这种格式作为动态模块加载的文件格式。 其实, MOD文件是纯的可执行文件,除了RO DATA, RO Code Section以外,不再包含任何的非可执行的数据,如符号表等。  MOD是从ELF转换而来的,剔除冗余的数据后,就变成了一个纯的可执行文件 MOD。<br />由于是纯的可执行文件,所以,理论上当MOD被加载后,PC跳

2010-10-10 15:22:00 717

原创 CS(Component Service), BMP(Brew Mobile Platform)那点事

<br />大家知道Qualcomm最新的BREW版本为BMP,BMP又是基于CS的,那么为何要演进到BMP,以及BMP为何需要基于CS那,其实,这个还是有一个背景的, 本文主要就笔者的观点,谈谈我所认为的背景。<br /> <br /> <br />BREW从1.0一直发展到3.x,一直充当着Feature Phone中的平民英雄的角色, 它的优点,就是可以不依赖于(不奢望)底层平台/系统的现代特性(多进程,多线程,内存保护,动态链接,动态加载等)而依靠自身实现一个轻量级的应用框架,同时支持动态加载。 所

2010-10-10 10:38:00 807

原创 BMP文档草拟

接下去一段时间,我将主要从事BMP相关的工作,由于可以看到BMP的源码,所以,会在熟悉BMP源码之后,再书写一些相关的文档,以期能深入些,而不是贪快而不顾质。  目前想到的Topic如下:1.   Component Service的整体框架和产生背景,作用2.   BMP中组件支持RPC的机制和内部实现3.   BMP中的Process,Thread,Memory管理等机制实现4.   BMP中的组件动态注册,发现,加载和执行机制5.   BMP中的安全机制

2010-09-26 21:10:00 513 2

原创 换工作了,新的人生起点!!我对自己说,好好干,在新的起跑线上再次奔跑!

在原先的手机设计公司做了快6年了,这次终于有机会,让我把握了我一直的梦想。我以前是学通信的, 再也没有任何其他一家公司能让我这么崇敬和仰慕。 一家由通信科学家创立的公司,拥有几千项通信的专利。 将通信理论从不可能变成现实中的可能。 通信界的巨牛, 信息之父,香农定理的发明者, 香农,分别是这家公司的两大创始人(雅各布,维特比)的老师和学生。我相信,读过通信的人,应该也有我这样的感觉的。

2010-09-26 13:06:00 1204 7

原创 BREW和Android的安全思想

<br /><br />理论上,所有的公众(公开)实体,都需要安全机制保障, 比如网络。 从分层角度而言,每一层都可以进行安全保护,比如网络协议中的IpSec(Ip层), SSL(传输层), sMIME(应用层)安全协议。 对于移动平台也不例外, 也可以在不同的层次进行安全保障,系统底层和框架上层。<br /> <br />对于BREW平台,一直就是非智能的平台,所以它对底层系统的奢求不是那么高,无需任何现代操作系统的支持。 所以, BREW也就不能对系统层的安全做任何奢求,那么只能完全在BREW这一层实现

2010-08-12 09:52:00 1027 1

原创 Linux Driver思考:通向皇宫的通道

传统意义上的Linux Driver仅仅是设备驱动,简言之,和设备有关,如LCD,Camera等等。 但是, 笔者认为,Linux Driver的作用不仅仅局限于此,从广义上讲, Linux Driver提供了一种User Space访问 Kernel中特定Function的通用编程模型,即,平民(User Space中的Application, Process, Lib等)通向皇宫(Kernel)的大道。如果一个模块提供的Function必须运行于Kernel Space中(可能是设备相关的Functio

2010-08-04 16:59:00 569 1

原创 【BREW你问我答】02期_20100709

为了使得BREW你问我答办的更好,决定不再在一个帖子中靠不断的回复来问答,这样多了后比较乱。 以后,基本上每周我会更新一期, 大家每次的新问题,请都在最新期的BREW你问我答(会置顶)中提问。 我一般只会关注最新期的问题。  当然,对于老问题的继续探讨,可以在原先的提问的基础上再提问谢谢~~~~~新的问题请在本帖子下开始提问

2010-07-09 12:39:00 907 42

原创 关于BREW你问我答, 期望TX们提建议

感觉BREW你问我答如果这样下去,那么回复贴越来越多,楼磊的非常高,比较乱。 同时,也不能把已经解决的问题,快速的分享给大家。TX们有什么好的建议那, 可以让BREW你问我答更好的做下去~~ 同时也可以让其他TX帮忙解答问题~~谢谢~~~

2010-07-09 11:17:00 403 3

原创 感慨这一刻,终于到来!

感慨这一刻,终于到来。 5年前,我一手带领的BREW Team,后来演变为目前的application  Team,Team内员工最多时,达到过20多人。 5年来,看着我的组员一个个离职而去,到明天,原始的Team中的最后一名员工也将正式离职而去, 我曾经的激情岁月也将划一个句号! 这一刻,说不感慨,不失意,那是假的。 不过,同时也为他们的更美好的前途感到高兴。 他们一个比一个优秀,一个比一个踏入更光辉的大道。 说我这5年带给了他们什么,培养了他们什么,其实真的很汗颜。 他们的成就,其实更多的都是他们的天赋

2010-07-08 21:26:00 691 3

原创 Android, BREW中Observer(观察者)模式的两种表现

Observer模式无疑是最伟大的设计模式之一。 她被用来解耦一对多的关系,并对“多”的变化进行隔离。 现代移动平台中,各是随处可见她的身影。 本文将从Android,BREW两个移动平台中,一窥其迷人身姿。Listener机制。 在BREW和Android中,同时都提供了Listener机制。这是血统纯正的Observer模式体现。 BREW中的IModel的AddListener和Android中的View的AddXXXListener就是两个很好的例子。 在这种纯种Observer模式下,我们需要明确

2010-07-08 09:17:00 793

原创 Android AppWidget框架妄析: Android中的借尸还魂

由于初识Android不久,所以一切分析皆可有误,故而只能为之妄析。 题目起的比较恐怖,然非我本意。 只是实在找不到更加贴切的,可以对AppWidget框架一针而见血的比喻了。 闲话少说,且看如何个借尸还魂。首看魂者何来。 大家都知道Widget的宗旨,就是要在同一屏幕(界面上)运行多个具有独立功能的小插件,从而丰富功能的同时简化操作。那么,在Android的4大组件中,何人可以充当该角色,抑或需要再独立设计一个组件? Activity? 非也!! Activity是UI呈现和用户交互的一个组件,具有独特的

2010-07-07 17:59:00 763 2

原创 BREW与Android中的UI事件框架比较

对于BREW,我非常熟悉,但是对于Android,只能算刚刚认识,最近看了些Android的UI事件处理的相关文档,发现Android的UI事件处理框架与BREW有一些异同,这里给予一些比较,纯属个人认识。 如有不当之处,欢迎指正。相同之处在于,从高层而言,Android与BREW的UI事件框架均是基于职责链模式的,运行时构成了Event Chain。 Event Chain中的每一个部件默认将事件传递给后继者。 事件在Event Chain的终点处自然终止, 或者在中间异常终止(中间部件返回了TRUE,导

2010-07-07 15:55:00 863

原创 浅谈BREW对面向对象,Windows,Java,设计模式的借鉴

<br /><br />浅谈BREW对面向对象,Windows,Java,设计模式的借鉴<br />毛晓冬2007-1-26<br />一、           使用接口机制:<br />借鉴了面向对象的接口,类封装服务。BREW向App提供的所有服务以接口体系存在。客户需要使用服务时,首先请求BREW创建类的实体,并得到对应的接口实例。然后才能使用接口的服务。<br />使用接口体系,在C中模拟了面向对象。封装了变化点,使得接口与实现得以分离,迎合了动态加载的必然要求。同时也是面向对象和设计模式的总体

2010-07-07 12:28:00 660

原创 龙道

<br />青山碧,绿水潺,龙道幽幽。鸾鸟鸣,清茶香,佳人脉脉。这次第,但愿石阶漫漫无数,执手到天明。写于杭州,那时与老婆携手同登龙道(西湖边上)

2010-07-06 07:16:00 457

原创 晒晒偶的一鸣宝宝~~~

一鸣宝宝,我们全家人的最爱,全家的开心果。 这里晒两张偶超喜欢的PP, 更多的照片,大家可以看我的相册(宝宝照片分册)~~~超绅士的宝宝 ~~超天真可爱的宝宝海归的宝宝~~~~小提琴王子:~~~~更多尽在:http://hi.csdn.net/space-1109539-do-album-id-48222.html   ps:宝宝昨天发高烧了,牵动了全家人的心,现在做啥事都没心情。医院验了血说有炎症,希望吃点药赶快好以来,不再反复。

2010-07-05 12:11:00 480 4

原创 天上幻想三部曲

<br />年少轻狂,经常喜欢幻想,那时写了3首有关的幻想诗。<br /> <br /> <br />天上语 <br /> <br />小时候听人说,七夕的晚上,在葡萄架下可以听到牛郎织女的悄悄话,有感,作此 <br /><br />七夕月明夜 <br />柳梢黄昏约1 <br />孤影举芳尊2 <br />杯酒终觉浅3 <br />醉归遇童子 <br />玉藤尝美珠4 <br />童子不识愁 <br />还听天上语 5 <br /><br />注解: <br /><br />1,源于"月上柳梢头,人约黄昏

2010-07-03 16:08:00 316

原创 童年情结-我和我的狗狗们

<br />还在读书时写的东东,写的时候还是蛮动情的,呵呵~~~~~<br /> <br /> <br /> <br /> <br />说到狗,我想深深的对他们说一声对不起。狗,是唯一一种我对他们有欠的动物。对于那些在我家生活过,生活的应该不算快乐,而又早早的谢世的狗狗们,我真心的想说:如果你们泉下有知的话,希望你们能帮我一件事。就是托梦给世界上所有的狗狗们,不要再让一条狗来我家了。童年陪伴我的那些狗狗,都是可爱的,任劳任怨的,生活的艰难甚至受到束缚的,而最后还要残忍的被夺去生命。还是从我养的第一条狗说起吧

2010-07-03 15:39:00 746

原创 毕业离别3

<br />忆江南 <br /><br />杨柳依,<br />斜雨风细细。<br />万里长空并翼开,<br />且看明朝新天地。<br />莫离离戚戚! <br />

2010-07-03 13:31:00 259

原创 与公司共勉

<br />花谢花又开<br />草枯草还生<br />但使凝气在<br />留得春常驻<br />怎怕春暂去? 今日齐心<br />共播希望种<br />明朝笑看<br />艳阳映桃红<br />此志不可忘<br />应交天上月<br />长保一万年当时,公司遇到一点困难,员工忧心匆匆, 写此诗,与大家共勉。

2010-07-03 12:53:00 399

原创 毕业离别1

<br />此处一别后 <br />天涯遍足迹 <br />他日雁归时 <br />芬芳铺满地<br /> <br />写于大学毕业典礼日

2010-07-03 11:15:00 302

原创 毕业离别2

<br />上得九天借春风,春风送来四海客。 <br />惊叹中华多贤才,天下英雄此中聚。 <br />英雄不甘侍平地,皆上七层揽日月。 <br />日月当首照明志,敢叫乾坤也失色。 <br />从此寒舍生光辉,三载烛红摇窗影。 <br /><br />花开花谢潮起落,烟游云移星转月。 <br />中有孤寂三九寒,不及众人七分暖。 <br />笑问英雄愁何许,不愿离去不愿归。 <br />杨柳依依是羁绊,自古好马莫凭顾。 <br />男儿天下留足迹,他日共赏强国图。 <br /> <br /> <br />

2010-07-03 11:15:00 275

原创 生活类文章开篇

其实年少的时候非常喜欢古代诗词,经常喜欢涂涂写写, 因为没有接受过专业的训练,也就纯粹是业余爱好而已,所以,更加确切的说,只是喜欢用古典文字记录生活而已,对于真正的诗词的高度,偶还够不到,也不想够,因为规则,束缚太多。工作以后,就写的非常少了,这几年,基本上就没有了, 哎, 老了, 激情不复。 现在再看看网上自己以前写的那些东东,回味中也留恋那时的年少, 所以, 我摘选一些, 在本blog放出, 重温的同时,也欢迎真正有文采的高手们随便拍砖,拍的再重也不要紧。

2010-07-03 11:11:00 383 10

原创 BREW Callback的高级操作

<br /><br />BREW3.1中,丰富了Callback的使用。最主要的是,增加了IThread接口并提供了丰富的系统通知机制。<br />IThread:BREW中的IThread不是基于操作系统层,而是基于应用层实现。所以本质上不具有真正线程的抢占和调度特性。BREW的IThread基于AEECallback。由BREW内核使用AEECallback的方式自动调度。使用IThread的好处是,开发者可以把一系列操作做成“同步”的方式,只需要在该同步的操作中,应用显式的调用IThread_Susp

2010-06-30 09:56:00 501

原创 BREW Callback

<br /><br />到目前为止,BREW(不包括bmp)的所有应用都运行于单一的Task(进程或者线程),所有应用间不具有抢占的特性。各应用的运行是基于协作式的。所谓的协作式,就是应用主动的让度CPU供其他App使用,让度的方式就是BREW的AEECallback机制。<br />请注意,AEECallback实例必须是长期有效的,不得在堆栈或者寄存器中分配(临时变量),因为BREW Callback的运行是异步的,并且BREW内核不会对AEECallback实例进行备份。<br />典型的使用为:<b

2010-06-30 09:55:00 561

原创 事件操作

<br /><br />对于系统级的事件,不得由App直接发送。所有事件的投递,当应用不在运行时,都会加载应用并执行。<br />IShell_SendEvent进行同步,阻塞的事件投递,目标应用由CLSID 参数决定。该函数内部会直接调用目标应用的HandleEvent。函数的返回值表征该事件是否被Consume(处理,并Return TRUE)了。当使用该函数投递指针(包括接口)时,接收方必须对其负责(Copy Buffer,对接口引用计数加1)。<br />IShell_PostEvent:进

2010-06-30 09:54:00 632

原创 共享数据方式

<br /><br />IClipBoard接口可以被用来在多个BREW应用间共享数据,即便应用退出了。这是因为,IClipBoard的生命周期不和任何应用绑定。<br />典型的使用IClipBoard共享数据的方式如下:<br />1.复制数据:调用IClipBoard_SetData,将应用的数据Copy到系统Buffer中,这样被复制的数据将永远有效,即便应用退出。<br />2.粘贴数据:调用IClipBoard_GetData,将系统Buffer中的数据,Copy到应用Buffer中。<br /

2010-06-30 09:53:00 698

原创 共享数据的高级技巧

<br /><br />在BREW3.1之前,共享数据的典型方式是使用Shared文件(位于BREW Shared文件夹下)或者使用IClipBoard。BREW3.1之后,共享数据的灵活性得到了增加。主要是相对之前增加了IFIFO,以及ACLs的方式。<br />典型的使用方式:<br />1.            使用IFIFO共享数据:该方式采用FIFO的方式共享数据,共享的数据保存在系统Buffer中,当使用它的客户都Release后,BREW自动回收该系统内存。FIFO的命名基于fs模式,只

2010-06-30 09:53:00 337

原创 Alarm操作

<br /><br />Alarm的通知机制本质是Event机制,和Timer的Callback机制有本质区别。当Alarm到期时,BREW发送EVT_Alarm事件通知App,如果App不在运行,则先加载App,再处理EVT_Alarm。其本质和BREW的任何事件投递一样。<br />典型的用法:<br />1.App调用IShell_SetAlarm设置一个Alarm,指定到期的时间,同时关联一个UserCode,该UserCode唯一的标识一个Alarm。<br />2.当Alarm到期后,BREW发

2010-06-30 09:52:00 600

原创 Alarm高级操作

<br /><br />BREW3.1.5中,加强了Alarm的功能,主要是新增了IAlarmMgr接口,并新增了IShell_SuspendAlarm,IShell_ResumeAlarm接口函数。<br />典型的高级操作如下:<br />1.        使用IShell接口查询,Suspend,Resume Alarm:<br />a.            可以调用IShell_ActiveAlarm来查询是否有当前应用设置的处于Pending(Active)的Alarm<br />

2010-06-30 09:52:00 633

原创 文件操作

<br /><br />BREW中的直接文件操作使用IFileMgr和IFile接口。需要注意的是,IFileMgr接口实例通过ISHELL_CreateInstance获得,而IFile接口实例通过IFileMgr_OpenFile返回得到。<br />典型的利用IFileMgr/IFile的操作为:<br />1、创建IFileMgr接口实例<br />2、利用IFileMgr相关接口函数进行创建目录,删除目录,查找文件是否存在,重命名文件,删除文件,枚举文件,获取文件信息,获取可用EFS空间等<br

2010-06-30 09:51:00 404

原创 BREW罪与美的辩证统一

<br />前述妄写了两篇文档。 其实,我们回过头来看, BREW的美恰恰就是它的罪,而其罪也恰恰成就了它的美。 这也正是辩证的统一,是一个二面体。 究竟是美,还是罪,其实不在BREW, 而在于看它的人,用它的人。 BREW在变,我们也在变, 是美,还是罪, 也在变, 不变的是,BREW永远有它美的一面,和罪的一面

2010-06-28 22:06:00 791 3

原创 平民英雄!历数BREW之美

                                                             平民英雄!历数BREW之美                                                               东方欲晓 2010-6brew之美,美在简约;brew之贵,贵在朴素。brew的出现,不是为了在智能手机的高端战场谋一席地,也不是为了充当富人们的心中英雄。它是为千万“傻瓜”机(feature phone)而生,甘当受够了只能用java的

2010-06-28 21:19:00 585 2

HTTP Succinctly: HTTP 简介

HTTP是网络协议中最重要的应用层协议,浏览器,MMS等都是基于该协议的。要深入理解常见的网络业务,了解和熟悉基本的HTTP框架和协议是必须的。本书是老外写的,很简单,只有几十页,但是基本覆盖了HTTP的最基本最重要的内容。不想看几百页厚书的童鞋,下载不会后悔哦!

2012-10-19

An Introduce to LTE

非常不错的LTE入门资料。介绍了LTE的基本概念

2012-10-19

多项目代码复用时的动态模块选择编译策略

多项目代码复用时的动态模块选择编译策略,适合非Linux/Android系统,比如Feature Phone系统多项目复用一套代码时编译系统的设计参考。不是理论,而是实践。识货的下

2011-08-02

手机顶尖游戏制作全揭密

关于游戏开发流程的介绍。看看顶尖游戏是怎么开发的

2011-08-02

BREW与面向对象的比较.pdf

对BREW中使用的面向对象和组件技术以及其实现方式进行了深入的分析

2009-09-08

基于BREW 的松耦合设计 III

笔者写的 《基于BREW 的松耦合设计》系列,主要通过实例讲解BREW平台上的常用松耦合设计方法

2009-09-08

基于BREW 的松耦合设计 II

笔者写的 《基于BREW 的松耦合设计》系列,主要通过实例讲解BREW平台上的常用松耦合设计方法

2009-09-08

基于BREW 的松耦合设计 I

笔者写的《基于BREW 的松耦合设计》系列,通过实例介绍 BREW平台上的松耦合设计常用方式。

2009-09-08

BREW动态加载深入刨析.pdf

笔者以前写的 BREW动态加载深入刨析。 适合想一探BREW动态加载实现机制的人。

2009-09-08

最基本的nmake 语法.pdf

最基本的nmake 语法。 适合初学者阅读

2009-08-25

Technical Overview of 3GPP Long Term Evolution(LTE)

老外非常棒的LTE的介绍性文档,技术总揽。 识货的就下

2009-02-10

空空如也

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

TA关注的人

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