工具:HexWorkship v6.7
编译命令: javac -encoding UTF-8 First.java
运行命令: java -Dfile.encoding=UTF-8 First
- First。打印一条信息,
- 目标:修改字节码文件,修改信息
- 目标一:尝试使用 HexWorkshop 修改.class中的内容,只修改字符串的内容,如把world修改成word!,注意字符个数要相等,不要增加或减少
- 目标二:尝试使用 HexWorkshop 修改.class中的内容,只修改字符串的内容,如把world修改成其它字符,新字符个数要变多
- 找到helloworld对应的字符串,往前找到01000c,01表示是utf8字符串,0c是后面字符串的长度,改成0d,再添加一个字符就好
- 目标三:尝试使用 HexWorkshop 修改.class中的内容,只修改字符串的内容,如把world修改成其它字符,新字符个数要变少
- 找到helloworld对应的字符串,往前找到01000c,01表示是utf8字符串,0c是后面字符串的长度,改成0b,再删除一个字符就好
- C001_if
在线字符串和16进制互转: http://www.ku51.net/ox2str/
文件列表
#include <stdio.h>
#include <string.h>
int main(void)
{
char user[16] = {'a', 'b', 'c'};
char input[100];
printf("Enter a value: ");
gets(input);
printf("\nYou entered: ");
puts(input);
int ret = strcmp(user, input);
if (ret == 0)
{
printf("suuccess");
} else {
printf("fail");
}
return 0;
}/**
* First.java.
*
* @since 2022-10-10
*/
public class First {
// 尝试使用 HexWorkshop 修改.class中的内容,只修改字符串的内容,如把world修改成,,,,,注意字符个数要相等,不要增加或减少
public static void main(String[] args) {
System.out.println("hello, world");
}
}
public class C001_if {
// 尝试使用 HexWorkshop 修改.class中的内容
// 修改if判断,使其跳过校验
public static void main(String[] args) {
if (args.length < 1) {
System.err.out("need at least one argement.");
return;
}
String real = "ree";
String userInput = args[0];
if (real.equals(userInput)) {
System.out.println("success");
} else {
System.out.println("fail");
}
}
}
作者:张三 创建时间:2026-03-11 20:16
最后编辑:张三 更新时间:2026-03-11 20:24
最后编辑:张三 更新时间:2026-03-11 20:24