我觉得学习逆向工程是不可能的

信息安全 C 外壳代码 逆向工程 部件
2021-09-03 01:07:04

我知道如何使用 Kali 中的大多数工具,例如 msfvenom 和 msfconsole,我可以放心地称自己为脚本小子。我学习了 C# 的基础知识,这有助于我理解 C 中的一些东西,但我仍然很容易迷失方向。我知道汇编mov xor add jmp cmp等基础知识,但我很难遵循实际代码的流程,而且我很可能无法从汇编程序中制作伪 C 代码

我想不再做一个脚本小子,开始变得更好,不是为了以此为业,而是因为我喜欢编程工具的整个概念,发现漏洞,利用系统中的漏洞。

我开始阅读这本书“The Shellcoder's Handbook”并阅读了前 4-5 章。我有点明白这个想法和概念,但我很难理解实际发生的事情。

我每天都跟着书和类似的视频学习8个小时,但我感觉没有太大的进步。

我的方法错了吗?

我只是从一个糟糕的地方开始吗?

学习python / C中的每个命令和整体语言是否更好,或者我应该在学习这些书籍和视频的同时学习它们,因为我非常擅长C#(或者我相信)?

很难理解这些东西是正常的吗?我的意思是,例如,我可以理解 shell 脚本是如何工作的,但是如果让我一个人编写它,我就无法自己制作一个。

4个回答

所以让我用“我不是在暗示你是个孩子”作为开头

通常当我教孩子们关于 CIS 并且他们听到我的工作时,第一个问题是

“我怎么破解?”

我会告诉你我告诉他们的同样的事情。黑客不是你学到的东西,而是你在一系列与安全相关的主题上多年经验的结果。

通常你会发现有软件背景和网络背景的人闯入安全领域。几年前,我通过参加 defcon、derbycon 和其他与安全相关的活动开始了我的安全之路。我了解到,如果我想专业地做这件事,那么我需要更深入地挖掘。我了解到,没有什么神奇的知识能让你成为一名安全专家。只需努力工作并了解如何确保安全。

在构建了许多 Arduino 项目、从头开始设置了许多网络服务器、从数据库中构建了许多网站、使用了(并且不介意你)我的 OSCP 之后,我终于达到了可以称自己为安全软件工程师的地步. 我在那段时间工作的公司有一个针对工程师的安全冠军计划。他们为单个团队成员提供了更高级的安全培训,使其成为团队安全工程师。我做到了,我喜欢它。

大约一年半前,我取得了飞跃并找到了一份构建入侵检测软件的工作,我喜欢它。我的大部分工作都是标准编码,但我确实可以通过各种方式定期应用我的安全知识。

我想我的长篇大论是,继续学习。通过学习不同的技术,您正在以正确的方式做到这一点。查看我的博客https://www.DotNetRussell.com,您可以看到我所做的项目将我带到了现在的位置。

保持学习。正如评论中提到的,安全性很难。所以才会有这么大的需求!对于人们来说,这真的很少见。你看到的那些是该领域专家的人在那里,因为他们花了很多年的时间来磨练这些硬知识。

逆向工程很有趣。我每隔一周使用一次 IDA,所以我不是该领域的专家,但经常这样做。如果您想了解逆向工程,您首先需要知道如何进行工程。

如果你专业地做这件事,你就是在 Windows 领域度过你的时间。因此,为了更好地学习一些 Windows 内部知识,请使用 C# 和 C for windows 编写一些项目。

我认识的最好的逆向工程师首先是软件工程师。

自己构建一些程序并在其上使用 Radare2 和 IDA,您将开始学习。

祝好运并玩得开心点!

停止在书籍和视频上浪费时间。获取一些您想要反转的程序(例如您想要破解的游戏),获取用于静态/动态分析的工具(如果您在 Windows 上,作弊引擎非常适合启动)并开始修补它们......谷歌搜索所有内容你还不知道,一旦你找到它。一开始它会很慢而且很痛苦,但很快你就会通过看来理解汇编代码,它变成了第二天性。

有一种简单的方法可以查看逆向工程和安全性。不要被无聊的部分压得喘不过气来,只要把每个问题都当作一个谜题来看待。每一步都是一项成就,离理解为什么不怎么做更近一步。这就是为什么黑客可以像发烧一样成为福尔摩斯的成就感。要么你得到它,要么你没有。