VIEW-OPEN SUBVIEW-SEGMENTS 加载段
可以看到程序段自动加载! 但是头部却没有加载!
Start End是开始和结束地址!
R可读 W可写 X(EXECUTION)可执行 D(DEBUGGER) L(LOADER)
D是以调试器模式加载程序并显示加载的段时被调用。
L显示加载器加载的内容和其他不太重要的列.
如果想要加载头,那就重新加载程序,然后选择overwirte,manual load(手动加载)
之后就可以看到,IDA加载了所有段
建立快照
VIEW-DATABASE SNAPSHOT MANAGER
db代表字节链,前面a代表ASCII
修改字节为数组
点击Buf,它会把我们带到堆栈静态视图,在那里我们有静态的位置、缓冲区、参数等变量,以及它们之间的距离
我们有Buf,但它被定义为字节db。要将其更改为字符数组或缓冲区,请右键单击单词Buf并选择数组选项。
自动检测为120字节。
我看到120字节的缓冲区与我的源代码匹配,尽管编译器可以把它做得更大,但它的最小值是120,由于该值尚未定义,因此它是一个静态空缓冲区。
var_4 是变量
s是存储的ebp——通常来自于函数的第一个指令PUSH ebp)
R 保存(return address)
这个程序的源代码如下