首页
社区
课程
招聘
[原创]分析数组越界问题
2022-3-6 21:34 5242

[原创]分析数组越界问题

2022-3-6 21:34
5242

旨在熟悉调试工具。本次调试,原本是为了熟悉WinDbg的使用,在学习和动手调试过程中,发现IDA在关键字查找方面的能力明显要优于WinDbg。于是也有了一些反思,在实操过程中,可以通过工具看分析思路,但不能用工具奴役了自己。

 

入正题,这是一个内存泄漏的问题,依然是无源码调试。

 

控制台输出表现
从程序的表现来看,有32个元素正常输出,有7个元素输出异常。

 

IDA分析关键字
通过关键字找到出现异常的代码出处。

 

IDA分析关键代码块
通过图文分析,基本可以很明显的找到并证明问题的发生过程,反编译代码基本可以是:

1
2
3
4
5
6
int arr[32];
arr[0] = 0x123;
memset(arr+1, 0, 31*sizeof(int));
for (int i=0; i<39; i++) {
    printf("arr item: %d\n", arr[i]);
}

再附上一份WinDbg动态调试,验证控制台过程:
IDA分析关键代码块


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞3
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回