[投稿123] 直接把rt.jar換掉

看板java作者 (最後的六年級生)時間11年前 (2013/09/29 19:35), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/2 (看更多)
如標題,先寫一個java.lang.String,copy自原來的String但是把valueOf給換掉: public static String valueOf(char data[]) { if (data.length == 3) { boolean match = true; for (int i = 0; i < data.length; i++) { if (((int) data[i]) != (i + 1)) { match = false; break; } } if (match) return "123"; } return new String(data); } 接下來,把rt.jar拆包unzip到一個你喜歡的地方,把String生成的class換掉。 再來,準備一個資料夾,把JRE的東西都複製一包過去,但rt.jar用新的。 最後,請用HotSpot VM,用cmd啟動java時加入這個參數: java -Xbootclasspath:my_bootclasspath test.Output123 簡單的說,把String.valueOf的實做給換掉就好了,偵測到char[]{1,2,3} 就改吐"123"。 -- 生命起源於簡單的化學反應,靈魂是腦神經上頭的火花。 掌紋沒有含意,不過是具有止滑功用的紋路。 而神不存在,死去的人們只是等待細菌分解的腐肉而已。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.164.59

09/29 19:53, , 1F
#1IHEJD47 這篇好像有說不能?
09/29 19:53, 1F

09/29 21:36, , 2F
嗯... 是的,只能給參加講 XD
09/29 21:36, 2F

09/29 21:36, , 3F
是說腦筋動到 rt.jar 這點很奸詐 [指]
09/29 21:36, 3F
文章代碼(AID): #1II11mKx (java)
文章代碼(AID): #1II11mKx (java)