web-dev-qa-db-ja.com

これらの16進コードとは何ですか、およびそれらはどのように復号化/エンコードできますか?

Linuxマシンにrootユーザーを作成するクトプロットについてもう少し見つけた場合は、いくつかの興味があります。ただし、コードを実行する前に、私がそのすべてを理解していることを確認したいと思います、そして私は使用されている16進コードに関する情報を見つけることはできません。

これはエクスプロイトコードソースへのリンクです. exploitdb.com/exploits/17439

これは基本的なCプログラムですが、ポインタの1つの値は次のようなコードを使用します。

           "\x6a\x26\x5a\x25\x04\xe3\xb3\x64"
           "\x04\xc7\x03\x65\x48\xe6\x02\xc3"
 _

これをASCII]にデコードする方法は、次のとおりです。

私はここで完全に拠点から囲まれていることができると思っていて、本当にこのコードは組み立てに復号する必要がありますが、私は本当にわかりません。どちらの方法でも、任意のコマンドを実行していないことを確認するには、このコードで何ができますか?

私は完全にcにとって新しいですが、危険であることが十分なvb.net/ctid/phpを知っています。

P.S.心配しているあなたの人のために、私はこれをVMで実行します。

2
skub

Python's Rept このようなもののためのピンチで良いです。

>>> "\x6a\x26\x5a\x25\x04\xe3\xb3\x64"
'j&Z%\x04\xe3\xb3d'
>>> "\x04\xc7\x03\x65\x48\xe6\x02\xc3"
'\x04\xc7\x03eH\xe6\x02\xc3'
 _

だから、ほとんどすべてのアセンブリ。読むためには、分解者(またはCPUデータワークと多くの忍耐力)が必要です。

指している 非常にデータベースエントリは、元のアセンブリ言語プログラムとそのC言語の同等物の両方を与えます すぐ上 16進エンコードされたRAWマシンコード。それは Superh アセンブリ言語です。

5
JdeBP

ASCIIへのデコードはテキスト文字列ではないので無用になります。\x0...バイトは、印刷可能な文字ではなくASCII文字セットのコントロール文字にマッピングされます。

0
Dave Sherohman