問題タブ [reverse-engineering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4405 参照

debugging - 逆アセンブリで関数を見つける

私は、作成者が DUMPBIN を使用してエクスポートを一覧表示し、OllyDbg を使用してエクスポートされた関数のアセンブリ コードを取得するチュートリアルに従うのに忙しいです。エクスポート テーブル RVA が逆アセンブリの実際のアドレスに対応していない場合、完全な逆アセンブリで関数コードを見つけるにはどうすればよいでしょうか。

0 投票する
7 に答える
29768 参照

c++ - リバースエンジニアリングC++DLL

もともとVS2005で書かれた小さなユーティリティがあります。

小さな変更を加える必要がありますが、いずれかのdllのソースコードがどこかで失われています。

dllをC++コードにリバースエンジニアリングするための無料または手頃な価格のツールはありますか?

0 投票する
12 に答える
2592 参照

.net - リフレクションはリバースエンジニアリングですか?

リフレクションを通じてアプリケーションの内部について多くのことを知ることができます。これは .NET BCL (基本クラス ライブラリ) によって公開され、任意の .NET メソッドの実際の IL を簡単に取得できます。

ウィキペディアのリバース エンジニアリング:

リバース エンジニアリングとは、デバイス、オブジェクト、またはシステムの構造、機能、動作の分析を通じて、その技術原理を発見するプロセスです。

リフレクションは、構造の分析として確かに満足できるでしょう。しかし、内省と実際のリバース エンジニアリングの境界線はどこにあるのでしょうか? 法的な観点からすると、リフレクションはリバース エンジニアリングですか?

0 投票する
0 に答える
5968 参照

.net - .NETアプリケーションの保護

複製:

リバースエンジニアリングからの.NETコードの保護

最近、小さなアプリケーションをリリースしましたが、今週末Piratebay、登録チェックが削除されたひびの入ったバージョンが見つかったため、アプリは登録済みバージョンであるかのように実行されました。

コード難読化ツール(回避するのはそれほど難しいことではないようです)を使用する以外に、.NETアプリケーションの解読をより困難にするために行うべき標準的なことはありますか?

0 投票する
6 に答える
32318 参照

c# - コンパイルされた.NETアセンブリを比較しますか?

.NETアセンブリをコンパイルするために比較するのに良いプログラムはありますか?

たとえば、HelloWorld.dll(1.0.0.0)とHelloWorld.dll(2.0.0.0)があり、違いを比較したいのですが、どうすればよいですか?

.NET Reflectorを使用して、AssemblyDiffプラグインを使用できることはわかっています。これを行うための他の良いツールはありますか?

0 投票する
3 に答える
2886 参照

apache-flex - flex/actionscript用のリバースエンジニアリングまたはドキュメントツール

残念ながら文書化されていないフレックスプロジェクトを継承しました。ドキュメント生成ツール/クラス図ジェネレーターまたはactionscriptで動作するようなものを探しています。約1000のクラスファイルがあり、デバッグですべてのコードをステップスルーする時間がありません。

Doxygen(言語をjavaに設定)やNaturalDocsのようないくつかのツールを試しましたが、うまくいきませんでした。

0 投票する
1 に答える
1009 参照

http - リバース エンジニアリング Windows モバイル ライブ検索 CellID 位置認識プロトコル (むむむ)

質問の仕方がよくわからなかったので、タイトルが間違っていたらすみません。さらに、コーヒーを飲みたいと思うかもしれません。

基本的に、セル ID に基づいて位置を取得するために Windows Mobile Live Search アプリケーションで使用されるプロトコルをリバース エンジニアリングしようとしています。先に進む前に、他のオープン ソース サービス (OpenCellID など) を認識していますが、これは教育のためであり、冗長性のためです。

キャプチャしたパケットによると、POST リクエストが行われます。

... いくつかの特定のヘッダー (agent、content-length など) があり、本文はありません。これが完了すると、サーバーは 100-Continue 応答を返します。この時点で、アプリケーションは次のデータを送信します (私はパケット ヘッダーを切り落としました)。

そして、応答でこれを受け取ります (パケットと HTTP 応答ヘッダーが切り刻まれます):

さて、これが私がこれまでに決定したことです:

  • すべての文字列には、その長さに相当する 10 進数の 1 バイトが先頭に追加されます。

  • リクエストとレスポンス全体で使用される 3 つの異なるキャストがあるようです。これらは、長さバイトの前の 1 バイトとして表示されます。私は、3 つのタイプが次のようにマップされていると結論付けました。

    1. 0x06 - 親要素 (後続の値は子であり、0x00 で閉じられます)
    2. 0x07 - 文字列
    3. 0x08 - 整数?

これらの決定に基づいて、リクエストとレスポンスを読みやすくすると次のようになります (括弧で囲まれた値は長さを表し、括弧で囲まれた値はキャストを表します)。

と..

私の分析は、いくつかのことを除いてかなりうまくいっているようです。

  1. 全体の 0x01 は私を混乱させます... 最初は、ある種の基本レベル要素ターミネータだと思っていましたが、確かではありません。
  2. 7 バイトのヘッダーが実際には 7 バイトのヘッダーかどうかはわかりません。おそらく 4 バイトで、残りの 3 つの 0x00 には別の意味があるのではないかと思います。
  3. 末尾の 0x00。リクエストには 1 つしかないのに、レスポンスには 2 つあるのはなぜですか?
  4. 上記のタイプ 8 キャスト...これらの値がどのようにエンコードされているのかわかりません。これらの行に、値が何に対応するかについてコメントを追加しました。

この4点についてアドバイスをいただければ幸いです。

はい、これらのパケットはマサチューセッツ州ウォータータウンでキャプチャされました。:)

0 投票する
5 に答える
26685 参照

mysql - MySQLとPostgreSQLDBをリバースエンジニアリングするためのアプリケーション?

mysqlおよび/またはpostgreの既存のデータベースをリバースエンジニアリングするアプリケーションはありますか?

MSSQL Serverで実行できるのと同様に、既存のダイアグラムからDBダイアグラムを取得することに興味があります。