作者zanyking (最後的六年級生)
看板java
標題[投稿123] 直接把rt.jar換掉
時間Sun Sep 29 19:35:09 2013
如標題,先寫一個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
→ scott260202:#1IHEJD47 這篇好像有說不能? 09/29 19:53
推 PsMonkey:嗯... 是的,只能給參加講 XD 09/29 21:36
推 PsMonkey:是說腦筋動到 rt.jar 這點很奸詐 [指] 09/29 21:36