-
-
[原创]分析数组越界问题
-
2022-3-6 21:34 5242
-
旨在熟悉调试工具。本次调试,原本是为了熟悉WinDbg的使用,在学习和动手调试过程中,发现IDA在关键字查找方面的能力明显要优于WinDbg。于是也有了一些反思,在实操过程中,可以通过工具看分析思路,但不能用工具奴役了自己。
入正题,这是一个内存泄漏的问题,依然是无源码调试。
从程序的表现来看,有32个元素正常输出,有7个元素输出异常。
通过关键字找到出现异常的代码出处。
通过图文分析,基本可以很明显的找到并证明问题的发生过程,反编译代码基本可以是:
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动态调试,验证控制台过程:
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。
赞赏
他的文章
[转帖]WinDbg使用笔记
2218
看原图