首页
社区
课程
招聘
[原创]慢慢编程路
2018-7-22 23:27 5457

[原创]慢慢编程路

2018-7-22 23:27
5457
不知不觉我在这个行业已经工作了6年多了,没觉得时间过去了多久,每天的忙忙碌碌的生活也不去回想往事,但当有一天真的静下来的时候,才发现时间已经过去好久了,自己年龄也慢慢的变大了,当然收获也是颇多的。

也许是命运的机缘巧合,给了我这样一个从事这个行业的机会,说真的以前只是愿意玩电脑,可以说对电脑的其他方面来说就是个小白,很多事情就是这样,自己摸索的学习将会是一个很漫长的过程,但是有个明白人带着那可能就是事半功倍,至少让我知道了该怎么学习?学些什么东西?

最开始是看一些破解教程,说真的看教程就跟看天书差不多,也看不明白什么,大概就是这么说:“破解软件前要先查壳,如果有壳的话就需要脱壳,脱壳先要找到入口点,然后就是看一些汇编代码JMP 0Xxxxxx”。入口点是啥?这个指令有事什么东东?带着疑问,我就开始接触了汇编语言,也是开始之路的第一本书《王爽汇编》,当时也是不懂,就是跟着一些练习尝试这操作,看看最后发生了什么结果,一遍下来速度倒是蛮快的,但好像啥也没有学会,于是我又开始学了一遍,同时结合一些实际项目开始接触Ollydbg工具,通过这个软件的使用让我对汇编又了更深刻的了解。通过逆向技术的学习,我学到了很多技术,常用的钩子(hook)技术,注入技术,学到了一些常用的API函数,还有一些调试技术等等。

逆向有了一定的基础后,我就开始学习开发语言C/C++;学过x86汇编语言的人知道,C语言的语法与汇编语言的语法非常相似。我最开始学的就是孙鑫的c++教程,很基础,讲的也很祥细,再结合一些实际项目的应用,很快对C语言有了一定的了解,而且用c语言项目,嵌入汇编语言开发一些特定的功能;就这样大概学了一年多吧!我开始自己尝试完成项目了,一个台湾的软件,我给完美破解了,包括脱壳、注册算法的解析、部分功能的由汇编语言对c语言的还原及对程序数据库密码的破译工作,当时破解成功后那心情,虽然花了点时间,但时间没有白白浪费;之后由于项目需要,我根据该软件开发个类似的软件,我开始写程序的界面,该程序的界面是由图表组成,用c语言各种画图,添加一些文字及软件完成后的测试、调试工作。

也是项目需要,我们开始接触了一个游戏项目,游戏属于一个比较大的程序,刨除资源性的文件,最重要的就是游戏的引擎,而且产生游戏数据的各项功能大都是通过通讯协议的发送与接收实现的。程序是什么?程序就是数据和算法的结合,在网络不发达的时代,大部分的数据都选择了存在本地,这只需要用API简单的对文件、数据库操作就可以了,但是互联网的快速发展,云技术的出现,很多程序的趋势都愿意把数据放在服务器,为了更好的实现功能,我们就会朝着收发数据报的方向研究。
都说书会越看越薄,研究技术也是一样的,就如脱掉美女一层一层的衣物,最后裸奔拿下!最初的接触是软件有很多行代码,但是慢慢你会发现很多代码是么有什么用的,然后你会看见很多的功能函数,你会发现调用这些函数能实现一些功能,但还是离不开这个环境,这样你就会想函数里面是不是还是有什么猫腻呢?答案肯定是由的,但是想了解也没有那么容易,就算想和女人上床是不是还是需要解开她的内衣呢,何况我们这里的保护还不止一层,对于这一层或者多层的保护大多都是很复杂的,因为里面就是明文包了,这回要裸奔了!有了明文数据包你就可以想做你想做的任何事情,贱婢由你发落!

自从智能手机系统的出现,像当前流行的ios、Android系统,人们对手机的依赖性也变的令人着了魔,今天还看了个视频,当父母的玩手机,孩子丢了都不知道!当然这是一个不负责的家长,但我想表达的不是谴责他们,而我想说的是移动端将会代替pc终端的这一个趋势。作为最程序的我们,也要学会审时度势,所以我也开始学习Android方向的开发与逆向研究,有了pc端的学习经历,学习安卓还真不是很费力,这回先学习开发,java语言,虽然学的不是很彻底,但是大概的语法都学会了,Java和c++特别像都是针对类对象来实现的,只是Java有更多的一些语法,他属于高级开发语言;基础语言学完了,就要开始学逆向了,学习软件最好的办法就是实践操作,还是工作项目需要,要求静态分析软件代码及动态调试获得运行时的数据和状态,这样我就学习了smali码、arm汇编指令、ELF文件格式等等。Android软件分析起来比较容易,可以获得源码级别的代码,而且早期对android软件方面的安全防护工作不到位,这也为我们的学习提供了便利条件。当初的百度、微信、淘宝、支付宝、都拿来学习研究过。

最后就是对脚本语言的学习,lua语言和python语言,lua语言一般都是开发游戏的平台比较多,一般都结合cocos2xd引擎、c语言一起使用,像很有名的《愤怒的小鸟》
就是用lua脚本实现的,如果是游戏的话主要功能都是由lua实现的,但我想是你也别想简单的得到明文的lua文件,文件的加密是对安卓数据安全的常用手段;python也是比较流行的脚本语言,很多的爬虫软件都是由python写的,网页方面的操作对python来说,那是很容易的事情,而且还有用python开发自主学习功能的,无论是lua,还是phython,学会一个脚本语言对我们开发难度大大减少了!

6年多就这么的过来了,看着没多少东西,但其实也有不少的东西,都说活到老学到老,干这一行的人更是要为自己实时的充电,可能我们不会做一辈子的技术人员,但是我们学会了学习的方法,有了知识我们会更好的做事情。干哪一行都是台前一分钟台下十年功,别人风光的背后是勤劳的汗水,最重要的还是要有坚持不懈的精神,不要轻言的放弃,总会有出头的一天!

人生最宝贵的就是经历,最近的时间发生了一些事情,让自己学会和别人分享、和他人交流,自己在开始干这行的那一天就注册了看雪,也有6、7年了,我看着他成长,我也在成长,我曾经在这里解决了不少问题,我也希望以后的自己也会帮助别人解决问题。欢迎大家前来技术交流,共同勉励,共同进步!QQ:1823260232

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞1
打赏
分享
最新回复 (7)
雪    币: 216
活跃值: (250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tsoo 2018-7-23 11:10
2
0
佩服佩服!!
雪    币: 1366
活跃值: (5584)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
supperlitt 2018-7-23 15:12
3
0
分享经历是很好的。
雪    币: 3579
活跃值: (659)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
梨树生果 2018-7-23 17:48
4
0
tsoo 佩服佩服!!
不用佩服,你坚持住了你也会懂那么多!
雪    币: 3579
活跃值: (659)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
梨树生果 2018-7-23 17:49
5
0
共勉吧!
雪    币: 12
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
西湖又雨 2018-8-6 14:58
6
0
给答主点个赞
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
petersonhz 2018-8-7 20:19
7
0
一个台湾的软件,我给完美破解了,这个软件用的是什么壳,软件用的人多么
最后于 2018-8-7 20:22 被petersonhz编辑 ,原因:
雪    币: 217
活跃值: (134)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
扫地sodi 2018-8-7 20:31
8
0
多少人都是迷迷糊糊从逆向到开发到迷茫
能有自己喜欢的归宿就是好的
游客
登录 | 注册 方可回帖
返回