回答編集履歴

3

追記

2018/07/10 11:29

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -60,6 +60,6 @@
60
60
 
61
61
  まず暗号化後の`jar`ファイルの中にエントリとして`jar.dat`があります。
62
62
 
63
- `jar.dat`の`Extra`領域に`Key`,`IV`,`encall`フラグ,`メインクラス名`が記述されています。
63
+ `jar.dat`の`Extra`領域に`Key`,`IV`,`encall`(暗号化リソース)フラグ,`メインクラス名`が記述されています。
64
64
 
65
65
  `jar`ファイルを解凍して`jar.dat`を取り出しあとは質問文のコードを参考に`jar`化してください。

2

追記

2018/07/10 11:29

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -47,3 +47,19 @@
47
47
  [初期化ベクトル](https://ja.wikipedia.org/wiki/%E5%88%9D%E6%9C%9F%E5%8C%96%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB)
48
48
 
49
49
  [javax.crypto.Cipher](https://docs.oracle.com/javase/jp/9/docs/api/javax/crypto/Cipher.html)
50
+
51
+
52
+
53
+ ---
54
+
55
+ まず質問文のプログラムは復号を行うプログラムです。
56
+
57
+ 暗号化部分は[このソース](https://github.com/redpois0n/jcrypt/blob/master/builder/src/com/redpois0n/Build.java#L33)リンク先のソースコードを一行の意味が分かるまで読んでください。
58
+
59
+
60
+
61
+ まず暗号化後の`jar`ファイルの中にエントリとして`jar.dat`があります。
62
+
63
+ `jar.dat`の`Extra`領域に`Key`,`IV`,`encall`フラグ,`メインクラス名`が記述されています。
64
+
65
+ `jar`ファイルを解凍して`jar.dat`を取り出しあとは質問文のコードを参考に`jar`化してください。

1

追記

2018/07/10 11:28

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -33,3 +33,17 @@
33
33
  3,Javaの逆コンパイラは[luyten](https://github.com/deathmarine/Luyten)を使うのがいいでしょう。
34
34
 
35
35
  これも[releases](https://github.com/deathmarine/Luyten/releases)からluyten-0.5.3.exeを`Download`して実行します。使い方はググってください。
36
+
37
+
38
+
39
+ ◇ものすごく重要な点
40
+
41
+ [IV(初期化ベクトル)の生成](https://github.com/redpois0n/jcrypt/blob/master/builder/src/com/redpois0n/Build.java#L67)に[SecureRandom](https://docs.oracle.com/javase/jp/9/docs/api/java/security/SecureRandom.html)を使っていないので、その点は気をつけてください。
42
+
43
+
44
+
45
+ ◇参考情報
46
+
47
+ [初期化ベクトル](https://ja.wikipedia.org/wiki/%E5%88%9D%E6%9C%9F%E5%8C%96%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB)
48
+
49
+ [javax.crypto.Cipher](https://docs.oracle.com/javase/jp/9/docs/api/javax/crypto/Cipher.html)