V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MBTimY
V2EX  ›  程序员

从逆向转到 code 开发正确的姿势是什么, 有没有人一起讨论一下.

  •  
  •   MBTimY · 2017-04-25 15:10:39 +08:00 · 4072 次点击
    这是一个创建于 2760 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人从接触电脑一直做的是逆向相关工作, 漏洞分析, 病毒分析, 各种 pc 端下面的逆向工程, 反调试, 静态反编译... 不过一直成绩平平, 也感觉似乎这样下去也找不到未来的方向, 难道要一直守着一个 OD WINDBG IDA 盯着屏幕一辈子的调试下去, 突然感觉到未来有点堪忧, 想转做开发 自己编写一些东西 感觉那样似乎更有乐趣一点. 不知道谁有相同的经历不, 可否给点建议.. 一直以来编码的经验 都是基于一些工具类的 不大的程序 主要是辅助逆向的一些工作, 没有编写过什么正儿八经的项目..
    42 条回复    2023-09-08 15:06:06 +08:00
    ryd994
        1
    ryd994  
       2017-04-26 00:37:31 +08:00 via Android
    学好算法,做底层开发?
    MBTimY
        2
    MBTimY  
    OP
       2017-04-26 00:54:34 +08:00
    @ryd994 - - 我算法比较差, 不过最近在恶补, 基本上每周看一些常见的算法 让自己的大脑里面留有印象,然后再补充一些基础的数学知识, 但是我觉得以我的数学底子, 最多能做到的也就是可以在一定的环境下能想到哪种现有的算法可用,我觉得能达到这个水平应该是我的上限了, 或者说 短期的上限了. 做底层开发的意思是, 驱动?
    ryd994
        3
    ryd994  
       2017-04-26 02:10:05 +08:00 via Android
    @MBTimY 对,毕竟你现在的经验放到 IT 肯定不合适对吧
    你要转身也不是不行
    MBTimY
        4
    MBTimY  
    OP
       2017-04-26 02:33:52 +08:00
    @ryd994 不知道你这里指的 IT 是什么意思, 最近准备写一些 web 相关的小工具类的东练手,爬虫类, 数据分析类, 不知道有没有什么前景.. 现在只是觉得有趣而已
    ryd994
        5
    ryd994  
       2017-04-26 03:04:37 +08:00 via Android
    @MBTimY 我指的就是 Web 这类………
    你既然有底层相关的经验,不要浪费比较好
    pyufftj
        6
    pyufftj  
       2017-04-26 09:48:15 +08:00
    以前玩过 CTF , 做的是 web 方向,接触过一些逆向,不过感觉是被 ctf 玩。。现在放弃了,安心做开发
    kivusec
        7
    kivusec  
       2017-04-26 10:38:48 +08:00
    搞逆向 c/c++功底一定很好喽,可以转 c++啊,但是话说我感觉还是安全有前景啊老哥
    menc
        8
    menc  
       2017-04-26 11:04:16 +08:00
    不太理解,做逆向也可以不会写代码的?
    MBTimY
        9
    MBTimY  
    OP
       2017-04-26 16:18:16 +08:00
    @menc 可能我理解的"写代码"比较复杂一点, 我认为能称得上会写代码 应该有独立的构架能力, 良好的算法基础, 对于业务的需求分析有着很好的能将其转换成数学模型 程序 模型的能力, 以及对于自己开发的工程 或者 项目所需要的语言 模块 库 框架 等 都有着很好的掌握, 可以写出高效的代码 完成 整个功能 或者项目, 所以我认为我不太会写代码. 我不知道我的理解跟你对写代码的理解 是否一致, 如果一致的话 那你应该很好理解我 为什么认为我根本就不会写代码了
    MBTimY
        10
    MBTimY  
    OP
       2017-04-26 16:21:10 +08:00
    @kivusec 我有一个前同事现在就在阿里做安全, 我可能是性格问题吧, 我老是想自己做一些产品 , 但是安全这种东西 以我的工作经验理解, 我认为基本上 跟 政府项目相关, 或者 一些大型公司才有这方面的需求, 想要自己做一些东西 除非有不错的背景 或者 站在安全的反面 也许才能做到自己去做一些东西的期望.
    MBTimY
        11
    MBTimY  
    OP
       2017-04-26 16:25:46 +08:00
    @pyufftj CTF 我查了一下 好像是一个比赛?
    MBTimY
        12
    MBTimY  
    OP
       2017-04-26 16:30:57 +08:00
    @ryd994 恩, 这个我也是纠结了很久, 可能性格的问题吧, 想尝试一下其他的方面的东西, 自己也是很纠结呀..... - -.
    Karblue
        13
    Karblue  
       2017-04-26 19:41:27 +08:00
    不用纠结了。 逆向到深处就是了解系统底层。了解系统底层就必须看 C/C++ 代码。看多了之后写代码的功力已经很吊了。。 你说的那种独立架构能力的实际上应该称之为架构师。虽然这个愿景是好的。可是一个好的架构师不是说转行就可以转出来的。还不如继续深入逆向的工作。做逆向方面的大牛。。。
    MBTimY
        14
    MBTimY  
    OP
       2017-04-26 21:47:32 +08:00
    @Karblue 谢谢鼓励, 我今年准备试试 - - 做做数据相关的事情, 看看自己行不行, 发出来这个问题 也只是需要一些鼓励吧, 谢谢 .... 毕竟有一个骚动的心呀, 我觉得从数据中挖掘出来一些东西 很有成就感的感觉.
    gamegrd
        15
    gamegrd  
       2017-04-26 21:56:22 +08:00
    挖个 0day 够花一辈子了
    MBTimY
        16
    MBTimY  
    OP
       2017-04-26 22:17:15 +08:00
    @gamegrd 也要看什么质量的 0DAY, 不是所有的 0DAY 都叫 MS08067. 而且这也看人的性格, 我最近突然想做回一个正常人呀, 不想一辈子做一些 都没办法跟身边普通的朋友 聊天的事, 感觉这样下去会孤独之死(可能有点过于消极).
    qfdk
        17
    qfdk  
       2017-04-27 05:30:53 +08:00 via iPhone
    @MBTimY 以前也是玩这些的 ms06-14 也是个好东西 不过逆着能看懂 正常应该没啥问题 不行就单片机开发 我现在做大数据搜索相关的 换个脑子 祝好ᕕ(ᐛ)ᕗ
    pyufftj
        18
    pyufftj  
       2017-04-27 08:35:13 +08:00
    @MBTimY 恩,主要分为 web 和二进制,逆向是一个很重要的部分
    gamegrd
        19
    gamegrd  
       2017-04-27 11:45:00 +08:00
    @MBTimY 还有条路,做外挂
    phrack
        20
    phrack  
       2017-04-27 12:24:12 +08:00 via Android
    做逆向很有前途啊,看你经验好像很丰富的样子也就是做了几年了。

    为什么没有转移动端逆向。

    不过就算 pc 端逆向我也看到很多人在招人的啊。
    MBTimY
        21
    MBTimY  
    OP
       2017-04-27 14:37:37 +08:00 via iPhone
    @qfdk 大数据搜索相关,你现在做着觉得好玩么,有成就感么,主要工作就是抽取,分析数据?
    MBTimY
        22
    MBTimY  
    OP
       2017-04-27 14:39:21 +08:00 via iPhone
    @pyufftj 比赛相关的,可能主要是为了选拔一些人才吧,和吸引一些新人,我没怎么参加过 ,最早在读书的时候参加过一个国家还是哪里办的,感觉没啥意思 不过年代比较
    MBTimY
        23
    MBTimY  
    OP
       2017-04-27 14:40:41 +08:00 via iPhone
    @gamegrd 咦,你咋知道我没做过呢😗,不过作为人民的好同志,我觉得还是做点更有趣的事情了更好
    MBTimY
        24
    MBTimY  
    OP
       2017-04-27 14:48:14 +08:00 via iPhone
    @phrack 现在的心理状态就是有点不想转安全了,毕竟安全这个行当,在公司总有一种可有可无的不安全感,公司系统没问题,就觉得养着一帮搞安全的,浪费公司预算。一旦有什么问题,那必须希望我们像神一样立马解决,现在除了一些特大公司,小公司感觉对安全的重视是很有限的,当然也有可能我的理解是错的。最主要的原因是,我感觉安全这个行当以我的经验来说,那真是永无止尽的学习,做出来的大量东西不太可能能重复使用,导致每一次的工作基本上都是从零开始,只是附加上了你的经验而已,基本上要花点我所有的时间,至少我这几年里,根本不知道假期,每天脑子里面都是那些调试,逻辑,当然这可能是因为我太笨了,所以我花的时间比别人多太多,所以现在我转换一下,看看能不能做一份能有积累的工作
    qfdk
        25
    qfdk  
       2017-04-27 15:35:35 +08:00
    @MBTimY 自我感觉还是可以的,蛮有意思的,跟单步跟踪差不多- -至少是没有逆向那么复杂而且比较出成果。嗯差不多吧。一般做安全的前身基本上都是拿着工具扫描啥的,看到个洞就用了,利用工具啥都是别人的,后来接触了编程,大数据啥的,感觉还是蛮有意思的。毕竟现在东西越来越安全了。之前做逆向啥的无非就是破解个软件,给 exe 加点儿花指令免杀什么的,基本没有技术含量,只是枯燥。
    MBTimY
        26
    MBTimY  
    OP
       2017-04-27 15:43:20 +08:00 via iPhone
    @qfdk 安全的门槛越来越高,当然枯燥程度也随之线性增长,安全对抗真的是一生都在跟一堆看不见的人在战斗,工作久了有一种疲劳感,把之前的热情都慢慢的击退了,所以我现在也是想做数据相关的一些工作,感觉跟以往的工作也有一定的交集,还是拿着把锄头挖东西,只是没人一天在旁边捣乱了,可以把精力放在挖这件事情上,做安全想挖点有用的东西,vm 壳,驱动保护,内存保护,线程保护搞的真是焦虑
    qfdk
        27
    qfdk  
       2017-04-27 15:46:34 +08:00
    @MBTimY 所以研究下大数据吧,弄点儿数据做做分析,会有意想不到的结果。现在我在分析 log,这些比脱壳啥的有意思多了 :) 跟侦探小说一样,思考的就是怎么处理数据比较靠谱,然后利用这些数据学习,学习了之后可以再做很多事情,这也是方向。做安全要有团队,一个人没意思。
    MBTimY
        28
    MBTimY  
    OP
       2017-04-27 15:58:25 +08:00 via iPhone
    @qfdk 嗯,最近几个月都在看一些算法相关的书,然后买了一本 r 语言的书,现在书已经快满了,今年的看书计划估计是排满了,然后通过 python 写一点练习程序,我准备也去 github 上面发布几个程序?做开发比较流行,也比较看重这个东西吧?
    jackey2016
        29
    jackey2016  
       2017-04-29 16:02:28 +08:00
    研发想转安全的路过,听你这样一说,犹豫了
    jackey2016
        30
    jackey2016  
       2017-04-29 19:31:31 +08:00
    @phrack 哥们你成功转行安全了吗?
    MBTimY
        31
    MBTimY  
    OP
       2017-05-01 23:48:46 +08:00
    @jackey2016 不要犹豫, 我是因为性格问题, 还有时间点的问题, 也许混不下去 我又回去继续在安全这个行业 耕耘呢, 安全行业还是有前途的, 如果自身性格比较稳定的话, 安全是一个不错的行业, 安全是一个 越深入越好的行业, 但是对知识面又要有一定的要求, 比较考验人的毅力 耐性
    jackey2016
        32
    jackey2016  
       2017-05-02 00:51:13 +08:00
    @MBTimY 亲,你工作两年的都感觉想转开发,我突然怕安全坑太深了。性格和时间点问题,不是很明白
    MBTimY
        33
    MBTimY  
    OP
       2017-05-02 01:27:59 +08:00
    @jackey2016 "性格" 是指的我自己的性格缺陷, "时间点" 是我在这行干了这么久, 会陷入一些自己迷思里面, 导致影响自己的一些决策. 其实准确的来说, 我现在并不是想转开发, 开发只是一个工具, 只是一种手段, 安全产品的开发也是开发, 准确的来说我是想转换一下技术方向, 我以前的技术方向是从计算机系统的下层开始的, 你越往下接触, 你自己在安全这个行业的自身的技术就越出色,因为很多问题 需要你对整个系统的内核层, 甚至硬件层的结构有充分的认识, 你才可以在此基础上做出合理的分析, 和开发.

    我是野路子出身的, 没有系统化的学习, 所以之前所学的东西一直是计算机里面称为 "术" 的部分, 比如: 各类调试器的使用, 汇编, 或者其他语言的一些语法技巧, 不同语言之间可能在堆呀, 栈呀, 或者 调用的时候的一些不同处理, 一些软件保护自身的手段, 或者类似 PE 这样的 一些结构, 我花了可以算很多年才学到这些在我以前认为很厉害的东西, 现在想想只是不过是一些技术方案的东西, 觉得自己很失败.

    我在内心很迷茫的时候, 发出了这样一篇帖子, 主要是希望能感知到一些回应, 看看自己能不能在大家的回答中找寻到一些方向.

    所以我才说, 你如果想做安全, 就单纯的说 "安全" 这个行业来说, 是挺好的. 只要你心中没有我这样的迷思, 安安心心在这个行业之中扎根, 慢慢积累自己的技术经验, 慢慢成为这个行业的大牛, 那么前途还是很不错的.

    我最近看了很多数学相关的书籍, 补充自己对于 我认为在计算机 之中最重要的部分, 就是理论的部分 我 粗浅的认为 这部分可以称为 "道" 也许, 也许没有 "术" 那么实用, 甚至学了一堆东西 也没办法喂饱自己, 不过我觉得在现在这个阶段, 学习 "道" 的部分可以让我自己看清眼前的路, 慢慢 摸索.
    jackey2016
        34
    jackey2016  
       2017-05-04 07:04:03 +08:00
    @MBTimY 感谢楼主热心回答,我和楼主可以说差不多也是野路子,你说的那些调试我也是不太会,也是要从零开始
    MBTimY
        35
    MBTimY  
    OP
       2017-05-04 18:48:20 +08:00
    @jackey2016 那这条路就 比较艰辛了, 我建议你要好好想清楚, 支撑我的动力是我对 计算机这行的热爱吧, 当然最重要的是我个人比较无聊, 每天可以把大量的时间花在这个上面, 毕竟安全是一个综合性太强的领域. 简单来说, 你啥都得懂, 但是你啥都懂, 可能人代表你啥也不懂. 所以 得在一个方向深入, 除了这个方向以外的, 你全都得达到了解的水平, 否则你就有一种寸步难行的感觉
    gamegrd
        36
    gamegrd  
       2017-06-03 07:45:57 +08:00 via Android
    vmprotect 让人怀疑人生
    MBTimY
        37
    MBTimY  
    OP
       2017-06-03 15:45:41 +08:00
    @gamegrd 有点虐,主要是浪费时间,还是脚本化吧,千万不要想着用人力去解决这个无聊的问题,不要问我经验从何而来的。
    canghaicode
        38
    canghaicode  
       2020-05-22 10:35:41 +08:00
    三年过去了,楼主现在在做开发吗,我是想从开发转安全看到了这里,我也陷入了迷思
    ltfree
        39
    ltfree  
       2022-12-19 17:34:38 +08:00
    又是 n 年过去了,正向开发同样也看不到未来 准备转逆向呢
    MBTimY
        40
    MBTimY  
    OP
       2023-09-08 14:44:06 +08:00
    @canghaicode N 年过去了, 开发已经由 GPT 完成了...
    MBTimY
        41
    MBTimY  
    OP
       2023-09-08 14:44:51 +08:00
    @ltfree N 年过去了, 逆向转开发... 也是可以的, 但是开发的主要逻辑我感觉是 对于需求的确立 倒不是代码的有多牛
    ltfree
        42
    ltfree  
       2023-09-08 15:06:06 +08:00
    @MBTimY 逆向放弃了 没天赋 路子感觉有些窄
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:36 · PVG 05:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.