-3

私は次のコードを持っています:

#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を実行し、正しいシリアルではなく「AAA」のようなものを入力します</ li>
  3. 比較されている文字列を含む私の「AAA」を見つけ、最後に「TheCorrectSerialNumber」を見つけます。

提案されたツールが上記の手順をどのように実行しているかについて説明してください。

どうもありがとう!!!

注:誰かのコードを解読したいと思う傾向がある人のために!まず、この質問の直前と直後に私が尋ねた質問を見てください。私はプログラマーであり、コードのセキュリティについて心配する必要があります。したがって、私は自分のコードを解読し、他のコードでいくつかの演習を行うことにしました(解読を教えるサイトには、解読されるように設計されたソフトがたくさんあります)。安全なコードを提供する方法を理解します。人々がどのようにクラッキングを行うかを知っていれば、おそらく知らない人よりも安全なコードを作成するでしょう。そして、あなたがクラックする方法を研究するためにあなたが試みなければならないなら。それが私のポイントです!

4

6 に答える 6

3

使用しているプラ​​ットフォームに応じて、GDB(Gnuデバッガー)またはIDAProを使用できます。

于 2009-10-01T12:58:00.170 に答える
2

Windowsでのリバースエンジニアリングの経験はあまりありませんが、基本的なバイナリのリバースに関しては、 Lenaのチュートリアルから始めるのがおそらく最適です。アセンブリレベルでバイナリを分析し、パッチを適用する基本について説明します。私はそれが主にollydbgを利用していると信じています

于 2009-10-01T13:11:46.263 に答える
1

非倫理的なことをしているのか、そうでないのか。いずれにせよ、デバッガーと呼ばれるものが必要であり、プラットフォーム用にデバッガーがあります。

デバッガーは、実行中のコードにアタッチし、実行中の状態を調べることでプログラムのデバッグを支援するように設計されたツールです。基本的に、コードの状態(何がいつどこで実行されているかなど)とデータの状態を表示できます。結局のところ、プログラムカウンターとメモリがあり、生活を楽にするためにいくつかのレジスタが投入されています。

于 2009-10-01T12:55:37.050 に答える
1

分解するのはとても簡単です。HIEWおよびW32DASMツールまたはOllyDbg(たとえば)が必要です。YouTubeでこのツールを使用するいくつかの例を見てください(クラッキング)。

www.wasm.ru www.cracklab.ru

とても役立つサイト!!!!

于 2009-10-03T07:16:13.047 に答える
0

おい..これほど些細なことなら、メモ帳で開くだけで、「TheCorrectSerialNumber」..おそらく「HelloWorld!!!」のすぐ隣にあります。

于 2009-10-01T15:26:18.443 に答える
-2

灰色の帽子のパイソンhttp://nostarch.com/images/ghpython_cov.png

あなたが違法なことをしていないと仮定しましょう。特にPythonに精通している場合は、リバースエンジニアリングにグレーハットブックをお勧めします。

于 2009-10-01T13:17:38.133 に答える