WEB开发网
开发学院网络安全黑客技术 OllyDBG 入门系列(四)-内存断点 阅读

OllyDBG 入门系列(四)-内存断点

 2010-09-30 16:54:11 来源:WEB开发网   
核心提示: 把上面代码后的OllyDBG自动添加的注释与MSDN中的函数原型比较一下:BOOLGetVolumeInformation(LPCTSTRlpRootPathName,//addressofrootdirectoryofthefilesystemLPTSTRlpVolumeNameBuffer,

把上面代码后的 OllyDBG 自动添加的注释与 MSDN 中的函数原型比较一下:

BOOL GetVolumeInformation(
LPCTSTR lpRootPathName,             // address of root directory of the file system
LPTSTR lpVolumeNameBuffer,          // address of name of the volume
DWORD nVolumeNameSize,              // length of lpVolumeNameBuffer
LPDWORD lpVolumeSerialNumber,       // address of volume serial number
LPDWORD lpMaximumComponentLength,   // address of system's maximum filename length
LPDWORD lpFileSystemFlags,          // address of file system flags
LPTSTR lpFileSystemNameBuffer,      // address of name of file system
DWORD nFileSystemNameSize           // length of lpFileSystemNameBuffer
);

大家应该看出来点什么了吧?函数调用是先把最后一个参数压栈,参数压栈顺序是从后往前。这就是一般比较常见的 stdcall 调用约定。

2、我在前面的 00401414 地址处的那条 MOV BYTE PTR DS:[4033EC],AL 指令后加的注释是“磁盘类型参数送内存地址4033EC”。为什么这样写?大家把前一句和这一句合起来看一下:

0040140F |. E8 B4000000        CALL <JMP.&KERNEL32.GetDriveTypeA>          ; \GetDriveTypeA
00401414 |. A2 EC334000        MOV BYTE PTR DS:[4033EC],AL                 ; 磁盘类型参数送内存地址4033EC

编缉推荐阅读以下文章

  • OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
  • OllyDBG 入门系列(三)-函数参考
  • OllyDBG 入门系列(二)-字串参考
  • OllyDBG 入门系列(一)-认识OllyDBG

上一页  5 6 7 8 9 10 

Tags:OllyDBG 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接