問題タブ [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.
debugging - 逆アセンブリで関数を見つける
私は、作成者が DUMPBIN を使用してエクスポートを一覧表示し、OllyDbg を使用してエクスポートされた関数のアセンブリ コードを取得するチュートリアルに従うのに忙しいです。エクスポート テーブル RVA が逆アセンブリの実際のアドレスに対応していない場合、完全な逆アセンブリで関数コードを見つけるにはどうすればよいでしょうか。
c++ - リバースエンジニアリングC++DLL
もともとVS2005で書かれた小さなユーティリティがあります。
小さな変更を加える必要がありますが、いずれかのdllのソースコードがどこかで失われています。
dllをC++コードにリバースエンジニアリングするための無料または手頃な価格のツールはありますか?
.net - リフレクションはリバースエンジニアリングですか?
リフレクションを通じてアプリケーションの内部について多くのことを知ることができます。これは .NET BCL (基本クラス ライブラリ) によって公開され、任意の .NET メソッドの実際の IL を簡単に取得できます。
ウィキペディアのリバース エンジニアリング:
リバース エンジニアリングとは、デバイス、オブジェクト、またはシステムの構造、機能、動作の分析を通じて、その技術原理を発見するプロセスです。
リフレクションは、構造の分析として確かに満足できるでしょう。しかし、内省と実際のリバース エンジニアリングの境界線はどこにあるのでしょうか? 法的な観点からすると、リフレクションはリバース エンジニアリングですか?
.net - .NETアプリケーションの保護
複製:
最近、小さなアプリケーションをリリースしましたが、今週末Piratebay
、登録チェックが削除されたひびの入ったバージョンが見つかったため、アプリは登録済みバージョンであるかのように実行されました。
コード難読化ツール(回避するのはそれほど難しいことではないようです)を使用する以外に、.NETアプリケーションの解読をより困難にするために行うべき標準的なことはありますか?
c# - コンパイルされた.NETアセンブリを比較しますか?
.NETアセンブリをコンパイルするために比較するのに良いプログラムはありますか?
たとえば、HelloWorld.dll(1.0.0.0)とHelloWorld.dll(2.0.0.0)があり、違いを比較したいのですが、どうすればよいですか?
.NET Reflectorを使用して、AssemblyDiffプラグインを使用できることはわかっています。これを行うための他の良いツールはありますか?
apache-flex - flex/actionscript用のリバースエンジニアリングまたはドキュメントツール
残念ながら文書化されていないフレックスプロジェクトを継承しました。ドキュメント生成ツール/クラス図ジェネレーターまたはactionscriptで動作するようなものを探しています。約1000のクラスファイルがあり、デバッグですべてのコードをステップスルーする時間がありません。
Doxygen(言語をjavaに設定)やNaturalDocsのようないくつかのツールを試しましたが、うまくいきませんでした。
http - リバース エンジニアリング Windows モバイル ライブ検索 CellID 位置認識プロトコル (むむむ)
質問の仕方がよくわからなかったので、タイトルが間違っていたらすみません。さらに、コーヒーを飲みたいと思うかもしれません。
基本的に、セル ID に基づいて位置を取得するために Windows Mobile Live Search アプリケーションで使用されるプロトコルをリバース エンジニアリングしようとしています。先に進む前に、他のオープン ソース サービス (OpenCellID など) を認識していますが、これは教育のためであり、冗長性のためです。
キャプチャしたパケットによると、POST リクエストが行われます。
... いくつかの特定のヘッダー (agent、content-length など) があり、本文はありません。これが完了すると、サーバーは 100-Continue 応答を返します。この時点で、アプリケーションは次のデータを送信します (私はパケット ヘッダーを切り落としました)。
そして、応答でこれを受け取ります (パケットと HTTP 応答ヘッダーが切り刻まれます):
さて、これが私がこれまでに決定したことです:
すべての文字列には、その長さに相当する 10 進数の 1 バイトが先頭に追加されます。
リクエストとレスポンス全体で使用される 3 つの異なるキャストがあるようです。これらは、長さバイトの前の 1 バイトとして表示されます。私は、3 つのタイプが次のようにマップされていると結論付けました。
- 0x06 - 親要素 (後続の値は子であり、0x00 で閉じられます)
- 0x07 - 文字列
- 0x08 - 整数?
これらの決定に基づいて、リクエストとレスポンスを読みやすくすると次のようになります (括弧で囲まれた値は長さを表し、括弧で囲まれた値はキャストを表します)。
と..
私の分析は、いくつかのことを除いてかなりうまくいっているようです。
- 全体の 0x01 は私を混乱させます... 最初は、ある種の基本レベル要素ターミネータだと思っていましたが、確かではありません。
- 7 バイトのヘッダーが実際には 7 バイトのヘッダーかどうかはわかりません。おそらく 4 バイトで、残りの 3 つの 0x00 には別の意味があるのではないかと思います。
- 末尾の 0x00。リクエストには 1 つしかないのに、レスポンスには 2 つあるのはなぜですか?
- 上記のタイプ 8 キャスト...これらの値がどのようにエンコードされているのかわかりません。これらの行に、値が何に対応するかについてコメントを追加しました。
この4点についてアドバイスをいただければ幸いです。
はい、これらのパケットはマサチューセッツ州ウォータータウンでキャプチャされました。:)
mysql - MySQLとPostgreSQLDBをリバースエンジニアリングするためのアプリケーション?
mysqlおよび/またはpostgreの既存のデータベースをリバースエンジニアリングするアプリケーションはありますか?
MSSQL Serverで実行できるのと同様に、既存のダイアグラムからDBダイアグラムを取得することに興味があります。