invalid password是什么意思中文翻译(invalid password是什么意思啊)

逆向工程恶意软件网络安全学科中最高级别的技能之一,它的薪资反映了其在网络安全生态系统中的地位的提升。它需要多年的勤奋学习才能熟练掌握。恶意软件逆向工程在整个网络安全中被用作解开恶意软件运作秘密的方法,并提供归因的线索。

在第一部分时,我们简单学习和了解了Ghidra,这是由美国国家安全局(也称为 NSA)发布的开源逆向工程工具。在本教程中,我们将开始使用它来破解一些简单的软件,以帮助你熟悉这个出色的工具。

#1、打开Ghidra

第一步,当然是启动 Ghidra,启动一个项目并打开一个文件。

练习程序下载:https://github.com/Maijin/radare2-workshop-2015/tree/master/IOLI-crackme

invalid password是什么意思中文翻译(invalid password是什么意思啊)

#2、查找导出

下一步是转到Symbol Tree,如下所示并展开导出(请记住,导出的函数是暴露给其他模块供自己使用的模块。要使用其他模块导出的这些函数,模块必须先导入它们) .

invalid password是什么意思中文翻译(invalid password是什么意思啊)

你应该在那里找到一个标记为 _mainCRTStartup 的函数。

当你单击它时,它将在反编译窗口中打开其代码,如下所示。

invalid password是什么意思中文翻译(invalid password是什么意思啊)

双击mingw_CRTStartup()函数跟进

invalid password是什么意思中文翻译(invalid password是什么意思啊)

invalid password是什么意思中文翻译(invalid password是什么意思啊)

在第30行左右可以看到主函数。

#3、展开 _main 函数

双击跟进,展开_main 函数

invalid password是什么意思中文翻译(invalid password是什么意思啊)

invalid password是什么意思中文翻译(invalid password是什么意思啊)

这些就是程序执行时打印的语句

invalid password是什么意思中文翻译(invalid password是什么意思啊)

invalid password是什么意思中文翻译(invalid password是什么意思啊)

在printf语句下方,我们看到了 scanf 语句。这表示会从键盘接收用户的输入并将其放入名为local_lc的变量中。

invalid password是什么意思中文翻译(invalid password是什么意思啊)

在第 14 行,代码对第 13 行中捕获的字符串变量进行字符串比较 (_strcmp),并将其与数字进行比较。

invalid password是什么意思中文翻译(invalid password是什么意思啊)

这串数字可能是密码。如果两个字符串相同,字符串比较命令将返回 0,如果它们不同,则返回 1。

然后将比较结果的值被放入标记为iVar1的变量中,该变量在第 5 行 (int iVar1) 中被声明为整数变量。

在下一部分(第 15-22 行)中,代码检查 iVar1 中的值是等于 0 还是 1。如果等于 0,则打印Password OK:并验证用户。如果等于 1,则打印Invalid Password!,并退出程序。

invalid password是什么意思中文翻译(invalid password是什么意思啊)

运行尝试

invalid password是什么意思中文翻译(invalid password是什么意思啊)

#本节概括

Ghidra 能够破解这个简单的crackme,使我们能够发现代码中的密码。接下来我们将破解越来越难的软件,并利用 Ghidra 的功能来揭开它们的秘密!

#说明

本文由合天网安实验室编译,如需转载,请注明来源

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.yoka8.cn/2357.html