去年七月,博主拉着行李来到帝都开始了北漂生活。

初入社会,第一次面试就显地极为老实磕巴紧紧张张。看着面试试题上熟悉而又陌生,疏远而又亲近的知识点,我愣是没有写出一个一二来。内心徘徊了十几分钟,还是喊面试官交卷了。面试官是一位看上去四十岁的中年人,手里拿着笔眉头紧锁在我的笔试题上勾勾叉叉。

“你连这个都不会吗?”,面试官指着题目看着我颇为不满的问道。

“额.....我会的,只不过现在忘记了....”,我小心翼翼的说道。

面试官估计对我很失望,一直比较凶的询问我,我本来就紧张的手脚冒汗,这下更是语无伦次,回答的磕磕巴巴,连准备好的作品都忘了展示了。

最后面试官让我回去等通知我就知道肯定没戏了。结束后我便开始总结自己在面试中的问题,查漏补缺补充知识点,开始迎接接下来的面试。下面就基本和普通群众保持一致了,四处碰壁,我把每次的碰壁都形容为吃经验,碰着碰着后面就习惯了。

找工作一个星期后便入职了,去一家公司做Android开发,工资也是少的可怜,毕竟还没有毕业,初入行业自然不会很高。我并不是很在意收入,作为新人,还是以学习为主,收入保障基本的生活条件就好了。就这样,在开发完一个公司的Android项目后,我被告知接下来我需要开始学习逆向反编译了.......这个时候我才明白,原来我在公司里真正的工作不是Android开发,而是Android逆向!

等到后面我才了解这差不多是逆向的行情,基本上都是招一些开发人员进来,然后告知是逆向工程,这样以“骗”的形式来培养自己的逆向工程师!就这样,我就稀里糊涂的从一名Android开发工程师转到了Android逆向工程师,,,

在此之前我几乎没有听说过逆向工程,在学校学习的课程唯一和逆向沾边的是汇编语言,老师还告诉我们,你们不用学汇编,反正以后你们的工作不会接触到这方面.......我还真的是认真听老师的话,汇编课从来没听过,想在想起来看,感觉简直是上天给我开了个玩笑!

八月开始,我就开始正式的学习逆向技术。学习也是自学,公司里基本没人懂这个,更别提带我,不过好在的是我个人学习能力一直不错,先规划了一下学习进度:首先学习相关逆向工具的使用,apktool,AndroidKiller,jadx,IDA等等;下面开始学习掌握Smali语法规则,上手翻译一篇Smali文件下来,也是掌握了七七八八;最后就开始上手项目,一边做一边不断地学习,就这样,我开始了第一个逆向项目:破解百度手机助手。

以前在学校里,我是不写CSDN的,从来都是网上搜看别人写的博客。工作后,我便开始了CSDN博客的写作,一方面为了记录自己的学习和工作过程,另一方面也是为了和大家分享技术知识。看过我之前博客的小伙伴可能很熟悉,百度手机助手还是最初的教案对象。

百度的项目其实并不是很难,如果让我现在去破解,可能大概两三天,慢一点三四天就会完成了,但是刚开始的时候,一切都不熟悉,一切都刚刚起步的情况下,我还是花了两个星期的时间才把百度搞定。

逆向的工作总体来说是非常枯燥的,特别的枯燥,如果没有很好的忍耐力和定力,估计你连一天都坐不下去。我的工作基本上就是在翻看各种源码。Android源码,App源码,一些框架的源码,等等,不休不止。

估计很少人会看自己以前写的代码,我曾将在一篇博客中说到,现在大家都很喜欢创造代码,写过的代码很少会回头看上一遍。包括我也是,以前自己写的代码都是一写而过,只有出现问题的时候才会想着去看看,哪里出现了未知bug。你可能会说,我写的代码没有漏洞啊,为什么还要去看?根本就不需要好吧!

这里的漏洞根本不是你们定义的,而是我们逆向工程师来定义。漏洞并不是bug,也不会导致程序崩溃,但是它可以被别有用心的人利用,成为破坏者的帮凶。

我有时候总是喜欢感慨,现在的逆向技术已经过去了黄金时代。我们经常使用的逆向工具和技术,对比现在的安全防范手段,已经是差了整整数代。每一年安全防范技术都在推陈出新,逆向破解技术却一直都停步不前。去吾爱破解的论坛上,你会看到至今经常使用的逆向工具,七八年前,甚至十年前都已经出来了。

社会总是在不停的进步中,国家现在越来越重视互联网安全问题,很多法律法规的出台来约束互联网规范。所以我也经常笑自己,每日都是游走在法律的边缘。这其实是好事,对于逆向行业来说,规范自己的技术,不能肆意妄为的破坏,提高整个行业的形象,这也是好事。

可是在差不多在十几年前,那个时候中国互联网刚刚起步,那是一个高手频出,翻江倒海的年代。那个时候活跃的顶级大牛黑客,现在听到他们的名字还是那么的如雷贯耳,令人钦佩不已,听到他们的传奇故事依旧是那么的神采飞扬。致敬那个时代。

现在也有朋友问我,你们逆向到底干的是什么啊?我也就只能回答:“找漏洞,破解别人的代码。”至少目前,我一直都是在做这样的事情。翻看别人的代码,看看可以从哪里破解下手,这里也就是找漏洞。

但有时候找到了漏洞但是不一定有用,这时候你还需要接着重新找漏洞。这个工作是最为枯燥无聊。你可能找了一小会就发现了关键漏洞,你也可能找了一整天还是一无所获。

我这里就笑称是碰运气,就看你的运气好不好看了。运气好,你可以很快破解掉,运气不好,那就等着吧,等到也许花儿都谢了,你会找得到。

在逆向这个小众的行业内,其实出路不仅仅只有一条破解别人的代码,实质上它还可以做到保护。正所谓一攻一防。

总有人在拼了命的保护代码,也总有人在拼了命的破解代码。在逆向的道路上,一直到是鲜血淋淋,披荆斩棘。从来都没有所谓的绝对完美代码,也从来都没有绝对的破解之道。我们其实都是这个时代的勇士。

这半年,我和大家一路分享了好多安全攻防的知识,从腾讯那里开始,一直有点评他们的安全策略,一直到最近的小米MIUI系统,我们可以看到,安全防范一直都是被大厂倍为重视。毕竟谁也不希望自己的产品被破解,自己的代码被改写。攻防攻防,到最后还是防。

逆向的这半年,我其实成长了很多。以前有很多的写代码的老毛病,坏习惯现在都被改正了过来。有时候我在写代码的时候就会想,这样写安全性高不高?是否可以破解掉?这样就会让我越加的重视开发模式和系统架构,一个好的架构真的是让代码的安全性蹭蹭往上升。

也许每个逆向工程师的梦想都是希望自己写的代码牢固可靠,坚不可摧。毕竟经常破解别人的代码,自己的代码如果被破解了,就相当于自己狠狠被打脸了一样。哈哈!

还记得自己刚刚面对逆向工程的时候,那个时候总感觉很无助,压力非常的大。痛苦自己为什么不好好干自己的开发,跑过来干这个逆向工程!有过一整天都没进展的情况,非常的压抑,睡觉都不安稳的程度。脑子里就想着破解思路,从哪里下手。等到有进展了,出结果了,就会松了一口气,而来的就是轻松感。

我现在其实还有好多逆向知识和技术没有掌握,在逆向面前,我还是一个懵懵懂懂的孩子。但是我还是会不停的成长,一直成长。接下来新的一年里,我希望自己能够学到更多的逆向知识,面对更加困难的挑战,自己能够快速提高!

也希望在新的一年里,家人能够快快乐乐平平安安,小伙伴们都能圆圆满满!

一起加油吧,2019!

写在过年之前:我做逆向工程师的这半年相关推荐

  1. 游戏安全逆向工程师:从入门到精通83课分享

    游戏安全逆向工程师-01.简单的介绍一下DLL是怎样的一种存在 游戏安全逆向工程师-02.Windows.API编程速成-环境搭建 游戏安全逆向工程师-03.Windows_API是什么东西 游戏安全 ...

  2. 让逆向工程师们头疼的代码混淆,就像永远也走不出的“浪浪山”

    目录 代码混淆究竟是什么? 如何做代码混淆? 代码混淆不等于加密 App 加固非一时之功 "我想离开浪浪山." 在数次尝试破解某个App 时,某个逆向工程师无奈感慨道. 逆向工程师 ...

  3. Python灰帽子——黑客与逆向工程师的Python编程之道pdf百度云

    Python灰帽子--黑客与逆向工程师的Python编程之道 内容简介 <Python灰帽子:黑客与逆向工程师的Python编程之道>是由知名安全机构Immunity Inc的资深黑帽Ju ...

  4. Python灰帽子--黑客与逆向工程师的Python编程之道 笔记,过程问题解决

    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑电脑端的可以看看目录 跟着学习进度不断更新中....(因为懒,没更新了,也不打算继续更新文章了......) power by <p ...

  5. [译] 如何写一篇杀手级的软件工程师简历

    原文地址:How to write a killer Software Engineering résumé 原文作者:Terrence Kuo 译文出自:掘金翻译计划 本文永久链接:github.c ...

  6. python学到什么程度可以写爬虫-月薪2万的爬虫工程师,Python需要学到什么程度?...

    非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也没学所谓的四大名著,不知道那四大对找工作重要吗 ...

  7. 在国企做软件测试工程师是一种什么样的体验:每天过的像打仗一样

    作为IT行业的从业者,加班已经成为了家常便饭,程序员的工作经常需要面临熬夜.更改需求-在高薪的背后,都是一群玩命工作的身影. 不过也有不用加班的程序员,上段时间,一名在国企上班的程序员在匿名社区发了一 ...

  8. 【安卓逆向】 浦X银行签名校验,逆向工程师绝不认输

    前段时间有个朋友联系到我 说有家安全公司招聘(哪家公司我就不说了) 但是面试题目第一题就难着了 这我哪儿能忍 直接干! 拿到app的时候我心凉了一下 这他妈银行我搞个锤子 但是逆向工程师绝不认输! 不 ...

  9. 《安富莱嵌入式周报》第289期:开源回流焊,首发开源跨平台电路仿真软件,用于电气化学的电位仪,超炫酷的双语音模拟合成器,逆向工程师对波音787适航指令的看法

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

最新文章

  1. R语言compareGroups包绘制组间趋势(p for trend)实战:基于survival包lung数据集示例
  2. 《数据结构与算法 C语言版》—— 3.8习题
  3. 算法------数组---------存在重复元素
  4. Mac的移动硬盘不能装载该如何解决?
  5. Android开发中遇到的bug
  6. Stanford UFLDL教程 栈式自编码算法
  7. WinForm 中ComboBox 绑定总结
  8. [今日白学]组件的基础的基础的基础
  9. Tableau宣布退出中国市场,背后的原因细思恐极...
  10. 按GB 11643标准对大陆身份证号码分析验证
  11. macbook pro 重置 NVRAM / PRAM
  12. EXCEL单元格式(亿元,万元)
  13. 天津联通光猫创维DT541-csf改桥接
  14. 架构 | 如何从零开始搭建高性能直播平台?
  15. Java毕设答辩会问些什么?
  16. vue 上实现无缝滚动播放文字系统公告
  17. 类***Servlet不是Servlet的解决办法
  18. STM32——STM32简介与创建工程
  19. 我花了14个小时找了一下长春长生们究竟卖到了哪里去
  20. 基于微信疫苗预约小程序毕业设计毕设作品(7)中期检查报告

热门文章

  1. Android插件化开发指南——插件化技术简介
  2. 提供一个0day(CVE)挖掘思路
  3. 计算机专业答辩ppt通用,计算机专业毕业答辩.ppt
  4. unity 3d实现各种粒子效果
  5. postman——入门基础——概念理解
  6. 用PHP开发物联网平台到底怎么样?
  7. Go 自定义日期时间格式解析解决方案 - 解决 `parsing time xx as xx: cannot parse xx as xx` 错误
  8. 操作码 OP_CODESEPARATOR
  9. 什么叫外挂?什么叫私服?
  10. 电子商务平台最土团购系统和discuz(ucenter)会员整合的详细步骤说明