classファイルをjavaファイルへ戻すことってできるんでしょうか?
もしできるのなら、やり方をお教えください。

A 回答 (2件)

Javaの逆コンパイラを使えば、ある程度復元することは


できます。

参考URL:http://www.javacats.com/JP/articles/decompiler2. …
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速、ご紹介のHPを見てみました。
まだ、詳しく見てないのですが役に立ちそうです。

お礼日時:2001/04/19 22:08

基本的に無理です。



まず、ソースに書かれたコメントは、コンパイルされたファイル (.class)には
反映されません。

また、コンパイルされるときに、最適化という処置を行います。
多少(処理的に)無駄なコードを書いても、コンパイラが頑張って
実行速度が速い、または、ファイルサイズが小さい結果を吐き出そう
と頑張ります。

つまり、元の情報に、コンパイラが手を加えるわけですから、
元のソースの状態に戻すことができなくなります。
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
最適化されれば、元どおりにはなりませんね。
それでも解読できる程度のソースが
見れればと思っていました。

お礼日時:2001/04/19 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qclassファイルを元に戻す

javaを勉強しているものなんですが、
一度コンパイルをしてできたclassファイルから
もとのソースファイルを取り出す(元に戻す)ことは
できるのでしょうか?

なんとなく気になったもので。誰かお願いします!!!!

Aベストアンサー

完全には無理ですが、
javapコマンド
でできます。
コマンドについての詳細はJavaのドキュメントを参照して下さい。
javap -help
でヘルプも出ます。

他にもきっと逆コンパイルするツールなどあると思います。

あとは自分で作ったものなら構いませんが、
フリーのツールのクラスでも、逆コンパイルすることはライセンス違反になることもあるようなので、そこら辺は充分気をつけて下さい。

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

QOracleで流したSQLのログを取得できますか?

ASP+Oracle9iで作られたシステムがあります。
Oracleの設定などは前任者がしており、まともな引継ぎを受けないまま私が維持運用員となりました。
現在DBからあるレコードが消えてしまい(最初から作られてない可能性もあり)、顧客からクレームがついています。
状況から考えて怪しいプログラムを調査したのですが、原因不明でした。
そこで、Oracleの方で今まで流れたSQLをログとして保存していれば手がかりがつかめるのではないかと思い、情報を探しているのですが見つからないので教えて頂きたいのです。
私はOracleの知識(管理面について)が殆どなく、Oracleを使うことはできるが、Oracleの設定がどういう状況になっているか調べることもできず、資料もありません。

1.そもそもOracleにSQLをログとして保存する機能があるのか?
2.あるとすれば、保存機能が有効になっているか、保存したファイルがどこにあるかをどこで確認できるか?

以上の点についてご存知の方、どうぞ回答よろしくお願いします。

Aベストアンサー

OracleのSQL実行痕跡は以下に示すものの中にあります。
ただし、それぞれの設定レベル、保存方法によって、参照できる範囲は変わります。

1.オンラインREDOログとアーカイブログ
  オンラインREDOログはすべてのOracleデータベースに存在します。
  ですが、そのREDOログのサイズとシステムのアクセス量によって保存期間は変化します。アーカイブログ設定しておけば、古いREDOログはアーカイブとして吐き出されます。
  これらは#1の方がおっしゃったLOGMINERで実行済みSQLを調査することができます。
  アーカイブログモードになっているかどうかは、下記で確認できます。
   SQL> select log_mode from v$database;

  また、どのアーカイブログファイルを調査するかは下記を参照すれば良いと思います。
   SQL> select name,to_char(completion_time, 'yyyy/mm/dd hh24:mi') adate from v$archived_log;

2.フラッシュバック問い合わせ
  これは初期化パラメータUNDO_MANAGEMENTがAUTOに設定されており、かつUNDO_RETENTIONが保存期間として適切に設定されている場合のみ使用できます。
  やっていることは、UNDO表領域(旧RBS用表領域)の中に残っている実行履歴を参照しています。したがって、データベース設計時にフラッシュバック問い合わせを前提としていない限り、使える可能性は低いです。

3.その他
  監査を実行していれば、実行SQLを取得できる可能性があります。
  ただし、監査レベルなどを理解しておかないと、すべてのSQLが取得されていない可能性がありますので、難しいかもしれません。

OracleのSQL実行痕跡は以下に示すものの中にあります。
ただし、それぞれの設定レベル、保存方法によって、参照できる範囲は変わります。

1.オンラインREDOログとアーカイブログ
  オンラインREDOログはすべてのOracleデータベースに存在します。
  ですが、そのREDOログのサイズとシステムのアクセス量によって保存期間は変化します。アーカイブログ設定しておけば、古いREDOログはアーカイブとして吐き出されます。
  これらは#1の方がおっしゃったLOGMINERで実行済みSQLを調査することができま...続きを読む

QClassファイル → Javaソースプログラム

どーも、こんにちは。プログラミング初心者です。

現在Javaを使ってプログラムをしています。
JavaはJavaソースをコンパイルするとClassファイルが生成されるじゃないですか?
では逆に、ClassファイルからもとのJavaソースプログラムに変換する(?)、取り戻すことはできないのでしょうか???

もしかして無理なのかもしれませんが、これが出来ないとどうしていいか分かりません。
どうしても、ソースプログラムが見たいClassファイルがあるのです。
そんな状態なので困っています。
どなたか少しでもご存知の方は、ご一報ヨロシクお願いします!!

Aベストアンサー

プログラムからソースコードを生成するのを「デコンパイル」といいます。そのためのプログラムを「デコンパイラ」といいます。
 現在は、Jadの他にJodeなどのデコンパイラが出ていますし、Jadの応用ソフトもいろいろあるようです。デコンパイラで検索してみるといろいろと見つかりますよ。

参考URL:http://allabout.co.jp/career/java/closeup/CU20051206B/index.htm

Qスクロールさせないと収まらない画像をキャプチャーするには?

スクロールさせないと収まらない画像をキャプチャーするには?

スクロールさせないと収まらない縦に長い画像があります。
分割せずに一括でキャプチャーするにはどうすれば良いでしょうか。

例えば、添付画像で画面先頭からスクロールーから下の方までキャプチャーしたいです。

Aベストアンサー

Firefoxをお使いなら「Pearl Crescent Page Saver Basic」が便利です。

https://addons.mozilla.jp/firefox/details/10367

今見てるページのスクリーンショットを下の方に隠れてる部分も含めて画像ファイルとして保存できます。

Qテーブルに主キーを作らないデメリットは?

アクセスのテーブルを作るにおいて
主キーのフィールドを作らなかった場合、
どのようなデメリットや不都合がありますか?

既にいくつか主キーのないテーブルを作ってしまいました。
このまま運用しようか主キーを作るべきか悩んでいます。

SQLサーバーに移行する場合などにエラーになるのでしょうか?

Aベストアンサー

主キーがないとレコードを特定できません
この場合 ShowMeHow様の仰るようにユニークなフィールドを
設定しますと特段問題なさそうです。

自分はレコード抽出用のテンポラリーテーブルとして
積極的に主キーなしのテーブルも使用しています。


人気Q&Aランキング

おすすめ情報