今天《爬虫er100人》采访的是ddddocr作者。他97 年出生,本科曾翘课三年留级,却靠逆向技术一战成名,未毕业就拿三四十万年薪;开发的 ddddocr 在 GitHub 狂揽 1.2 万 star,如今既懂技术又会 “玩”,活成了很多人羡慕的样子。

下面就用问答形式,听听他的真实经历,他的爬虫逆向成长经验。
问:先跟大家介绍下你的学历和学校经历吧。
哲哥:我是 97 年的,本科毕业。学校原本是一本院校的二本专业,我读了不到一年,专业就升成一本了;又过了两三年,学校直接评上双一流了,也算 “搭便车” 了。
学的软件工程,说出来有点 “离谱”—— 翘课翘了三年,最后还留级了一年,几乎没去过教室。那会我是学校 CSDN 俱乐部主席,算是学院最大的社团,天天忙着带学生打比赛、培养技术。毕竟学校的课程、教程一上来就讲几节原理,听完人都累了,没人有耐心学。
当时学校给了我自己的实验室和办公室,机房也能随便用。我每周都会在学校开课教开发,主要讲前端和 PHP,好多学生都翘学校的课来听我的课,机房每次都坐满。可能我教的比较实用,能让大家快速获得成就感吧。现在我当时带的学生,很多都进了国内大厂。
不过现在挺后悔的:当时对高数、概率这些课没兴趣,不过现在挺后悔的 —— 前几年学深度学习时特别吃力,就是因为基础太差了。再给我一次机会,肯定好好学这些基础课。
问:毕业后怎么找到第一份工作的?
哲哥:还没毕业,我就被邀请到苏州工作了,当时给的薪资大概三四十万。因为当时瑞X的逆向国内没几个人能做,我算是全网第一个公开协议逆向瑞X成功的,当时还开了直播逆向。这事结束后,我一下子拿了十几份 offer。过了半年多,能做瑞X逆向的人多了,市场价才慢慢降下来。
当时来苏州得感谢我前领导,也是QCC的数据总监,他特别有魄力,人格魅力非常强,对我的影响很大。
而且我跟苏州特别有缘:高考前三个多月,模考成绩连专科都够不上,我来苏州HS寺敲钟许愿后,三个月直接过了一本线。后来也去还愿了,HS寺确实灵,听说很多明星成名前都去过。现在我还想再去试试求姻缘呢。
问:早期做逆向没资料没工具,遇到卡壳怎么解决?
哲哥:肯定有卡壳的时候,但那时候的难度跟现在没法比 —— 网上连逆向相关的资料都没有,这个行业几乎是空白的,不像现在有这么多收费教程、知识星球,大佬都把 “饭” 喂到嘴边了。
我只能自己一点点摸索,总结经验,看计算过程猜用处,用控制变量法验证想法。当时直播分析就花了5天,每天搞十几个小时,全靠硬扛。最后做出来后,我直接免费开源了,大家随便用,就是 GitHub 上那个项目。
那时候也没现在这些工具,什么 AST、控制流混淆,大家都没听过,遇到控制流混淆,只能一行行分析。
问:第一次搞定复杂逆向后,有没有 “突然开窍” 的感觉?
哲哥:还真有,很多东西都是一通百通的。不过那时候的方法比较原始,也正因为这个项目,我认识了很多前辈,还有现在不少有意思的网友。当时大家都用 QQ 群,2000 人的群天天从早聊到晚,后来因为一些事被封了。所以我微信好几年前就加了 5000 多人,这几年除非是现实中认识的朋友,我很少通过好友申请 —— 手机顶不住啊,之前换手机,在店里迁移微信数据,硬是迁了 3 个多小时,商场都关门了。
不过说实话,技术群里大多是吹牛,很少聊技术。大家加好友也大多是 “占位置”,不管有没有用,先加个大佬再说。
问:八卦一下,微信 5000 多人,没遇到合适的女友吗?平时除了工作喜欢干嘛?
哲哥:这行女生太少了,500 人群里能有 1 个女生就不错了。而且我自己爱玩,找对象得 “同频”,能一起玩的,不喜欢矫情的。
我现在超爱体验 “野趣”:要是有大佬有果园、竹林(能挖笋)、跑山鸡(能捡蛋)、能挖菌子,或者能带我海钓,求喊上我!我现在基本只玩海钓,淡水钓没兴趣 ——“与人纠缠不如与鱼拉扯”,算是自我调节压力的方式。
海钓还能认识不少人,一起玩的不是大公司领导就是老板,能见识好多有趣的事,可能我是里面唯一的 “穷人” 吧。
问:你觉得 JS 逆向该怎么分初级、中级、高级?未来对抗技术会往哪走?
哲哥:其实不好划分,这行要学的东西太多,核心还是 “思路”。现在工具多还不贵,很容易站在巨人肩膀上,只要能稳定帮项目解决问题,就算高级。
未来趋势肯定是自动化:纯协议的更新时间成本太高,除非要高定制、高并发,公司更需要的是业务稳定,自动化刚好能满足。
问:用过 AI 解决逆向问题吗?
哲哥:用过。比如用 AI 分析代码、还原混淆代码,现在 AI 上下文越来越长,效率很高。
资讯类采集用 AI 做 “先验” 特别合适,测试过能精准提取数据、生成 xpath,以后走量的爬虫可能直接自动生成。还有简单的逆向或加密,比如常规 AES,AI 能根据混淆代码直接出可用的 Py/JS 代码。
之前在阿里的代码上测试过,那会 AI 上下文还没这么长,效果就不错,也有大佬专门写文章聊过这事。
问:ddddocr 现在 1.2 万 star,当初怎么想到做这个工具的?
哲哥:就是个练手项目,完全没料到会火。没主动宣传,就在几个群发了下,网上的教程文章都是网友自发写的,特别感谢大家。
还要感谢我朋友鱼导,我是学他的开源项目认识的,大部分数据是他分享的,我自己又合成、收集了不少,凑了一两个亿的数据量,用一张显卡吭哧吭哧训练了一个多月。那会我是深度学习小白,参考了好多他的代码,运气一直挺好的。
开发时踩了不少坑:那会 AI 没这么发达,我理论基础又弱,高数、离散这些没学好,原理性的东西看不懂。比如 ddddocr 是 CNN+LSTM+CTC 结构,网上早有开源,但自己对接时失败了好多次,而且数据量大,每次训练加载数据都要等很久。
最后能成,全靠 “头铁”—— 遇到问题就硬钻,不断试错,越错越勇。把错误答案都排除了,剩下的就是对的。
问:现在验证码技术在变,你会继续迭代 ddddocr 吗?
哲哥:会更新的,其实我本地一直在开发更新,只是没推到线上 —— 以前没知名度,更新很随意,现在有点 “偶像包袱”,觉得不能推太烂的代码。偷偷说一句,我现在大部分代码都是 AI 写的,我做 review 就行,特别舒服,效率提升很多,甚至比我自己写的 “屎山” 优雅多了。
问:新人觉得爬虫、逆向门槛高不敢起步,有什么建议?
哲哥:其实爬虫不是门槛高,而是知识面宽,但大多不用精通。现在最好的办法就是买课程、加各种群 —— 教程学基础,用到具体技术再深入;加群是为了开拓眼界,听到大佬聊技术名词,记下来搜一搜,搞懂原理就行。
关键是多练,钻研到头疼、浑身难受的时候,再允许自己看答案。练多了就会发现,很多原理是相通的,工具只是为了提升效率、降低分析难度。
问:你每周都在 “游山玩水”,对未来有什么规划?
哲哥:没什么复杂规划,把工作做好、生活过好就行。我容易满足,不喜欢加班,现在每天 8 小时、周末双休,WLB(工作生活平衡)特别好 —— 加班就是用钱换命,不划算。
以后想走更远的路、看更多的山,体验更丰满的人生,就够了。
问:你觉得现在逆向和 OCR 领域的发展趋势是什么?逆向工程师需要补充哪些新技能?
哲哥:抛开灰色行业不谈,现在愿意给钱的公司都很注重合规,所以自动化会越来越有价值。但逆向原理必须懂,“会却不用” 和 “不会” 是两码事。
逆向需要学的知识面很广,没有特别固定的方向,平时多看看群,了解大家研究的方向,及时跟进就行。
问:最后给新人提个醒,有哪些坑要避开?
哲哥:3 个建议吧
1、少听大佬吹牛,别怕阴阳人,专心搞学习;
2、多分享,别抠搜短期利益,你愿意分享,别人才愿意跟你分享,能收获很多同频的朋友;
3、现在行业对年轻人友好,容易有成就感,但要注意合规,少炫耀,多练多总结,善用搜索引擎。
另外,尽量去北上广深杭这些大城市,溢价高、机会多,能吃到更多行业红利。
猿人学《爬虫er100人》是以采访猿人学学员为主的栏目,猿人学爬虫逆向课经营六年有3000多个学员,现如今有的是技术大拿,有的是爬虫主管,有的是做自由职业。
我想把他们的故事写出来,大厂面试经验,逆向技术成长之路,应届找工作,自由职业接单挣钱等等,写够100人。

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。
***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...