win32汇编 屏幕截图保存BMP 学习笔记<第三篇>之odbg调试

本文详细记录了使用Win32汇编进行屏幕截图并保存为BMP文件的过程,重点讨论了通过OllyDbg进行调试的经验,包括如何处理像素字节数、内存分配大小以及避免调色板等问题。在调试过程中,作者发现并解决了CreateDIBSection函数中Data参数的定位问题,并观察到位图内存填充的变化。调试技巧和实战经验对初学者极具参考价值。
摘要由CSDN通过智能技术生成

我们来回顾下raiky code
根据帖子里的讨论错误的疑点在于
1. 对每个像素所占字节的估算可能有误
wBitCount;位图中每个像素所占字节数 简单的赋值4
2. 涉及到后面的调色板的处理 我本人不喜欢调色板
3. 位图内存分配大小的错误
接下来对每一行试着运行一番看看效果吧
你问我有没有玩过debug?
买过书没看算么? 书到用时方恨少
哦 想起来了以前玩VBA 调试过代码 这和exe程序完全不能比啊
赶鸭子上架 用obdg v110.. 110 ..110…

开始之前我们先准备下全局变量的改造
因为帖子里的变量本来都是局部在给函数内部使用
被我把代码拉到了start内
因为我调试的时候不希望step into(F7)
我目前只会用F8(Step over) 这样能有效避免被跳晕
请看下面 变量声明被我改成这样了

    .data
hBmp dd 0

;
.data? ;这些本来是local型的局部变量 我将它们挪到了全局变量里来 连struct BITMAPINFO也放来了 
hDc
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值