問題タブ [decompiler]
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.
java - Java: 逆コンパイル後の奇妙な結果
奇妙なjarファイルがあります.JD Decompilerを使用すると、次のようなセグメントが表示されるクラスが含まれています。
なぜ/コンパイラ/難読化ツールがそのようなクラスバイトコードを生成できるのか疑問に思っています。つまり、メソッドシグネチャです。難読化ツールがこれを実行できることを知っている人はいますか?
java - Java Decompiler / JD/JDを取得する方法-EclipseをEclipseHeliosで実行する
Java Decompiler(JD)は、一般的に、優れたJavaDecompilerとして推奨されています。JD-Eclipseは、JD用のEclipseプラグインです。
プラグインを実行するために、いくつかの異なるマシンで問題が発生しました。.classファイルを開こうとすると、標準の「ソースが見つかりません」エディタが表示され、逆コンパイラから期待されるJavaソース出力ではなく、低レベルのバイトコード逆アセンブリが表示されます。
http://java.decompiler.free.fr/?q=jdeclipseのインストールドキュメントは悪くはありませんが、トラブルシューティングに関してはかなりあいまいです。
追加情報を収集するためにこの質問を開く:JDがEclipse Heliosで実行される前に、どのような問題が発生しましたか?解決策は何でしたか?
c - Cまたはc++を使用したCHM(ヘルプ)ファイルの逆コンパイル
CHMファイルをHTML形式に逆コンパイルしたい。cまたはc++を使用することは可能ですか?これを行うためのcまたはc++ライブラリはありますか?
java - クラス/パッケージ名の衝突を回避して難読化された Java プログラムを逆コンパイルする方法
Java プログラムを逆コンパイルし、派生した (難読化された) ソースを再コンパイルしたいと考えています。.jar アーカイブを解凍すると、次のようなディレクトリ構造が得られました。
問題は、パッケージとクラスの間に名前の衝突があり、逆コンパイルされたクラス ファイルを再コンパイルできないことです。逆コンパイルされたクラスは次のようになります。
クラスファイルの名前を変更せずに、これらの命名の問題を解決する方法はありますか?
編集: これは逆コンパイラの問題ではありませんが、命名規則に違反するクラスを含む .jar ファイルを動作させる方法についての質問です。
EDIT2:わかりました、バイトコードレベルでそのような命名が可能だと思いますので、よりスマートな逆コンパイラ(クラスの名前を自動的に変更して参照を修正する)を使用すると、この問題を解決できます。
delphi - 古いプログラムの逆コンパイル
Delphi で 1987 年に書かれたプログラムを更新するように依頼されました (おそらく)。このプログラムに関するドキュメントはありませんが、プログラマーが取った、あまり意味のない補足的なメモがいくつかあります。
CD には次のファイルが表示されます。
このファイルの誰かがデータベースですか? もしそうなら、そのデータにアクセスできますか?
いくつかのコード逆コンパイラを試しましたが、Win32 互換アプリケーションではないというメッセージが表示されます。プログラムは MS-DOS で実行されます。
ソースコードを入手することは可能ですか? このコードを何らかの方法で使用して、新しいアプリケーションを構築できますか?
Update01: MS-DOS でプログラムを実行できます。プログラムは動詞を活用し、動詞を使用できる例文を示します。GUI は少しわかりにくく、ヘルプ メニューがないため、プログラムのすべての機能を確認できません。
Update02: プログラムの所有者との会話で、別の解決策を見つけました。彼は私に、プログラムをサーバーに置き、クライアントがユーザーとパスワードでログインして端末でプログラムを実行できるかどうか尋ねました。大学のサーバーにアカウントがあり、ssh 全体でアクセスして、その中で c プログラムをコンパイルおよび実行できます。サーバーはLinuxにあるため、プログラムを試すことができませんでした。Windows サーバーをセットアップした場合、ターミナルで複数のユーザーがプログラムにアクセスして実行することはできますか? プログラムはexeです。これにより、セキュリティ上の問題が発生しませんか?
java - jar 内のいくつかのクラスのソースを添付する
私たちのプロジェクトでは、一種のリバース エンジニアリングを行っています。そのためには、サードパーティの jar をデバッグする必要があります。
そのjarをDJ、JADで逆コンパイルしようとしましたが、出力はコンパイル時エラーのあるソースコードです(メソッドプロトタイプでは戻り値の型がブール値であるとしますが、int、壊れたforループなどを返します...)。
さて、この破損したソース コードには、デバッグしたい .java ファイルがいくつかあります。そして、これらのいくつかのファイルのソースコードを、jar 内の対応するクラスに添付したいと思います。
私はこれをグーグルで検索しましたが、有用なものは見つかりませんでした。????
flash - 無料のフラッシュ逆コンパイラの提案はありますか?
ビデオ プレーヤー ラッパーを編集していて、フラッシュの色を変更する必要がありますが、FLV ファイルがありません。無料のフラッシュ逆コンパイラの提案はありますか? アクション スクリプト以外の編集にも必要です。ありがとう。
language-agnostic - どの言語でも機能する「究極の」逆コンパイラに似たソフトウェアはありますか?
プログラムがどの言語で書かれているかはわかりませんが、そのソース コードを逆コンパイルして、どの言語で書かれたかを調べることができる逆コンパイラを見つけたいと思っています。
pascal、c、bas、vb、qb、またはこの方法で作成された場合、読み取り可能な.srcとしてデコード/保存します
exe2bin や exe2src などの DOS プログラムがいくつかありますが、パスカルで作成されたと思います。Win32 アプリケーションにできるように、これらのプログラムを逆コンパイルする必要があります。
gcc - gcc は、どの変数からコンパイルされたレジスターに通知しますか
obj ファイル内のバイナリ命令のレジスタがどの変数からコンパイルされているかを知る必要があります。
要するに、各命令のレジスタから変数へのマッピング
例: objdump が obj ファイルのスニペットを次のように与えるとします。
R1 が変数、たとえばvar1をソース コードから格納していることをどのように知ることができるでしょうか? R2 はvar2を格納しますか?
残念ながらreadelfのドキュメントを検索しましたが、無駄でした。
(ソースとバイナリの間の行マッピングを提供することはできますが、それ以上は役に立ちません)
次に、gcc とリンカのデバッグ オプションをいくつか探しました。いくつかの有用な情報が見つかりましたが、それでも私の問題は解決しません。
私が見つけた情報は次のとおりです。
- オプション-fdump-rtl-vartrackはすべての変数を追跡でき、便利なようです。しかし、このオプションを使用してコンパイルすると、予想される *.vartrack ダンプ ファイルが見つかりませんでした。
- オプション*fdump-rtl-vartrack-uidは、各変数の一意の ID (DECL_UID) を示します。しかし、使用中に次のエラーを受け取りました: cc1: エラー: 認識されないコマンド ライン オプション "-fdump-tree-uid"
- オプションfdump-rtl-lregはローカル レジスタの割り当てをダンプしますが、reg から変数へのマッピングをどのように教えてくれるのかわかりません。
誰かが経験やアイデアを持っていますか?
皆さん、ありがとうございました!
ハッキング...
android - コンパイラと逆コンパイルについて
誰かがapk逆コンパイルできないようにしたい. 私たちは何かをする必要があります。インターネットで閲覧しましたが、まだ操作手順が明確にわかりません。
その方法を誰が教えてくれますか?
誰の助けも大歓迎です!! ありがとう!!