作者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
1F:→ scott260202:#1IHEJD47 这篇好像有说不能? 09/29 19:53
2F:推 PsMonkey:嗯... 是的,只能给参加讲 XD 09/29 21:36
3F:推 PsMonkey:是说脑筋动到 rt.jar 这点很奸诈 [指] 09/29 21:36