最简单的代码黑客攻击

时间:2009-10-01 12:49:00

标签: c# c++ decompiling disassembly

我有以下代码:

#include <iostream>
#include <string>

void main()
{

    std::string str;
    std::cin>>str;

    if(str == "TheCorrectSerialNumber")
        std::cout<<"Hello world!!!"<<std::endl;
}

我需要一个反编译或反汇编工具,它可以帮助我通过下面列出的步骤找到“TheCorrectSerialNumber”。所以步骤是:

  1. 反编译或反汇编我的代码的可执行文件
  2. 运行exe并输入Correct Serial而不是“AAA”
  3. 找到我的“AAA”,比较什么字符串,最后找出“TheCorrectSerialNumber”。
  4. 请向我提供指示您建议的工具如何执行上述步骤。

    非常感谢!!!

    注意:对于那些倾向于认为我想破解某人代码的人!首先看看我之前和之后问过的问题。我是程序员,我需要关注我的代码安全性。因此,我决定破解我的代码,并在其他代码上进行一些练习(在教授破解的网站上有一堆软件被设计为破解)以了解如何提供安全代码。如果你知道人们如何破解你可能会创建更安全的代码,而不是那些不知道的人。如果你学习如何破解你必须尝试。这是我的观点!

6 个答案:

答案 0 :(得分:3)

根据您所使用的平台,您可以使用GDB(Gnu调试器)或IDA Pro。

答案 1 :(得分:2)

我在Windows上进行逆向工程方面没有太多经验,但Lena's tutorials可能是关于逆转基本二进制文件的最佳起点。它将指导您完成在装配级别分析二进制文件并修补它们的基础知识。我认为它主要使用ollydbg

答案 2 :(得分:1)

你要么做一些不道德的事情,要么就是你不做事。无论哪种方式,您都需要一个称为调试器的东西,并且您的平台将有一个。

调试器是一种工具,旨在通过附加到正在运行的代码来帮助调试程序,并让您在运行时检查它的状态。基本上,您可以查看代码的状态(运行的位置等),并说明数据是否存在。毕竟它只是一个程序计数器和一些内存,只需要几个寄存器就可以让生活变得简单。

答案 3 :(得分:1)

拆卸非常容易。 您需要HIEW和W32DASM工具或OllyDbg(例如)。 只需看看在youtube中使用此工具的一些示例(破解)。

www.wasm.ru www.cracklab.ru

非常有用的网站!!!!

答案 4 :(得分:0)

老兄..对于像这样微不足道的东西,只需在记事本中打开它,你就会找到你的“TheCorrectSerialNumber”......可能就在“Hello World !!!”旁边。

答案 5 :(得分:-2)

gray hat python http://nostarch.com/images/ghpython_cov.png

让我们假设你没有做违法的事情。 我可以推荐灰帽子书进行逆向工程,特别是如果你已经熟练使用python。

相关问题