問題タブ [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.
c# - Visual C++ を C# でラップする
C++ を使用してプロセス インジェクションを行う必要がありますが、低レベルのもの以外はすべて C# を使用したいと考えています。「関数のラッピング」と「マーシャリング」について聞いたことがあります。かなりの量の Google 検索を行って、あちこちで少しの情報を見つけましたが、まだ本当に不足しています。
役に立つ順に読んだこと。
http://msdn.microsoft.com/en-us/library/ms235281(VS.80).aspx
http://www.drdobbs.com/cpp/184401742
http://geeklit.blogspot.com/2006/08 /calling-c-lib-from-c.html
すべての下位レベルのもの (ネイティブ C++) を C# でラップして、より使い慣れた言語である C# でこれらの関数を簡単にコマンドできるようにするにはどうすればよいでしょうか?
このトピックに関する情報は大歓迎です。
mysql - 特定のテーブルをマッピングするときに MyEclipse の Hibernate リバース エンジニアリングが複数のクラスを作成するのはなぜですか?
MYSQL データベースに主キーを持たないテーブルがありますが、2 つの列に一意のキーがあります。MyEclipse の Hibernate リバース エンジニア ツールを使用してそのテーブルのマッピングを作成すると、2 つのクラスが生成されます。有用なメソッドのほとんどは Id クラスにまとめられているようです。そのため、インスタンス化して保存してデータを保持するメソッドのようです。テーブル/マップされたオブジェクトの一意の行を表すために Id クラスが作成されていることは理解できますが、これを 2 つのクラスに分割することの用途は何ですか。 -接尾辞クラス?
私の同僚は、1 つのクラスだけで同じことを達成できると主張し、主キーを持たないこれらのテーブルにリバース エンジニアリングを使用することを嘲笑します。一方、MyEclipse の開発者は私よりもはるかに頭が良く、このようにするのには十分な理由があると思います。ある?
delphi - Delphi を逆コンパイルするプログラムはありますか?
誰かが私にプログラムの C への逆コンパイルを送ってくれました。これは非常に優れた逆コンパイルであり、たいてい次のように見える (変数や関数のいずれにも人間が読める名前がないという事実を見逃すと) 読みやすい C コードが生成されました。実際にコンパイルされます。
ただ、ひとつ大きな問題がありました。彼が逆コンパイルしていたプログラムは Delphi で書かれていて、C に翻訳するのが難しい概念がたくさんあることをたまたま知っていました。Delphiでそれを行うことができるものはありますか?
私が見た Delphi 用の最適な逆コンパイル ツールは DeDe です。多くのことができますが、出力として Object Pascal コードを生成しようとさえせず、Delphi 6 以降更新されていません。
binary - バイナリのみの製品でソースコードを検索する
私がGPLの下でリリースしたプロジェクトがあり、ソースは誰でも利用できるとしましょう。後で私は非常によく似た製品を見つけましたが、クローズドソースとして、他の誰かによってのみバイナリで配布されました。
彼らが彼らの製品で私のソースコードを使用していることを知る良い方法はありますか?
解決策がバイナリを何らかの方法でリバースエンジニアリングすることである場合、それを何らかの方法で自動化することは可能ですか?
編集:明確化。バグハントは1つのオプションですが、特にプロジェクトがライブラリであり、バイナリが独自のGUIを追加している場合は特に、決定的なものではありません。私が興味を持っている状況は、コードが解除されたことを露骨に明らかにしていないときです。
reverse-engineering - リバース エンジニアリングから保護するためにコード バーチャライザーまたは vmprotect を使用したことがありますか?
私たちのコードを完全に保護する方法がないことはわかっています。また、ユーザーが私たちのアプリをクラックしたい場合、そのユーザーは私たちのアプリを購入するユーザーではないこともわかっています。また、クラッキング防止技術を恐れるよりも、アプリを改善する方が良いことも知っています。また、私たちのアプリを保護できる商用ツールがないことも知っています....それも知っています....
Ok。十分。私はすべてを聞いた。少し保護を追加しても害はないと思います。
では.... oreans や vmprotect のコード バーチャライザーを使用したことがありますか? 一部のウイルス対策ソフトでウイルスとして検出される場合があると聞きました。
購入する前に知っておくべき経験。いくつかの仮想マシンを作成し、コードを少し難読化して、登録ルーチンの弱点を見つけにくくしていることはわかっています。
知っておくべき警告はありますか?
ありがとう。アドバイスをいただければ幸いです。
ジャグ
orm - VB6 用 ORM/MDA/UML ツール
私は Rational Rose のことを知っており、Rational Rose 6 を持っています。
しかし、Windows 98/2000 (WinXP にインストールして実行した場合) で実行されないことに文句を言わず、Rational Rose 6 よりも優れた機能を備えた、より使いやすい他のツールを探しています。
mp3 - Amazon MP3ストアのaznファイル形式をリバースエンジニアリングするために真剣な取り組みが行われていますか?
英国でAmazonMP3ストアがオープンしたので、どこにいてもmp3を購入して、手間をかけずに聴くことができるように、自分の携帯電話用のダウンローダーアプリケーションを作成したいと思っています。ただし、最初に、ダウンローダーアプリに提供するamazon.aznファイル形式をリバースエンジニアリングする必要があります。外層は明らかであり、単純にBase64でエンコードされています。ただし、の次のレイヤーはもう少し神秘的です。私が知る限り、それは収縮しておらず、他の明白な圧縮アルゴリズムもありません。
ダウンローダーアプリ自体を使って理解できるかどうかを確認するためにいくつかのトリックを試してみますが、インターネットのあいまいな場所で他の誰かが行った作業を再現しているのではないでしょうか。以前にこれに取り組んだ仕事を知っている人はいますか?
html - Web サイトが構築されているテクノロジーをどのように判断しますか?
見栄えの良い、または機能的な Web サイトに出くわすことがよくありますが、それを作成するためにどのようなテクノロジが使用されているのか疑問に思います。特定の Web サイトが何を使用して構築されたかを把握するために、どのような手法を使用できますか?
Web エディターのように、あらゆる種類のジェネレーター メタ タグを含むフレームワークはほとんどありません。特定の言語やフレームワークの兆候はありますか?
回答のまとめ
サイトの URL は、フレームワークやプログラミング言語を裏切る可能性がありますが、信頼することはできません (例: .asp などのファイル拡張子)。HTTP 応答ヘッダー、Cookie、スタイルシート、およびソース コメントも手がかりになる場合があります。
サイトの詳細を照会するためのいくつかの便利なツール (他にもたくさんあることは間違いありません):
Firefox アドオン:
- Wappalyzer - CMS、フレームワーク/ライブラリ、e コマース、メッセージ ボードなど。
- ドメインの詳細- IP、国、および Web サーバーの詳細
- Library Detector - 使用中の Javascript ライブラリ
Chrome 拡張機能:
ブックマークレット:
- WTFramework - 使用中の Javascript フレームワークを表示します
mysql - まともな無料のDBスキーマリバースエンジニアリングツールを知っている人はいますか?
ライブデータベースからMySQLDBスキーマのグラフィック表現を自動的に作成し、テーブル、列、および関係(ER図)を表示するツールを探しています。理想的にはOSXで実行できるものがあればいいのですが、必要に応じて、入手できるものを別のマシンで実行します。
Googleとdel.icio.usをチェックしました。これを行うほとんどの製品は商用であるようです。開発には費用がかかると思いますか?
MySQLにはWorkbenchがありますが、リバースエンジニアリング機能には追加料金がかかります。
このオープンソースツールSchemaSpyは有望に見えますが、インストールして使用するのは少し厄介かもしれません。その前に、もっと「すぐに満足」できることを誰かが知っているかどうかを確認したいと思いました。
memory - 既存のプログラムでメモリ オフセットを見つけて使用していますか?
ほとんどのゲーム ボット アプリケーションは、特定のバージョンのゲーム クライアントに対して見つけた一連のメモリ オフセットを使用して、ボットを容易にします。ヘルス、x/y 位置などのメモリ オフセットがある場合があります。ゲームがアップデートをリリースするたびに、ボット プログラムが使用するさまざまな情報のオフセットも再検索して更新する必要があります。
ペット プロジェクトとしてソリティア ボットを作成することに興味があります。ここを見ると、mmoglider (商用ボット) は、ボット プログラム (通常はボット WoW に使用されます) のデモとしてこれを既に達成しています: MMOGlider が Vista Solitaire をボットする YouTube ビデオ。
さまざまな有用なメモリ オフセットを正確に特定する一般的な方法は何ですか? ソリティア プログラムで「デッキ」を指すメモリ オフセットを特定し、それを使用してスタックにあるカードを特定するにはどうすればよいですか? グライダーの担当者との経験から、彼らがデッキ自体のオフセットを見つけることができると、デッキ全体のすべてのカード値がそこにあると言ったことを知っています.
では、リバース エンジニアリングや、既存のプログラムからメモリ オフセットを引き出した経験のある人はいますか? そして、これらのオフセットを取得したら、メモリ内のその「デッキ」構造から値を取得して読み取る方法を教えてください。