
いつもお世話になっております。
Eclipseをはじめてまだ6日目ほどです・・・
クラスファイルを逆コンパイルしようとおもい、JadとJadClipseを導入しました。
早速設定も終えて、いざ逆コンパイルをすると、
「クラス・ファイル・エディター」
「ソースが見つかりませんでした。」
「クラス・ファイルtest01.classに添付されるソースファイルがありません」
と表示があります。これはなにか間違えた設定を行っているからなのでしょうか?どうぞ宜しくお願いします。
使用しているのは「Eclipse3.2.0」「Jad1.5.8g」「JadClipse3.2.4」
になります。
No.2ベストアンサー
- 回答日時:
>「クラス・ファイルtest01.classに添付されるソースファイルがありません」
test01.classの素性が解らないので、残念ながら直接答えようがありません。
その前に、そもそも、JREシステムライブラリのクラスファイルのデコンパイルは
できているのでしょうか?
例えば、java.awtパッケージ内のActiveEvent.classをダブルクリックしてみてください。
JDKのソースコードをインストールしていれば、以下(1)のように表示されるかと思います。
------ (1) java.awt.ActiveEvent.classのソースコード -----------------------------
/*
* @(#)ActiveEvent.java1.14 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.awt;
/**
* An interface for events that know how to dispatch themselves.
* By implementing this interface an event can be placed upon the event
* queue and its <code>dispatch()</code> method will be called when the event
* is dispatched, using the <code>EventDispatchThread</code>.
* <p>
* This is a very useful mechanism for avoiding deadlocks. If
* a thread is executing in a critical section (i.e., it has entered
* one or more monitors), calling other synchronized code may
* cause deadlocks. To avoid the potential deadlocks, an
* <code>ActiveEvent</code> can be created to run the second section of
* code at later time. If there is contention on the monitor,
* the second thread will simply block until the first thread
* has finished its work and exited its monitors.
* <p>
* For security reasons, it is often desirable to use an <code>ActiveEvent</code>
* to avoid calling untrusted code from a critical thread. For
* instance, peer implementations can use this facility to avoid
* making calls into user code from a system thread. Doing so avoids
* potential deadlocks and denial-of-service attacks.
*
* @author Timothy Prinzing
* @version 1.14 11/17/05
* @since 1.2
*/
public interface ActiveEvent {
/**
* Dispatch the event to its target, listeners of the events source,
* or do whatever it is this event is supposed to do.
*/
public void dispatch();
}
------ (1) ここまで ----------------------------------------------------------
そこで、JadClipseの設定で、Ignore existing source チェックボックスをONにすると
(または、ソースコードをインストールしていない場合は、何もせずとも)
これをデコンパイルして、以下(2)のように表示されるでしょう。
------ (2) java.awt.ActiveEvent.classのデコンパイル結果 ------------------------
/*jadclipse*/// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) radix(10) lradix(10)
// Source File Name: ActiveEvent.java
package java.awt;
public interface ActiveEvent
{
public abstract void dispatch();
}
/*
DECOMPILATION REPORT
Decompiled from: C:\Program Files\Java\jdk1.6.0_10\jre\lib\rt.jar
Total time: 20 ms
Jad reported messages/errors:
Exit status: 0
Caught exceptions:
*/
------ (2) ここまで ----------------------------------------------------------
とりあえずは、これはてきているのでしょうか?
ここまでできていれば、後は、test01.classの個別の問題です。
ですから、そのtest01.classファイルがないと、回答しようがありません。
(test01.classファイル名が小文字で始まっていますし、名前も意味不明なので
その時点で、かなり怪しいのですが...)
この回答への補足
申し訳御座いません。色々調べてみたのですが、パッケージエクスプローラにJREシステムライブラリを表示させる方法がわかりません。。。(/_;)
test01というのは、サンプルプログラムをネットででDLしました。
その中にある、jerファイルのクラスファイルをEclipseでデコンパしたつもりでした。
iアプリを勉強しようと思っていたので、色々探していたらでてきました。
本当初心者で、プログラムをはじめようとは無謀にも程がある。と思われると思いますが、少しずつでも出来るようになればと考えています。どうか、お知恵をお借しくださいm(__)m
私も出来るだけ状況など詳しく説明したいと思います。
No.3
- 回答日時:
>色々調べてみたのですが、
そもそもEclipseの使い方を全く理解されていないとお見受けしました。
調べるといったような次元の問題ではありません。
>本当初心者で、プログラムをはじめようとは無謀にも程がある。
>と思われると思いますが、少しずつでも出来るようになればと考えています。
まずは、書店に行ってEclipseと名の付いた書籍を2~3冊程度買って来ましょう。
そして、それを一通り読み終えた段階で、話は始まります。
どんなに才能があっても、Eclipseの専門書を入手せずに、その使い方を包括的に
理解している人間は、この世の中に一人もいないと断言します。
>どうか、お知恵をお借しくださいm(__)m
多少のお金をケチって、ネットで事を済ませられれば金銭的に得した気分になれるかもしれませんが、
現実は、多大な人生(時間)を無駄使いすることになるでしょう。
>test01というのは、サンプルプログラムをネットででDLしました。
こんな名前のサンプルプラグラムは、全く利用(応用)価値が無い事をその名前が示しています。
仮に何かの目的を持ったテストプログラムならば、かならずその目的を名前に表すからです。
こんな意味不明な名前の付いたプログラムは絶対に実行すべきではないでしょう。
デコンパイルしてみる価値も全くないといえます。
おっしゃるとおりです。
ですが、人生の無駄って・・・(^^ゞw
テストサンプルは、実際にアプリとして動くもので、よくある「HelloWorld」を表示させましょう!見たいなプログラムですw
ソースファイルも実際はあるのですが、jarファイルを逆コンパイルしたく、
ただ、それを利用して、プラグインが機能するかをチェックするためにDLしたものです。
そのプログラムの内容がどうとか、こうとかではないんですよね(^^ゞ
ありがとう御座いました!
近くに大きい本屋がないので、東京行ったときにでも自分にあった本でも探して見ます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- iOS iPhone用動画保存アプリiCapのデータは外付けUSBメモリに保存できますか? 1 2022/10/18 17:48
- その他(プログラミング・Web制作) 置換ソフトで指定したファイルの1行目に入力できるものを探しています 7 2022/11/24 10:34
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) エクセルについて教えてください。 1 2023/02/23 10:08
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
ファイルのパスの取得について
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
SVFの設定について:クラスパス...
-
「main メソッドを持つクラスが...
-
earファイルを展開する方法
-
プログラム実行の際に、「ソー...
-
java クラスファイルとソースコ...
-
Eclipse「リフレッシュ」と「ク...
-
【Eclipse】パッケージ・エクス...
-
ディレクトリを操作したいと思...
-
ソース添付に Thread.class の...
-
EclipseでのJSP・Servlet開発に...
-
JARのパスの通し方
-
”書きこみできません”とエラー...
-
eclipse でclassesフォルダーが...
-
VisualStudioでC++クラスを追加...
-
「削除するか、クラスパスの正...
-
jarファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
eclipse でclassesフォルダーが...
-
earファイルを展開する方法
-
EclipseでHTTP404エラーが出る。
-
java クラスファイルとソースコ...
-
jdbcドライバのjarファイルにク...
-
【Eclipse】パッケージ・エクス...
-
「メイン・マニフェスト属性が...
-
「削除するか、クラスパスの正...
-
「main メソッドを持つクラスが...
-
ResourceBundleクラスの使い方
-
『ClassNotFoundException: org...
-
プログラム実行の際に、「ソー...
-
VisualStudioでC++クラスを追加...
-
EclipseでのJSP・Servlet開発に...
-
サーバから落としてきたWebアプ...
おすすめ情報