0%

调试HELLO,WORLD-小端序标记法

逆向分析代码,一般先静态分析收集代码相关信息,通过收集到的信息推测程序的结构与行为机,然后动态。动静结合。

调试hello,world

我们需要编写一个可执行文件:hello.exe
如图,当在编译器中写好程序后(VS2010)
在这里插入图片描述按照如图操作,relsease模式将.cpp文件生成.exe,然后点“生成”->”生成hello”即可,然后我们将这个程序拖进OD(注意不要将程序窗口关掉,最小化即可,否则会造成程序进程结束无法单步调试)
在这里插入图片描述在这里插入图片描述
调试器停止的地方为程序执行的起始地址即EP(Entry Point入口点)

小端序标记法

字节序:多字节数据在计算机内存中存储或网络传输时各字节的存储顺序。

分类:
大端序:内存地址低位存储数据的高位,内存地址高位存储数据的低位。
小端序:内存地址低位存储数据的低位,内存地址高位存储数据的高位。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
数据为单一字节时,字节存储顺序不受影响,多字节数据会导致存储顺序不同,字符串被保存在一个字符数组中,字符数组在内存中是连续的,此时向字符数组存放数据,无论大端序还是小端序,存储顺序都相同。

应用:
大端序:UNIX服务器的RISC系列CPU、网络协议
小端序:X86CPU(Windows逆向分析必须掌握)