Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • iOS真的安全吗?

    post by onelong / 2016-4-1 22:00 Friday [工作]

    最近看了很多关于手机安全方面的文章,突然感觉到现在移动平台(iOS,Android)上面都有很多不安全的地方,很多时候大家都认为iOS比Android要安全,包括我也是这样认为的。事实上在相同的环境保护下,iOS的问题也许会更加突出。iOS app的安全源于app store的严格审核,如果在iOS和android在都不审核的环境下,iOS不见安全。首先我们应用本身是不能得知ipa是否被重新签名了,iOS系统本身对api大多都是没有权限控制的,所以只要能安装到系统的app,很多私有api是可以调用的,调用私用的api很容易导致安全和隐私的问题。我举个例子吧,钓鱼-在非越狱手机上也是可以检测某app是否正在运行,然后做一些相同的UI界面进行钓鱼。很多时候果粉对苹果的信心是百分之百的,也不会特别留心观察是否有异常就把帐号密码输入了。这里有一篇文章“在非越狱的iPhone 6 (iOS 8.1.3) 上进行钓鱼攻击 (盗取App Store密码)”,感兴趣的可以阅读。还有另外一篇说到支付宝和微信,通过iOS URL Scheme 劫持+钓鱼成功盗取账号密码密码,很多东西防不胜防。认为iOS安全,就是因为我们对它了解得太少了,信任有时候也是一种堕落的开始。这里还有一篇文章iOS URL Scheme 劫持-在未越狱的 iPhone 6上盗取支付宝和微信支付的帐号密码”,这个属于app本身设计的缺陷导致的问题。在XcodeGhost之后,大家更关注移动互联网的安全了,这也是我最近一段时间花很多精力去了解安全这个话题。像文章中劫持和钓鱼,对一半用户是防不胜防的。所以不要过分信任,在使用软件的时候,尽可能在app store上面下载正版软件,当然不是只有下载正版软件就没有问题了,没有必要用的和垃圾软件少下载, iOS URL Scheme 劫持是app本身的设计缺陷,还是可以通过苹果的审核。
    这几天一直在弄自动抢红包,
    在非越狱手机上进行App Hook,虽然我没有成功, 我没有成功是有原因的。在iPhone4上解密出来的app无法静态注入,我尝试过用自己的app进行注入,是完全可以的。网上都有自动抢红包的教程,我相信确实是可行的。通过这个尝试再次说明了,不越狱不代表安全。

  • 项目小结

    post by onelong / 2016-3-31 20:57 Thursday [工作]

     这几天终于闲下来了,想对项目开发做一些简单的总结。案场是一款面向房地产企业的app应用,简单的来说类似于移动办公的app。就项目技术而言,还是比较简单的,业务相对复杂一点,操作起来也相对复杂一点,当然用户体验很多时候是产品设计的时候定下来的,这里就不说了。
    android版本,除了当时我选择了一些基础代码库之后,我基本没怎么参与。没有参与有很多种原因:
    1、自己有过4-5年的android经验,历史经验告诉我,不难只是工作量大。
    2、iOS开发存在很多未知问题,我需要花多时间去探讨。
    3、第一周我看android开发的小伙子写的代码,代码质量不错,效率也比较高,责任心比较强,很放心。
    在android版本开发的过程里面,我只是偶尔会review一下代码,看到有问题的回去修改或者提醒修改。到项目的后期,我回头看android代码的时候,感觉会比我自己写得要好,起码比较规范,无论是activity还是fragment都是固定的模版,对接受项目者还是比较友好的。当然开发过程还是存在一点点问题的,就是没有提前做好规划,导致后面加Loader,下拉刷新很乱。如果当初规划好一点,后面的工作会更加顺利和舒心。
    android开发的前期工作,我还是做了很多东西的,封装网络的基础库,例如基于OKhttp的Volley,session会话的保存,还有基于gosn网络库的封装。这次尝试了新的东西,把所有接口都写在一个文件上面,方便管理。但是后来发现,这样搞法哪个文件的代码量会很多,阅读起来会比较累人。后来看了看clean架构,感觉会比较清晰,下次有项目再用。本来计划在这个项目要用rxandroid的,由于开发人员对它不熟悉,最后也没用上,还是老模式的MVC,但是下次还是希望放弃EventBus改用Rxbus。
    对于iOS版,基础库还是我搭建的,只是大部分有不是我做的,在以往的开发中,都是纯代码开发,但是在这个项目中,我选择了storyboard+Autolayout,在开发的过程的确踩了很多坑,但是我不后悔这样的选择,有时候有些经历是无价的,我知道很多大公司都选择了很成熟的方案,例如微信QQ,基本都是纯代码写的。 storyboard是苹果推荐的,苹果最终的目的是让UI设计去布局,程序员只关心业务逻辑,但是国内适合没那么受欢迎。storyboard非常方便人熟悉项目框架流程,但是编译慢,多人协作麻烦。说到多人协作,整一个xcode都不是特别人性化,多人提交的时候很容易产生冲突,特在是SVN上。
    踩过很多坑,让我了解了很多东西,经过这个项目起码对Autolayout,RAC是比较了解了。我不想去简单的评价对和错,方案通常是需求决定的,storyboard对个人开发是友好的,但是对团队开发需要拆分多个,而且尽可能简单。对于纯代码,看起来很凌乱,对于新人需要配备ViewController 跳转图才容易熟悉代码。当你熟悉storyboard的时候,你会发现开发mac os x的程序也同样适用,而且快速入门。
    去年11月开始,我一直关注着iOS开发,也是从自身发展来看的,我需要多几个项目来完善自己知识体系。经过这个项目,学习到了很多东西,一部分是在别人博客的是看到的,一部分是自己尝试出来的,还有一部分是和别人交流出来的,不管从哪里来的,对自己都是一种很好的经历。项目后期我想了很多关于框架的问题,关于很多安全的问题,关于很多底层的问题,对runtime,runloop,多线程有了更多体会。
    对于技术,我个人还是喜欢找些新东西去折腾,哪怕过程有点坎坷,但是只有心临其境才能真切的感知那些不曾想过的问题,解决哪些不曾想过的问题。任何一个方案都是有适用范围的,不可能是万金油。有些人可能在大公司呆过,看过很多有经验的文章,可以很轻松的做出选择,但是对于没有这样经历的人,只能靠自己尝试了。 

  • 美丽的成长

    post by onelong / 2016-3-20 16:02 Sunday [工作]

      以外包的形式在珠海移动呆了两年,也休闲了两年,蓦然回首感觉浪费了这两年光阴。开发工作上面,没有多大的改变,还是一个人瞎搞,喜欢什么就用什么,不想折腾就是一直用原来的,用自己习惯的,从来不曾思考过怎样才能做得更好,尽管在移动做的3个app,领导是认可的,但是对自己而言,没有什么意义。做到不崩溃就是好的话,其实只要认真就可以了。珠海这个地方是一个休闲的地方,的确也是我向往生活的地方,特别在我买车后,我似乎更热爱斗门了,农村的气息是那么的恬静和温暖。在珠海工作,在情侣路旁边工作,逛情侣路是饭后的主要活动,在这段美丽的情侣路上,我思考过很多问题,迷惘过,纠结过。两年,团队从10几个人到2个人,业务从开发到维护,渐渐的改变了自己,在移动工作就是拿钱的,所以我拒绝了所有加班,哪怕是领导要求的。我觉得加班没有意义,只是浪费生命罢了,做出来的东西,反正没人能推广,也没有人愿意推广,比较互联网产品不是移动的主要业务,主要业务是千百年不变的卖电话卡。国企,大家都是看钱做事,推广app没什么薪酬,固然别人不愿意。有能力的客户经理,一下拿下一个大企业的单子,基本今年不愁了。在移动的那段时光里,让我觉得真正有点意义的事情是了解了一些项目流程化监控,练熟了iOS开发,考了个驾驶证。
           尽管这两年在工作上没有什么突破,对人生还是有意义的,工作的休闲,让我尝试了很多其他的领域。连不曾想过的早晚花4个小时回家住,天天这样坚持了一年。结婚后,一个偶然的机会,我离开移动来到深圳。深圳,这个城市,一直是很鼓舞人的城市,也是梦想和现实对比度的城市。对比两年前的深圳,房价翻了几番,发现几百块租不了房子了,当然这些都不会影响我,我选择来深圳,房子肯定是住得起的,而且也不曾想过要在深圳买房,稳定下来。在深圳只想把握时间,做些自己不曾做过的事情。在2015年中,有个朋友说要离职回家创业,要找个人来替代他的岗位,月薪2w起问我愿不愿,主要是管理一个商城。思考了几天,由于各种担忧,我放弃了。一方面是担心能力问题,另一方面是放不下家的事情。工作那么多年,一直都是自己独立开发,走进一个团队,感觉很迷惘,不知道该如何协作,当然我一直相信自己,只要愿意下决心,肯定可以胜任的,只是不想改变罢了。
          由于被偏爱的信任,来到深圳扮演着一个项目主管的角色,去负责移动app项目。压力还是蛮大的,最初看原型的时候,只给了一个角色,看起来不多,那边计划3个月搞定,我看着蛮简单的,应该没有问题。后来看了设计图,我才傻眼了,不计重复108个页面,一个小伙子布局都要好久,还没说对接那70个接口呢! android的,我不担心,因为太了解了,没技术难题都是工作量。对于iOS,我纠结了好久,选择了布局最快的storyboard,也是这样我顺序了解autolayout这个东西,尽管在以前用过,但是了解还是太少了。什么没有认识多少个做iOS的人,在一些开发群里面问问题基本是没有人回答的。后期发现用一个storyboard很多问题,编译慢,多人修改冲突。后来问师弟说她们是分拆多个storyboard来解决冲突的,于是我们也分拆了6个storyboard,顺利开发下去。随着使用知乎和简书,当初那种无知无助也渐渐消失了,有了新的思考和想做更深入的事情。
          今年年初,由于外包人员要撤离,所以要招人面试等。面试还是挺有意思的,我没有选择让面试者做笔试题,因为在过往的面试经历中,我觉得那次去腾讯面试印象最深,所以我仿效过来,流程简单粗暴:自我介绍-介绍项目-自己准备10个问题。主要在交谈中了解能力,性格和兴趣,细节决定成败,很多时候我喜欢问细节,了解细节的人肯定是做过开发的,简历也会比较真实。 面试中,有几个问我薪资问题,我还是表现得挺严谨的,我只负责技术面试,薪资方面要和hr谈。好装逼的感觉,哈哈。
           往后还是希望从架构上突破,完善自己体系,争取早日实现年薪40w....目标也许有点遥远,但是至少有个敢说出口的目标嘛,至少能不让自己浪费光阴。

  • chrome profile异常修复

    post by onelong / 2013-8-6 15:20 Tuesday [工作]

    Close Google Chrome

    cd ~/.config/google-chrome

    mv Default/ Backup/

    阅读全文>>

  • 2012工作总结

    post by onelong / 2012-12-20 5:44 Thursday [工作]

    习惯了熬夜,或者是觉得夜晚思路比较清晰吧。回想一下,又一年过去了,还记得上一年写总结的时候是元旦,今年不想什么事情都赶上元旦了,提前想想写写算了。
    今年做了什么呢?想想,好像很多的样子,但是真的写起来,好像真的没有什么可以写的。
    手写邮件:今年前三个月都在做手写邮件,是上一年手写记事本之后的有一个所谓核心项目吧,事实上,那个项目我没有做完就移交给同事了,我只把核心的邮件mime协议和全部架构实现了。邮件项目是我第一次接触socket这个东西,但是是作为正式工作内容吧,因为在大学里面socket是经常玩的,尤其是在最后那年逃课的时候,拿着一本厚厚的unix环境高级编程和unix网络编程,那时候了解了一些常用的通信协议。说了那么前提的话,是不是意味着做这个项目就一帆风顺呢!事实上不是的,因为对工具不熟悉,也没有一本比较完整的书本介绍邮箱协议的,pop3,stmp,imap和微软的exchange,加上android2.3的邮件源码内容比较多呀!其实都是也是硬着头皮来的,不知道方向应该怎样走,后来看到了张孝祥的视频教程和书本,终于明白了。就这样慢慢的探索,路上总是曲折的,程序员的心态估计就是这样训练出来的吧。成长总是留给耐得住寂寞和无奈,曾经面对这个项目的确也害怕过,担心过,或者是责任心太强吧,或者是放不下所谓的面子吧,在我的世界,都不曾认输过吧!4月份离开东莞来到了深圳,开始另一段不一样的人生-传说中创业。
    在深圳休息了一个月左右吧,那些天,爸爸经常打电话过来,担心他那温室的儿子被社会不良分子骗去,4月18号好像就开始上班了,那些日子连台正常的电脑都没有,那个16G内存高级货3天2天发脾气来个蓝屏,当然我没有受到这样苦,因为我一直都是用自己笔记本,一直不离身的笔记本。工作开始了,总该说说做什么吧。那些天其实真的不知道做什么,所以到处走走看看,看看别人做了些什么,那些做得好,那些做得不好。后来就这样开始做多屏互动了。
    EShare:eshare开始都是使用smb协议+socket去控制传输。这就是EShare的最初demo了。后来参考了其他的协议,渐渐就变成了现在的EShare了,使用http协议。还是模拟鼠标,按键等,手机传屏。很多功能,开始的时候并没有考虑太多市场方面的因素吧,大家觉得可以就开始做了。EShare分客户端和服务端,发展到现在,基本可以分为文件共享,手机键鼠,空中鼠标,手机传屏,无线摄像头,无线网络设置等几个模块了。EShare开发维护到现在也有8个月了,和当初想的简单完全不是一回事。因为用户体验这个东西。
    DLNA:EShare维护阶段当然还穿插了其他的事情吧。DLNA DMR,第一次看看cling一堆代码,星期3给我代码,星期5就是给客户demo,当时傻眼了。那时候dlna是什么东西我都不知道,怎样通信,什么协议等都是一张白纸。焦急或者是没有用的,心里想,尽力就好了。就这样安安静静的调试,找突破点,最后简单的demo还是ok。demo容易呀,产品难呀,只有一直在优化,调试兼容性等,一直到现在。
    Airplay:这个东西又是一个傻眼的东西,当时网上资料真的很少。有个非官方的文档,还有一个xbmc,就这样抄抄写写,两个星期也是出了一个demo。这是个demo为后来带来很多麻烦,因为着急,没有认认真真看文档,导致协议上错漏百出。值得一提的是这是我自己第一个写类http服务,http/1.1支持长连接,所以处理函数又是一个不眠的周六晚,很清楚的记得那晚写到了3点种,测试ok了就睡觉了,结果第二天一玩,马上就发现问题了。或者说那晚白熬了吧
    注册服务器:离开了学校,基本把在网园学的东西都努力的去忘记了,或者这是为自己留点空间吧。app注册开始是单机的,需要用户返回机器码才能获取激活码。这样流程不方便批量授权。于是又是好几天没有睡好呀,怎样的安全架构比较合适呢?后来想起师兄曾经的提到中间件。最后就是自己写了一个非常简单中间件,隔离了内网和外网,进行跨语言通信。当然在做这些的时候也叫师弟分析过安全隐患。虽然自己曾经在大学做了2年网站,但毕竟接触后台的东西不多,只是简单的懂而已。
    网页版控制:记得大二那年,我把jquery引进网园,最后自己却没有更多的去关注jquery的发展,包括html5吧,因为效率的问题,就专心在java方面发展。想不到今年竟然用上了jquery mobile。其实没有人知道明天会不会下雨的。所以有机会学习的时候,就好好学习,不要觉得事不关己,说不定某天你就遇上了。工作差不多两年了,发现很多用的东西,都是自己曾经好奇去了解的,而当时学的时候,并没有想过它会我带来财富,成为我的工作等。高中考试的时候,总是发现试卷上每次都要考我认为不会考的内容,那些内容恰恰是我忽视的。高考之后,突然明白了很多,因为放下了功利的心,不再天天念着为高考拼搏转上了自由之身。也就是这样,为了满足好奇心,什么都是玩玩弄弄。最后那些无所谓却为自己工作带来了很多方便。
    工作的项目基本就到这里了。工作之外还有自己的成长吧,毕业后第一个两年计划即将完结了。怎样去评估得失呢?算是提前达标吧。未来的三年计划,元旦后再想吧。今年买了很多书,一堆堆的,其实没多少自己真的看了,哈哈,其实还好吧,都翻阅过了,部分没看懂的,就没有翻。
    今年尽管忙忙碌碌的,还是留比较多的时间给自己学习。java多线程并发,多核并行和cpu cacheline,arm cpu体系和cpu的一个概念的理解,这样也算是了解cpu了。当然还是ios啦!感谢一直以来给帮助和支持的孩童们,晚安!

    成长点滴,都是泪水汗水交织的。天才应该都不属于你和我,至少它真的不属于我,只有努力才是永恒的。

    air mini pc
    http://www.ways2u.com/?post=452
    上一年总结
    http://www.ways2u.com/?post=395

    阅读全文>>

  • EShare手机配件方案

    post by onelong / 2012-12-7 16:35 Friday [工作]

    亮相一下最初的demo界面吧!EShare是在Air Mini PC演变而来的,抛离了Air Mini PC相对比较复杂的操作,保留了Air Mini PC多屏互动功能,如下图

    点击查看原图

    阅读全文>>

  • 最近了解的到的一些知识

    post by onelong / 2012-12-2 18:28 Sunday [工作]

    程序计数器

    http://baike.baidu.com/view/178145.htm

    ARM流水线技术

    阅读全文>>

  • 关于cpu的一些知识

    post by onelong / 2012-11-28 2:45 Wednesday [工作]

    上周六在深圳火车站等车的时候,把曾经收藏的一些文章拿出来看看,《ARM 与 x86》,在文章提到一些概念,这些天回来深圳了,有时间看看了,现在想把这些有用的记录下来。

    阅读全文>>

  • 邮件修改

    post by onelong / 2012-2-24 3:52 Friday [工作]

    android移动客户端的修改已经开始接近尾声了,这一路来走过了一个个难点,如全新写邮件的MIME协议,通过异步方式处理编辑和发送的流程和架构。还有悬浮框的的架构设计和实现,每一样工作都变得很多意义啦!今天还致力处理imap的附件下载问题。我和同事,今天已经调通了所有难点,很多事情比预期的要快了。记事本之后的又一个大项目。现在差launcher没有进行大修改过。希望下次有机会啦....

  • 动荡的日子

    post by onelong / 2012-2-22 4:06 Wednesday [工作]

    很少在自己的写上工作的事情,不是因为太忙而是害怕写错了!今天离职的消息终于传到了胡总的耳边,我终于还是要面对那些事情,其实我更想平平静静的做完邮件,然后安静的离开。假前假后想了很多,也很多自己的计划,如创业,如去北京和三亚玩!出于哥哥的责任,应该像他们说的,找好工作再走!事实上,人生没有那么理性的生活!如果这样下去的结果就是等完年终,然后等项目奖,然后又是一年了。生活中没有希望就不会有绝望,就像在实习时,努力做,希望得到项目奖,然后交学费!哈哈,最后还是张口向爸爸要了钱,免费实习半年,很多人都在笑,为什么要那么傻?我也不知道,只是那时候是人生的困境吧,只能将就了选择了一个免费提供吃住的地方实习,不想伸手向家里要钱。是的,我很感激这个公司提供一个无忧虑的环境度过美好的实习。那个学了3个月羽毛球还不会开球的我,那个半年没钱出公司门的我,我在办公室写通信录软件。那个没有收入还有面对手机分期付款的难题,是的,钱很重要,但是不能被钱束缚了自己。是的,那么艰难的日子都度过了,理论应该安心的享受着这份高薪工作,而事实上,生命不应该是这样的。面对父母,我依然尊重了他们的选择,让他们选择自己认为适合的路,只是告诉了妹妹,叫他不要向家里要钱了,不想把钱的难题丢给那两个老头了。做儿子的不想安排他们生活,让他们自己选择自己的生活方式。他们说要种菜,就种吧!宽容是不将自己认为合适人生强加到别人的身上。无论是对父母,还是对妹妹,甚至对身边的人,我都尽力让他们选择的生活方式,成长方式。没有人知道什么是最后的,没有知道明天会不会地震。2012是一个虚幻数字,走到了2013才会知道自己做过什么,失去了什么,得到了什么。过去和未来都是虚无的,不是回忆就是幻想,而眼前就是你要走的路。

    阅读全文>>

  • 感动的人

    post by onelong / 2012-2-20 3:41 Monday [工作]

    今天无意中看了一年的绩效考核,除了曾经CTO孟总给过我一个A,这也是唯一一次感恩戴德的A!绩效的A还是B本质上对我没有多大意义,我不在乎那些钱,而是一种被认可的描述而已。我突然明白了,我的上司是不会给我争取更好待遇的,所以知道何去何从了!对不起了,本来是给自己承诺过今年暂且不离职的,但是突然意识到努力再多也是同样的结果的。还不如选择适合的去处,这个月努力把手写邮件赶出来吧,也是我最后的一份责任了。

    阅读全文>>

  • 2011工作总结

    post by onelong / 2012-1-8 4:44 Sunday [工作]

    2011-2-25离开了珠海,来到这个陌生的东莞,最后留在这里和一群实习生一起实习,算是结束漂泊的人生吧!留下来的原因是医生的热情挽留和那班室友的好心规劝,就是这样放弃了深圳易搜的面试机会。呆在东莞免费实习,后来公司给每个实习生每月500的补贴,当时吃住是全包的。实习那些日子我基本没有出去玩过,一方面是没有钱,不想向家里要钱,这样这个宅男变得更宅了,一方面不甘心领着500的补贴,于是努力加强技术,待到翅膀硬了就飞了。就是这种心态....

    阅读全文>>