多给点信息……
用的什么反汇编程序?
什么平台下的?Windows、Linux还是Mac
Console就是控制台的意思……但究竟是怎样的一个控制台……
我猜可能是Win平台下用OD反汇编的……
如果是的话,问题可能处在控制台本身的运行级别上
虽然我不太清楚你要调试的是怎样一个控制台
但很有可能控制台是运行在ring0层上的,
而OD作为一个ring3层的调试器是无法加载的……
如果不是我猜的这样,你最好还是多给点信息
我也好根据情况帮你想想
============================
这样啊~~
说实话我对控制台的概念并不很清楚~~
但如果OD无法加载的话
就直接用IDA吧~~
既然是自己写的,肯定也没有加密~~
静态反汇编就可以了~~没必要用OD这种动态调试器~~
另外,如果是作业的话
应该是要求交源码吧?
反汇编出来的汇编代码和正向写出来的代码可是有差别的~~
而且用高级语言写的代码明显带有高级语言编译器的自身风格
如果是精通逆向工程的人一眼就能看出来反汇编出来的代码是出自哪款编译器
即便你们老师不懂逆向,看不出编译器
也明显能看出这不是W32ASM的作品
毕竟高级语言编译成机器码后都是很罗唆的~~
不可能像直接编写汇编那样简洁明了。
1、编译器编译出来的代码很容易看出来
2、你都写了代码何必反汇编,一般的编译器都可以加上参数-s输出asm源文件。
3、习惯不一样,不是代码不同
invoke MessageBox,0,0,0,MB_ok
和
push MB_OK
push 0
push 0
push 0
call MessageBox
是一样一样的,只不过人写的时候更倾向于使用宏,反汇编的程序很多也能还原简单的宏。
反汇编出来的代码与汇编本身的代码是有差别的。
比如你在用汇编编程的时候,invoke MessageBox,0,0,0,MB_ok
而反汇编出来的代码却变成了
push MB_OK
push 0
push 0
push 0
call MessageBox(这里会变成一个地址)
这样的代码交上去你们老师一眼就可以看出来。
你去下载MasmPluse.exe是Aogo出的一个Win32汇编的IDE环境,然后新建一个控制台程序。在去Aogo下载教程,简单的看一下就能够知道Win32控制台程序是怎么编写的了,C++的控制台程序并不是直接调用API来实现的而是C++本身就把这段代码加入了程序中,只要你修改程序类型为控制台类型就是控制台程序,汇编里面不一样,汇编要直接调用Console控制台的函数来实现控制台窗口关闭和输入输出等。这是你在C++里面看不到的
VC++在调试的时侯不是可以看到汇编码的吗。直接用吧。。。