发布网友
共3个回答
热心网友
当然可以啊,只要你能不弄错先后,知道自己改的是什么,修改完后恢复栈顶指针,完全可以修改栈数据,这也是种hack技术,不过这对编程技术要求很高,很危险,一不小心就会导致程序崩溃,然后你都不知道错在哪里。
其实,你可以编写一个简单的函数,在main中调用它,编译后设置断点,然后调试运行,执行到断点处停止后,在调试菜单内选择反汇编观察这段代码,你会发现,编译器会在真正执行函数前都会安排一段指令修改栈数据的。
如下
void fun()
热心网友
不行 因为要遵循先进后出的原则
热心网友
我靠~~~~~~~这么专业的知识~~~~~~~~~~~~~~~~~~~~~