生命不熄,奋斗不止!

记得十年前决定开发操作系统和编译器的时候,我已经解接触了开源软件,但是接触开源代码还是后来的事。

开源软件产生是为了反对微软垄断和高收费,让人们用上免费软件,今天已经大功告成!进入2013年,我发现开源社区的激情似乎已经慢慢消失,推出的新的各种开源项目计划似乎已经越来越不行了,至少我在nix下面看到,gnome3,kde4.10已经不行了,漏洞百出,不堪使用。我也在今年发布了汉澳sinox2013server和sepl编译器和sepldevelop,但我也不焦急去推广它们,因为我觉得开源时代已经慢慢过去了,人类进入了逆向时代!至少对cracker来说是这样。

我并不是一个职业程序员,但我绝对是一个专业程序员,我在小公司跳来跳去,甚至还有自己单干,我自己单干的时间比上班还多。为什么单干还能活下来?就是去做一些程序员杂活,赚点钱。但是真正赚钱的是因为我成了逆向人员,其实就是代码破解黑客。

我当时去开发编译器时候知道要用汇编才能编译程序成可执行程序。不过汇编是比较可怕的事情,我大学考了3次汇编才及格,当然我不愿意作弊,我曾经考试作弊得了好分数,还得奖学金,我觉得非常可耻。不过大学不堪回首的事情我就不说了。但是编译器还是要写的,汇编还是要学的。学了一下觉得没动力了,似乎进展不大,看到网上有人找搞破解招人的,我就决定去他们那里边破解边学汇编。去那里做了不久,还是写程序的,觉得没有前途,改去一家公司上班,搞了一段时间又觉得去搞破解更有前途,后来终于会做调试分析了,还能写程序。不久我出来自己分析破解写一个程序卖给工作室,结果赚了钱,收入好高啊,还买了房子,不知房奴滋味。正如唐骏所说的,第11年一下赚回10年的钱。

破解与反破解,调试与反调试的斗争更加激励了。但是作为跟机器码打交道的代码调试员,幸运之手垂青,不再是苦逼程序猿,也许也不是每个黑客都那么幸运。从2003《加密与解密》发布,中国破解程序员越来越多,现在10年过去了,已经拥有数万奋斗在机器语言一线的代码挖掘黑客。黑客分成两种,网络破解黑客和程序代码破解黑客。我不是网络破解黑客,我没兴趣,我觉得他们入侵不会写程序,是工具客。我喜欢代码挖掘,在黑暗的机器语言世界里摸黑游走,找到入口和破绽。一旦找到代码,我会非常兴奋,没日没月挖掘的结果竟然这么简单,仅仅就是一个jump或者call。有时也赞叹程序算法设计之精彩,之前也未曾见过。代码挖掘者是孤独行者,置身在二进制世界里,只看到cpu,寄存器窗口,堆栈窗口,内存区,当前地址数据区,目不转睛,一对眼睛要同时看5个地方,只能慢点按 F8进入下一个机器码,实在搞不懂才按 F7进入下层函数,或者 CTRL+F9跳到上层函数。01二进制世界好黑啊,我们把它叫密界,秘密的世界。一般程序员看不到。一个程序员要成为调试黑客高手要用3到5年才成熟,因此没有公司能培养黑客,黑客要成长,可能有师傅指点,但必须自学成才。

金钱利益推动黑客程序员和黑客产业发展,如果没有金钱驱使,谁会去做黑客,尤其是专业程序员,引导他们的不只是兴趣。我当初学习汇编设计编译器,但是因为觉得破解有钱途我才会加入他们。黑客学习初期起早摸黑,经常熬夜,要看看你的身体能否扛得住。顶不住就做不下去了。黑客成长是痛苦的,幸运的是我是有运气的黑客,早期加入黑客公司为他们效力成长起来。现在黑客公司似乎少了。

因为软件保护太厉害了,甚至出现了驱动保护程序,因此调试更加艰难。我转身去破解专业软件。那些专业软件竟然没有加壳保护,有如进入无人之境,破解真是太容易了。不过这些专业软件年代久远,也不是省油的灯,竟然有win16位和win32程序共存,调试起来非常困难。16位程序调试工具差,没有内存断点。只能猜测分析函数,还好,16位程序程序段很小,程序也不大,功能大的程序需要用到dll动态链接库,他们有导出函数,这样通过函数名字逐个分析调试,找出关键代码,逐个排除,找出真正的功能代码。有时候实在没办法,只能猜。32位程序调试工具好,如果没有保护,我的天啊,这种程序简直就是开源软件,破解它们有如探囊取物。

二进制程序也是开源软件,机器汇编代码可以看,只要能调试,破解指日可待。有一种程序是真正的开源软件!

java程序其实是开源软件

sun设计java虚拟机的时候就有先见之明。破解java程序也可以直接用ida反汇编class文件,然后修改汇编代码直接破解掉。这个没什么惊奇的。我告诉你,用java反编译软件直接把class和jar还原出源代码,然后修改源代码重新编译后替换回去,其实也许你不要重新编译代码,而是看java代码就能逆向出算法,比如计算系列号算法,如果还是看不出来,可以修改编译调试他的代码,那就没有任何难度。java的class还不能加壳,所以java程序应该归入开源软件类别。C#也是。

逆向其实就是破解,一种很美化的说法,逆向和破解都免不了要反汇编和调试。不过逆向需要还原出高级语言,破解可能不需要,直接破掉就能完成任务,所以逆向比破解还要高一个等级,不过现在ida似乎可以把整个函数还原出c语言程序,不过我还是喜欢自己根据汇编思路写算法,而不是直接用。但是计算系列号算法要反过来的,并不能直接用里面的函数。比如流程 注册成功数=系列号*转换数,那么系列号=注册成功数/转换数,一些数学运算,并不能用二进制代码函数算法。

破解是解除软件的收费功能。如果软件很有价值,破解掉让人人能用,那开发公司就很难赚钱。破解其实还是比较容易的,有时修改一个t跳转就好。

逆向是破解软件功能,抽取核心算法和核心数据,然后可能模仿山寨出同样功能的软件,这个是高等级破解了。仿冒,仿造,山寨软件!核心数据和算法一但被取出和山寨,这个软件就可以被低价格仿冒者拍死。我现在做逆向就是干这种活,而不是简单破解掉其注册保护。我不会说我准备破解谁的软件,但是可能我已经破解了你的软件你还不知道!你不会求爷爷告奶奶叫我不要破解吧。

有一种人,苦逼程序员苦苦写出来的软件,他们就去破解逆向出他们的程序,掠夺他们的数据和算法。同是程序员,相逼何太急!这就是程序员和逆向工程师。

都是吃饭的干活,程序员竟然分裂成你死我活的两种人,可悲!不过大家尽可放心,我现在只是破解西方国家的软件,他们的价值连城软件就这样被破解和逆向,仿造了。

这就是鲁迅说的拿来主义?西方列强的东西,不要白不要。国内还没有核心技术软件要逆向吧?软件有国界。

随着软件保护的加强,现在出现了驱动保护,在内核保护软件让你不能调试分析。不过道高一尺魔高一丈,你有驱动,我也能写驱动,在内核废除你的保护功能。这不,游戏界出现了np,tp.xtrap,hs等驱动保护程序,现在我也开始写驱动了。没有设备驱动,游戏界都能推动黑客研究和开发驱动了。我觉得作为程序员,写破解游戏驱动保护也不是一件难事吧,我要悄悄地干活。

开源和逆向目的是一样的,都是金钱推动下收钱与反收钱的斗争,高价与低价的竞争,技术垄断与反垄断的斗争,一个更加诱人的行业,吸引数万密界高手在二进制机器语言黑暗世界里摸黑挖掘,寻找蛛丝马迹,挖掘出珍贵的机器代码,并还原成高级语言。何苦做破解,何必做逆向,但是都指向一个字:钱。

也许逆向推动中国核心软件技术发展,可能不是一个钱字能覆盖他们的功用。逆向变相促进软件开源,中国已经进入了逆向时代,另类开源时代。

有人说,既然这么厉害,为何不组织一个逆向团队大力挖掘?我说,这个行业并不是完全合法,还可能摧毁商业软件的根基,必须偷偷摸摸,不能做大做强,不然又要抓人了。

逆向在黑暗的世界孤独挖掘,见不得光,其实你自己也一样。

转载于:https://www.cnblogs.com/riasky/p/3365992.html

从开源时代进入到逆向时代相关推荐

  1. AI正由感知智能时代向认知智能时代迈进

    随着科技的高速发展,人工智能时代美好生活的蕴涵人工智能诞生至今,已有几十年的发展历史,经过几十年的发展,人工智能已广泛渗透到人们生活的经济.政治.文化.社会和生态发展的各个领域,人工智能不论对社会的基 ...

  2. 马上就5g时代了,5g时代有什么风口吗?

    随着移动互联网的逐渐升级,一个又一个经济热点的爆发,人们对风口的认识越来越充分,那么5G的到来是不是会爆发更大的风口和红利呢?让我来为您解读. 我们要知道2g时代就是文字时代,那时候是网络小说盛行的年 ...

  3. 每个时代都有每个时代的风口

    每个时代都有每个时代的风口,即便看准了所有风口,没一技之长依然抓不住机会! 你要做的在没风口的时候努力学习,让自己成长成为某一领域的专家,找到自己感兴趣或擅长的点并不断优化精进,在风口来临时才不会不知 ...

  4. NLP:自然语言处理技术领域的代表性算法概述(技术迭代路线图/发展时间路线)、四大技术范式变迁概述(统计时代→大模型时代)、四个时代的技术方法论探究(少数公司可承担的训练成本原因)之详细攻略

    NLP:自然语言处理技术领域的代表性算法概述(技术迭代路线图/发展时间路线).四大技术范式变迁概述(统计时代→大模型时代).四个时代的技术方法论探究(少数公司可承担的训练成本原因)之详细攻略 目录 一 ...

  5. Atitit 互联网之道 1.1. 互联网 1 2. 互联网经历了三个时代,门户时代、搜索/社交时代、大互联网时代 1 2.1. Web2.0.搜索/社交时代(Web 2.0) 2 2.2. Web

    Atitit 互联网之道 1.1. 互联网 1 2. 互联网经历了三个时代,门户时代.搜索/社交时代.大互联网时代 1 2.1. Web2.0.搜索/社交时代(Web 2.0) 2 2.2. Web ...

  6. 时代产业变迁与时代产业创新:如何重构人与产业的链接

    随着互联网时代的全面到来和生产供应市场需求的萎缩,生产端不得不在求生存的情况下直面消费群体,重构产业与人的连接,来应对企业与消费者之间,企业与产业变革之间,消费者与市场之间发生的重大变化. 那么,如何 ...

  7. 什么是Web1.0时代、Web2.0时代、Web3.0时代?

    什么是Web1.0时代.Web2.0时代.Web3.0时代?   互联网的起源.1969年美国的阿帕网的出现标志着互联网的诞生,而1973年第一台个人电脑The Xerox Alto的出现就预示了互联 ...

  8. 现在的时代不是互联网时代的延续,因为其底层逻辑已经改变

    拥抱实体经济,绝对是当下互联网玩家们的首要选择.无论是头部的互联网企业来讲,还是新生的互联网玩家而言,它们都不约而同地将关注的焦点聚焦在了这样一个方向上. 透过这一点,我们可以非常明显地感受到,一个全 ...

  9. 大数据:冷兵器时代到热兵器时代的变革

    文章讲的是大数据:冷兵器时代到热兵器时代的变革,世界著名的未来学家John Naisbitt认为"我们首次拥有一个基于关键资源(信息)的经济体制,不仅是可再生的而且是自发生产的.耗尽它没关系 ...

最新文章

  1. 赛迪展望 | 一文了解“2021年中国先进计算产业发展趋势”
  2. 从程序员到项目经理(20):让员工为目标而干活
  3. Affinity Photo中文版
  4. 《数据分析变革:大数据时代精准决策之道》一第一部分 变革已然开始
  5. JZOJ 5182. 【NOIP2017提高组模拟6.29】码灵鼠
  6. 信息学奥赛一本通 1958:【12NOIP普及组】寻宝 | OpenJudge NOI 1.12 06 | 洛谷 P1076 [NOIP2012 普及组] 寻宝
  7. java memorystream 包_存储在MemoryStream中的裁剪图像中心
  8. 【noi 2.6_162】Post Office(DP)
  9. 快递物流行业如何用易语言对接验证码短信接口DEMO示例
  10. CLUSTERDOWN Hash slot not served
  11. 指数函数、对数函数、双曲函数
  12. Vue router 默认加载 views 文件夹下全部vue文件
  13. JavaWeb项目上云教程(Java项目在腾讯云上部署操作教程)
  14. linux ltp,LTP
  15. 解读国内外园艺机器人的应用现状
  16. 网易互娱9.05笔试
  17. 人民币美元兑换程序python简单_纯代码实现人民币兑换美元
  18. 字符移动,大写字母后移且保持相对位置不变、调整顺序奇数位于偶数之前
  19. 自己用JavaScript写出吉他和弦图生成器
  20. 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程

热门文章

  1. Linux下的USB总线驱动(03)——USB鼠标驱动 usbmouse.c
  2. ARM 学习笔记整理(一)
  3. python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)
  4. Android系统访问串口设备
  5. wifi信号弱爆了 教你增强wifi的方法
  6. 【案例】js 获取今天/昨天/近一周/一月/一年的日期,时间戳转日期,
  7. HDU 4687 Boke and Tsukkomi【带花树】
  8. 会议室管理前端页面_会议室预定设计
  9. idea Springboot项目sout控制台中文输出乱码解决方案
  10. 解决电脑出现 R6034 Runtime Error