说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

专访沙梓社:做个“Think Different”的技术牛人

HTML文档下载 WORD文档下载 PDF文档下载
他既是个技术狂,又是个懂得生活的人;他也是iOS越狱社区骨灰级活跃份子,对苹果的研究痴迷到连女朋友都没有的地步;本期采访的嘉宾就是《iOS应用逆向工程》的图书作者沙梓社,请他分享iOS开发的经验之道。

有这么一个人,他既是个技术狂,又是个懂得生活的人;他也是iOS越狱社区骨灰级活跃份子,对苹果的研究痴迷到连女朋友都没有的地步;他为人低调,就连照片都不愿提供,本期笔者要采访的就是这位神秘的技术牛人,他就是《iOS应用逆向工程》的图书作者沙梓社,请他分享iOS开发的经验之道。


CSDN:首先请介绍下自已。

沙梓社:大家好,我是沙梓社,是一个目前技术重心放在iOS上的非典型技术男。

CSDN:你是从什么时候开始接触iOS开发的?《iOS应用逆向工程》这本书以iOS应用逆向工程实战为主,什么是逆向工程?它与普通的iOSApp开发书籍有什么区别?第一版和第二版侧重点分别是什么?

沙梓社:我是从2010年iPhone4面世前开始接触iOS开发的,在学习的起步阶段见证了iPhone4这款神机在全球的爆红。

给你水、面粉、糖、芝麻,让你做烧饼,这是正向工程;给你一个烧饼,让你分析出它是由多少水、多少面粉、多少糖、多少芝麻组成的,这是逆向工程。也就是说,根据图纸制作实物的这个过程是正向工程,而根据实物倒推图纸的这个过程则是逆向工程。

普通的iOS App开发书籍全都可以划归到正向工程这个范畴里,跟逆向工程是两个不同的方向。我们都把自己的舞台设定在iOS中,正向工程是跳芭蕾,逆向工程是唱京剧,虽然我们分属两个艺术类别,但对于台下的观众来说,都是美的享受;君子和而不同。

第一版的侧重点是“术”,主要是介绍了工具和理论在逆向工程实战中的应用,类似于杨过早期对独孤求败前辈所创玄铁剑法的运用;第二版的侧重点是“道”,在第一版的基础上提炼出了一套原创iOS逆向工程方法论,有点杨过后期自创黯然销魂掌的感觉。第二版与第一版的架构几乎一样,但足足多出了120页,是我一年多以来在各种平台上跟读者频繁交流的心得提纯;第一版到第二版的进化,也体现了我本人对iOS理解的不断加深,是一个求索的过程。

CSDN:你怎么会想到写这样一本书呢?这本书的思路是怎样的?对读者而言如何学习这本书,您有哪些建议呢?

沙梓社:从我学习iOS逆向工程到有能力撰写这样一本书的整整4年里,虽然iOS火得一塌糊涂,App开发书籍多如牛毛,参差不齐,但这个地球上竟然还不存在既公开,又同时能系统、全面、面向菜鸟、手把手带你入门的逆向教程。既然需求存在却不被满足,那么做这件事就有意义。所以在航哥的邀请下,我参与撰写了这样一本书。如果马后炮地看这本书的诞生与发展,我就是做了一件大公司们都不愿意做,但切中一个小众群体痛点的事,从而避其锋芒、韬光养晦,最终破土萌芽。这个过程与创业并无二致,想想还挺带感的。

有四类读者人群会对这本书感兴趣:

  1. iOS发烧友;
  2. 高级iOS开发者。在掌握了App开发后对iOS的理解有更深的诉求;
  3. 架构师。通过逆向那些经典的App并学习它们的架构方式,是提高自己架构能力最高效的途径之一;
  4. 在其他操作系统中从事逆向工程,同时对iOS感兴趣的逆向工程师。

这本书由4部分构成,分别是概念、工具、理论和实战。这4部分遵循抽象、具体、抽象、具体的模式,从苹果避而不谈的iOS文件系统结构、文件类型和权限等基本概念入手,逐一介绍class-dump、Theos、Cycript、Reveal、IDA和LLDB等常用逆向工具,再分别从高层语言Objective-C和底层语言ARM汇编的角度切入,总结提炼出一套原创iOS逆向工程方法论,点出全书核心。最后以4个原创实战案例收尾,从易到难地串联全书的内容,循序渐进地描绘逆向的套路。

我的建议是从头至尾顺序精读本书,如果有问题就来我们的论坛bbs.iosre.com上提问,看累了就到我们的Q群251453531上聊天。

CSDN:在《iOS应用逆向工程》一书中提到从UI观察切入代码分析的iOS应用逆向工程方法论,这其中到涉及应用开发的设计、技术、安全等多方面。请问你是如何掌握这么多不同领域的知识,并能总结成书的?

沙梓社:我是把别人喝咖啡的功夫都用在工作上——鲁迅。

这些其实都是逆向工程领域必备的知识,是我4年间通过牺牲睡觉时间、吃饭时间、发呆时间、玩耍时间、恋爱时间换来的;虽然少了很多这样的乐趣,但是平添了更多别样的精彩。

CSDN:逆向工程开发需要的知识是多维度的,你有什么其他书籍或学习材料推荐吗?

沙梓社:如果从广义的计算机逆向工程角度来说,我推荐TiGa的IDA系列教程、Lena151的逆向工程教程、Peter’s GDB Tutorial;如果只是iOS逆向工程,那么一本《iOS应用逆向工程》就够了(再说也没有第二本了)。先看前3个,再看后1个,看之前即使是零基础,但如果能边看边做,理解消化,看之后你就已经是准高手了;接下来与高手之间的差距,就要靠日复一日的实战磨练来慢慢消除了。

CSDN:第一版和第二版面世相差时间不到1年,你如何在进度压力下,享受写书带来的快乐?

沙梓社:我不怕疼痛,只要能够痛并快乐着,我就快乐;我也不惧压力,只要能够留下些什么,那就值得。

CSDN:在你开发的众多应用中,比如SMSNinja、LowPowerBanner、DimInCall,能否以某个为例,谈谈其成功的关键。

最成功的应该是LowPowerBanner,睡一觉下载量就超过3万次了;我在iOS6后停止更新,直到两年后的今天还会收到用户希望它“复活”的邮件。还是马后炮地看,归根结底是因为我做了一件当时的高手们不屑于做,但切中一个小众群体痛点的事,跟本书的诞生一脉相承、妙不可言。

CSDN:App Store为个人开发者提供了很好的机遇。在你看来,要成为优秀的应用开发人员,需要具备哪些素质呢?

沙梓社:如果这个“优秀”的标准是从技术角度来评判的,保留一颗热爱技术的平常心是必备的,其他都是次要的。技术的发展日新月异,只有热爱技术才能不畏疲倦、紧跟时代;技术的钻研永无止境,只有摆正心态才能处变不惊、修成正果

如果这个“优秀”的标准是从商业角度来评判的,那么不可或缺的则是开放的心态。许多技术高手认为谈商业是对技术的玷污,我却不以为然;技术是为人类服务的,而商业存活的前提就是它可以为人类提供令人满意的服务。在我看来,大多数技术是由商业推动发展的,美国就是最好的例子。而技术只是组成商业服务的一个部分,其他的诸如设计、推广、销售等部分都缺一不可。如果要成为这个标准下的“优秀”开发者,就需要在编写代码之外跳出技术的框框,去了解商业服务的整个闭环,甚至亲身参与其中。如果非要把自己锁定在技术这条单行道上孤注一掷,那么到最后死路一条的概率就会非常非常大。

如果把语境放在两会上李克强总理提出的“互联网+”概念,那么“优秀”的标准毫无疑问是属于后者的。如果你是个跃跃欲试,想要创业的典型技术人员,或许就有必要重新思考“优秀”的定义了。

CSDN:你现在主要使用哪种语言?为什么?哪里吸引了你?

沙梓社:我现在写程序主要用的是C和Objective-C,在逆向中还会阅读大量的ARM汇编;至于为什么用它们,是因为苹果只提供给了我屈指可数的几个选择,根本轮不到我来选……最吸引我的恐怕就是Objective-C语言的runtime特性了,它是所有tweak能够存在的根本原因,也是我在逆向工程中下功夫最多的地方。

CSDN:我知道你是一位崇尚自由、热爱旅游同时又热爱技术的人,你现在还经常出去旅游吗?你一天的工作节凑是怎样的?很多人称你为iOS越狱社区骨灰级活跃份子,对苹果的研究痴迷到连女朋友都没有的地步。对此,你怎么看?

沙梓社:因为对于行将而立的男性而言,时间的珍贵程度毋庸多言,所以现在旅游比较少,而是一心扑在了事业上。

我每天花在事业上的时间大约在11~12小时,主要是坐在电脑前处理各项工作;其余的时间主要花在确保自己能健康活下去的事情上。

那是我对自己的评价,还比较保守;别人没有这么悲观,而是说我顶多会孤独一生罢了。开玩笑的,只是缘分还没到而已。

CSDN:有没有什么话想对iOS开发者说。

沙梓社:站在技术人员的角度来说,我们这个群体的特点跟电脑程序非常类似:逻辑性强,但脑子轴,不爱变通;有付出就必须有看得见的回报。很多人问我,看你这书有什么用?我没法给出一个确定的答案,比如看完这书你的工资会涨600块钱,或者老板给你晋升一级。

但是乔布斯曾说,要“ThinkDifferent”;逆向工程对于正向工程来说,正是一种直截了当的“ThinkDifferent”。这本书或许不能马上给你带来物质上的丰厚回报,但却是“ThinkDifferent”抽象口号的一个具体实现,而且这个实现得到了国际的认可(目前已有美国和韩国的出版社想要引进本书),又落在了我们熟悉的领域,应该是一次很理想的、接地气的“ThinkDifferent”的机会。乔布斯在辍学后旁听的书法课,跟当时的乔布斯八竿子打不着,却对Mac的成功起到了至关重要的作用;从这个角度来说,这本书并不单单是一本技术书籍,我更希望它能激发广大iOS开发者的逆向思维,碰撞出一些另类的火花。这只是一隅之见,无论如何,祝愿大家都能有锦绣的前程和开心的生活。谢谢!


CSDN现开启图书作者专访栏目,欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:xiamz#csdn.net(#换成@)。更多精彩内容,请点击社区之星或搜索关键字图书作者查看。

云计算大会讲师秀之13:梁家恩,12年积累,构建永久免费的语音云平台 众望所归:智能手机芯片将为服务器所用 没有学位,他通过以下四步进入Google 谈谈Google Polymer以及Web UI框架的未来 保密入髓:前苹果员工揭示公司是如此善于保守秘密 调查显示:软件开发公司出现“人才荒” 三星拟6月20日在伦敦召开新品发布会 推手机新品Galaxy和ATIV 历届中国云计算大会PPT集萃(五):数据安全隐患解析与应对 搞趣网创始人:做不了阳春白雪 就做下里巴人 CMDN Club 28期:创业公司一定不要浪费资源 浅谈Lean UX:我们到底该怎么设计? 张艺谋今日正式加盟乐视 作品专区落户超级电视 WebKit华丽转身:欧朋浏览器8.0新鲜出炉 分析师称应出售Bing?除非微软倒闭,否则不可能卖Bing Go Mobile沙龙第二期:软硬整合与创客精神 专访西电黄宝林:《基于GPU的并行NMF网络聚类算法》获奖背后故事 友友姚宏宇:用C,C++和Java实现自主研发之后,放开心态迎“高朋” 新技术对传统学科的颠覆:系谱网使用大数据寻亲问祖 IDC:2015年全球平板电脑出货量将超PC Web开发者的福利 30段超实用CSS代码 库克出席D11科技大会:苹果公司没有陷入麻烦 千兆的带宽是不够的,最新研究将我们带入400G时代! 告诉你一个事实:移动互联网依然不大 一切才刚刚开始 戴尔的10亿美元云扩建计划到底是什么? iOS vs. Android,应用设计该如何对症下药? 扁平化设计五大原则 16种折磨开发者的方式 2013年度中国优秀开源项目征集活动正式启动 技术趋势:产品设计向“钱”看 服务器领域:旧时代已过 新时代正在降临 速度与金钱的碰撞:F1赛车将搭上大数据的东风 快来看啊!刚出炉的求解大送分!!Datagrid事件的问题,不要错过好!!简单!分多!! 哪里可以下载jbuilder9企业版?? 哪里有免费的空间可以申请? 如何获取某个窗体中各个部分的类名??? 我是一个刚刚对计算机感兴趣的人,想问一下大虾几个问题!! 有谁遇到过这样的问题?请大家帮一下忙!谢谢! 请问 jfreechart 怎么使用 ? 100 分请教!!! 数据库日志被删怎么办??? 怎样设置EDIT的长度设题????急!!!!!!!!!! 求职 求职 求职 求职 求职 求职 哪里有“Java Servlet Programming, 2nd Edition”电子书下载? 急,有关读写文本文件的! 北京掌中仙境技术有限公司招聘程序开发人员 在.net中如何获得数据库中的所有用户表的信息,以及......? 在线等!!菜鸟一问:用什么函数使‘空’返回为零,就像foxpro的iif... 如何实现两个form间参数的传递? 一个关于DBCHART的使用问题。 数据机构的一道题!~(队列) 求救高手?active dll的Ftp上传组件的问题?(100) TQuery返回的字段类型信息如何区分numeric还是float? 我感觉VC里最神秘的几块内容(至今也没搞懂) 在这里混了有段日子了 升星 散分!!(请版主别删) 欢迎大家加入我建的QQ群 请问一下各位是如何调用第三方的DLL。例如:华为DLL.清华深资DLL。等等。。。 QRBand能否自动换页的问题。 请问有哪位 有ACCP的的全套资料第一学期第一学年 资料 一个关treeview的问题 sql server有没有办法看一个image类型值是否有无? 嵌入到outlook控件的问题 一个奇怪的问题: 怎么老打不开数据库set db= new notesdatabase("","data.nsf")??? 如何调用DLL啊? JSP怎么样调用sessionbean? 如何在Cell单元格显示数据库中已image类型存放的图片?(急) php有什么好办法把mysql里面枚举型字段的各个项目读出来? easy problem 文件问题 在线等候 北京掌中仙境技术有限公司招聘程序开发人员 请问win2003中如何起用3d? 关于迭代开发模式 主菜单的字体怎么修改? C#中自动生成SQL语句(update,delete)是否并不怎么好呢? 关于在VC中开发数据库使用ORACLE的若干问题?(SQL SERVER 到 ORACLE转换的问题) 如果更新有外键约束的主键呢? 谁有播放*.dat的asp组件啊!~ 这是一个控件源码,为什么只有在运行时,才能显示控件的图形,请指教! 电脑一进系统就待机……sos 浅谈视图(Views) 本人急需自然景物的分形源程序(最好包括山水树),急!可加分 高分求免费电影下载网站,最好是一些提供最新电影的网站 请教axis的开始的安装配置问题,谢谢~ 如何用ASP实现往已经建好的表中添加新的字段? 16+513什么意思 一到高考数学模拟题如图,已知长方形ABCD中,AB=2,A1 B1分别是AD!BC边上的点,且AA1=BB1=1.A1E垂直B1D于点E.F为AB的中点.把长方形ABCD沿直线A1B1折成直二面角,且直线B1D与平面A1B1B所成角为30度.(1)求异 元日、天竺寺八月十五日夜桂子译文 求A,B两地距离 这种图算哪种类型? 核反应堆里,慢化剂的慢化时间和扩散时间分别指什么? 甲乙两人分别从A、B两地出发,相向而行,出发是他们的速度比是三比二.他俩第一次相遇后,甲的速度提高了百分之二十,乙的速度提高了百分之三十.这样,当甲到达B地时,乙离A地有二十八千米,那 请问谁见过164打头并且有9位的电话号码 120%采纳 《刘宣苦读成才》的意思》 1打头的和9打头的电话号码有什么不一样? wa ta shi wa ka mi ni na ru中文意思 甲乙两人同时从A地去B地,甲每小时行15千米,乙每小时慢2/5,甲到达B地后返回,在距离B地24千米的地方遇到乙,请问A、B两地之间的距离是多少千米 如图边长为a的正方形ABCD的对角线交与E,过E点做FG‖AB分别交AD,BC与F,G问以B为圆心2分之根号2...如图边长为a的正方形ABCD的对角线交与E,过E点做FG‖AB分别交AD,BC与F,G问以B为圆心2分之根号2乘以a CPR1000核反应堆一次装料可运行多长时间 天宫一号是中国首个目标飞行器,在轨运行周期5382s.若将其运行轨道近似为圆,则其离地面约为( );实际运行轨道为椭圆,离地面最近200km,最远346.9km,则其运动过程中最大加速度约为( )m/s2. 新概念2 第90课:这个Divers为啥不加定冠词the呢?第五行:oil rigs have to be repaired frequently and [divers],who often have to work in darkness a hundred feet under water,have been frightened out of their wits by giant fish bumping ka wa i 卡哇伊趴趴熊 全力兔 太鼓达人 ……eg:_________________thx雅皮狗 起司猫 my melody 小狗BARU ibis Dream Story(?) 玛丽猫 .所指,均为 动物能列出不是很熟知的,更好... 纯净水中有哪些离子 lingo建模时有一约束条件(分段函数): Y=X X>=0 Y=X+100 X 新概念三里的句子都懂,该学些什么 农民赞美久旱逢雪的诗词歌赋均可前几天全国大范围降雪,久旱逢雪的良田终于可以限度一劫,老百姓感激上天现征集关于这场雪的文章,题材不限我先来一副对联:万顷良田终素裹 千家百姓始 8到是什么意思?!‘8到’是什么意思啊. 新概念4 47课(The great escape) 几个句子不懂1.That the equipment of modern camping becomes yearly more sophisticated is an entertaining paradox for the cynic, a brither promise for the hopeful traveller who has sworn to get away from it al of course中的course是什么意思? 8可以是什么意思啊?8应该可以是‘发’的意思喔! 读下图,完成下列问题.(1)G处的气候类型为_______,冬季其温度比同纬度的内陆地区____读下图,完成下列问题.(1)G处的气候类型为_______,冬季其温度比同纬度的内陆地区_______,是因为该地受____ 513什么意思 刘宣苦读成才景泰间,吉安刘公宣代戍于京师龙骧卫,为卫使畜马,昼夜读书厩中,使初不知也.公偶与塾师论《春秋》,师惊异之,以语使,使乃优遇之.未几,发解及第…….取解时,刘文恭公铉主试,讶 g(x)为一次函数,g(1)=3,g(2)=5 求g(x) 这类题没做过求详细解答f(2x)=3x+1,求f(2),f(x) 这类题也有点搞混了 求点拨! 360行分别指的是哪360行? =INDEX($A:$E,SMALL(IF($B$2:$B$13={"D","D1"},ROW($2:$13),4^8),ROW(1:1)),IF(MOD(COLUMN(),2),1,2))&"" 我想知道SMALL(IF($B$2:$B$13={"D","D1"},ROW($2:$13),4^8),ROW(1:1)),IF(MOD(COLUMN(),2),1,2))&"" 表格的行数和列数变了应该怎么变 看了这个图,你有什么感受? 360行是哪360行呢? 求函数{x=t² /2 的一阶导数和二阶导数dy/dx;d² y/dx² y=1-t 我的错题集上的,每条都讲一讲?(最好能归类)16.More and more people in china prefer to choose ____ cheap wireless phone service known as ____ "Little Smart".A.a;the B.a;/ C.the;the D.the;/17.There is ____ bus stop over there.You can lingo 怎么解分片线性?最后给个例子 d²y/dx²表示二阶导数,这个2为什么加的地方不一样,有什么区别 1.Bring me ________,please.I'll use it as ________ useful stick when I climb the mountains.A.an,an B.an,a C.a,an D.a,a用a或an填空_________uniform __________university _________unknown writer __________ useless tool _________ SPCA inspector ______ max=1000*(x11+x12+x13)+700*(x21+x22+x23)+600*(x31+x32+x33);(8*x11+6*x21+5*x31)=2/3(1-0.15)*(8*x12+6*x22+5*x32);(8*x13+6*x23+5*x33)=1/2(1-0.15)*(8*x12+6*x22+5*x32);(8*x11+6*x21+5*x31)=4/3(1-0.10)*(8*x13+6*x23+5*x33);8*x11+6*x21+5*x31 看看这几张照片,有何感想?http://imgsrc.baidu.com/forum/pic/item/d8c3a356ca54a381257fb509.jpg 刚出的新枪咋样? 蝗虫侠是女的还是男的 取四个有诗意的名字,分别代表两个参赛的“自我介绍” “才艺展示 ”“总结”“展望未来”的含义最好用诗句表达!名字要女孩子气一点哦 在4和12之间插入两个数,使前三个数成等比数列,后三个数成等差数列,求两个数 X^2-x-m=(x+n)(x+7)求m,n的值需过程 信息上说我的积分513, 在4和12之间插入两个数,使前三个数成等比数列,后三个数成等差数列,求这两个数? 如右图,直角三角形abc的直角边ac=7,bc=8,分别以abc为圆心,2为半径画图,则阴影面积? π取3 把《所见》改写成500字以上的作文 看见这张图有什么感想 如下图,直角三角形ABC的直角边AC=7,BC=8,分别以ABC为圆心,2为半径,则阴影部分面积为多少?派取三如下图,直角三角形ABC的直角边AC=7,BC=8,分别以A,B,C为圆心,2为半径画圆,则阴影部分面积为多少?兀 改写所见,500字就行了.描写的细腻一点. 在4与12之间插入两个数,是前三个数呈等比数列,后三个数成等差数列,求这两个数 荷塘里有一片荷叶它每天会增长一倍30天长满荷塘28天里荷塘会有多少荷叶 513为什么是傻逼的意思 公式里面的为什么要用d表示 什么 为什么要用导数形式 甲数是乙数地四分之一,甲数就比乙数多75%.对还是错? 坊{fang的第一声的组词是什么? 请问反函数导数和复合函数导数中的d是什么意思? 甲数是乙数的1/4,乙数就比甲数多了75%. 银泰十五周年大庆十日 “小怪兽狂欢S10月制造业PMI创18个月新高 经多机构预测PMI将连续13月扩张 海探访日本第一的苗木之乡——匝瑳市(高偷渡惨案再现撒哈拉沙漠 尼日尔发现8解救儿童iPad上瘾 专家称需72小加拿大首设“比特币”ATM机 被批缺默克尔遭监听 德议员称斯诺登愿协助调社评:普京影响力登榜首,中国人乐见其联合国称叙利亚完成对化武生产设施功能美国六大互联网巨头致信国会要求改革监美国六大互联网巨头致信国会要求改革监斯诺登莫斯科生活照曝光:休闲打扮未戴美媒曝光美核武器更新计划万圣节的橄榄球赛:僵尸怪兽来助阵【高国防部:日频繁制造战争气氛 应改变扭以色列攻击叙利亚军事基地 目标是俄制美国超市自销商品走俏 主打物美价廉美专家:中国要思考能源政策 减少对煤Nexus 5和市售旗舰机型配置对比统计局:10月中国制造业采购经理指数谁制造了辽宁债惨案?WinHEC大会高通推出Win 10DHL 连续第二年成为中国糖酒商品交高频交易:助推股市暴跌闪崩的“魔鬼”捷成集团2014年平稳增长,继续秉持大陆制造成本大涨 已达美国96%柔软的智能裤子可助你”飞檐走壁“来看看洗脑最厉害的10句名言手机厂商征战O2O 黄页为矛系统为盾证监会大刀向股权众筹头上砍去?听听行辣炒手撕包菜重磅 | 影响十几亿消费者的刷卡手续数千款iOS和Android应用被曝2400万散户“大逃亡”透露了什么重自降身价 28万的新皇冠就能以大欺小美联储加息在即,新兴市场会失宠吗?看2015年TFC游戏大会,云计算何贫穷?那是因为你不知道这个……30个会让孩子受到心灵伤害的仿冒玩具常吃枸杞可祛病延缓衰老50%的孕妇不知道这7个孕期饮食禁忌
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘