分析完节头之后,我最大的收获就是,这么多的01,并不是所有的都是用来执行我写的那段输出helloworld的程序的,而且代码段中有很大一段空闲空间,这就给我们一个向可执行文件中注入自己代码,然后通过修改程序逻辑达到让它去执行我们自己写的的部分的代码的逻辑的机会。
这里我们的源代码是这样的:
1 #include <stdio.h>
2 int main()
3 {
4 printf("hello world");
5 return
分析完节头之后,我最大的收获就是,这么多的01,并不是所有的都是用来执行我写的那段输出helloworld的程序的,而且代码段中有很大一段空闲空间,这就给我们一个向可执行文件中注入自己代码,然后通过修改程序逻辑达到让它去执行我们自己写的的部分的代码的逻辑的机会。
这里我们的源代码是这样的:
1 #include <stdio.h>
2 int main()
3 {
4 printf("hello world");
5 return