大家好,我是轩辕。
一道思考题
给大家出一道思考题:
我想,大部分新手小白估计会这么写:
#include <stdio.h>
#include <string.h>
int main() {
char buf[10] = {0};
scanf("%s", buf);
if (strcmp(buf, "12345678") == 0) {
printf("success");
} else {
printf("failed");
}
return 0;
}
上面的代码编译后,会生成一个可执行程序,咱们来对这个可执行文件进行一下反编译,看看能看到什么?
下图是在反编译神器IDA中,可执行文件反编译出来的汇编指令图:
可以非常清晰的看到一些字符串的信息:"success"、"failed"、"1234567。
再认真一看,main函数中有一个分支判断,根据判断的结果,走入左右两个分支,分别输出"success"和"failed"。
如果新手看不懂上面的反汇编图,那可以再使用IDA的神级功能:F5反编译高级语言功能,直接将上面的汇编程序再进一步还原成C语言。
可以对照一下上图中的C函数代码和原来我们的源代码,还原度非常的高了,字符串比较的功能逻辑暴露无遗。
可以看到,通过这种方式进行密码匹配,非常不安全,对方拿到你的程序一反编译,就能看到密码是什么了。
软件逆向工程是网络安全领域中的一个重要分支,网络黑客通过逆向工程可以获得目标的程序原理,破解软件的权限,还可以通过逆向分析发现软件漏洞,用来对其发起攻击,Windows作为一个不开源的操作系统,就经常遭遇这样的事情。
所以学好逆向分析,是学习病毒木马分析、漏洞攻击、操作系统内核、软件安全防护等多个方面必备的基础。
从零开始学逆向
7月份的时候,我在里发起了一次学习活动,主题就是从零开始学习逆向分析。
但在活动的过程中,我越来越发现,不同于之前的学习活动,逆向的学习是非常讲究实际操作的,普通的文字很难把我想要传达的内容传递出来。
同时有大量的底层技术原理,即便是配上图片,也很难讲述的清楚,而动画是一种特别适合的方式,一个简单的动画可以让人瞬间明白,比起一大段文字,信息传达效率高多了。我之前在B站创作了大量的视频,就致力于用动画来讲述计算机的知识,很多都获得了不错的反响。
于是我产生了一个想法:把从零开始学逆向做成一系列的视频课程! 通过视频教学带着大家一起学习。
一方面,在视频里可以用大量动画给大家阐述技术原理,另一方面还可以实际动手操作进行逆向分析。因为我太清楚逆向这玩意儿没人演示操作带着学习,自己不管是看书还是看文章都很难学得下去。
其实轩辕刚刚毕业进入百度那几年,就主要从事的是逆向方面的工作,因为做安全软件开发,经常与各种各样的恶意软件打交道,逆向分析它们的行为,开发对应的对抗策略,除了逆向恶意软件,还有竞品的攻防对抗,什么HOOK、内核驱动、加解密、数据包劫持、进程隐藏、代码注入、Rootkits等等技术都有所涉及。
那时候的我没有人指点,只能自己瞎琢磨,东学一点西学一点,没有系统化的梳理知识体系。看大佬们用一堆工具也不知道它们分别解决什么问题,什么时候该用什么工具。
啃了两年左右吧,总算是找到了一些门道,知识体系慢慢建立起来,学东西不再是瞎学而是有清晰的路径,效率自然就高多了。
2016年的时候,有幸参加了吾爱破解论坛和360联合主办的安全挑战赛,荣获了一个第二名。
所以从小白一路走来,我太清楚一个新手在这个阶段的状态了,有一个懂行的人带着你前进,能少走太多弯路。有了做视频这个念头,说干就干,上个月,我已经开始了准备工作,目前已经录制到了第七课。
下面是这个系列视频将会覆盖到的内容:
能获得什么
虽然是学习逆向,但里面涉及到了大量的操作系统和C/C++编程的知识,通过学习这些视频,不仅能学习到逆向分析,还对这两个方面从底层有更深的理解,如果对这方面感兴趣的朋友,也欢迎加入一起学习!
本系列视频主要专注的还是x86架构,包括Windows和Linux平台都会涉及到,学完了这个系列课程,就具备了基本的逆向分析能力,找一份普通的逆向分析工作应该问题不大。如果还想进阶,我也会推荐一些其他补充学习的内容。
需要什么基础
学习逆向,最好有一些C语言的基础,但考虑到网络中已经有非常多的C语言视频课程了,我就没有补充这方面内容了。小伙伴们可以简单看下C语言,了解一下基本的语法就足够了。这里推荐一下B站的小甲鱼讲的C语言还不错可以看看。
课程亮点
本系列视频课程,制作了大量的动画,这里截取了几张图,大家可以先看一下静态图,感受一下:
轩辕力求从基础知识出发,理论结合实战,带领大家逐渐进入逆向的大门。
除了观看视频,我建了一个从零开始学习逆向的专题微信群,参与学习的朋友欢迎添加我的微信,我将拉你进入群聊。我会在群里安排和布置每一节课的作业,并在群里为大家答疑解惑。
关于视频收费问题
录制视频其实还是一件挺辛苦的事儿,首先要规划每一节课的内容,讲义文稿、程序代码,接着是制作PPT、动画,最后是录制、剪辑、配字幕。其实一节视频做下来还是需要花费大量的时间的,如果完全靠爱发电,很难坚持的下来,所以视频课程不是免费公开的。
像微信公众号的文章就是免费看的,大家也能感受到,很多博主(包括我在内)都是靠广告收入来支撑持续创作的,但现在很多广告质量都是非常差的,对于这些广告商背后的资质、信誉各方面都很难去评定,可能一不小心就把自己的粉丝坑了,所以我拒绝了很多广告。
我想,与其发广告,还不如自己花时间创作一些优质内容来挣点钱,内心更加踏实。
至于价格方面,目前价格是¥256,第一波(前100位)支持的朋友,只需要¥199元!100位之后,将恢复原价。
在公众号发文之前,我已经在朋友圈先发了一轮,目前已经有64位(不含我),剩余优惠名额只有不到40个了,有需要的朋友可要抓紧了。
更新计划
这个系列视频课程,总共预计是32课,但有可能在录制过程中,会根据实际情况和大家的反馈增加一些新的内容进来,内容只会多不会少。
视频计划每周更新3节,预计在元旦节之后,全部更新完成!
需要的朋友开卷吧~
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...