能力值:
( LV6,RANK:80 )
|
-
-
2 楼
楼主写的不错,支持一个
|
能力值:
( LV13,RANK:388 )
|
-
-
3 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
不错吗?值得学习。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
学习学习...........
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
多谢指点,呵呵,我去看看,大家一起学习讨论哈
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
原来a[10]=0; 时VC不报错的 呵呵
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
[QUOTE=ghban;785908]原来a[10]=0; 时VC不报错的 呵呵[/QUOTE]
呵呵,在C和C++中,数组名相当于指针,可以直接访问内存,在数组越界时,是不报错的,这一点在C#和Java中的是不会出现的,因为他们依赖于虚拟机,编译时出现数组越界会直接报错,不会出现上面的情况。
|
能力值:
( LV5,RANK:60 )
|
-
-
9 楼
过来膜拜failwest大大的
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
都这么长时间了,版主怎么还不来翻贴发邀请码呀 十几天了都
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
非常棒,学习了。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
有点茅舍顿开的感觉,谢谢啦
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
非常感谢楼主的讲解,只是小弟有一个小问题还不是很了解,希望给小弟讲解一下
在反汇编中有这么一段,下面一段在程序中起了什么作用啊?我怎么感觉没什么作用一样?
0040101C |. B9 1B00>mov ecx,1B
00401021 |. B8 CCCC>mov eax,CCCCCCCC
00401026 |. F3:AB rep stos dword ptr es:[edi]
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
这段代码是对在栈中分配的局部变量空间进行初始化
mov ecx,1B 将1Bh赋值给计数器ECX,表示重复操作1Bh次
mov eax,CCCCCCCC 将CCCCCCCCh 填充变量空间
rep stos dword ptr es:[edi] 控制循环上面的操作,使用ECX做计数器
非常感谢你的提问,希望能解决你的问题
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
哦、我想我知道为 堆栈是向下增长的了...
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
楼主辛苦了啊,不过这样发的代码看的好累啊,前面从jmp到rep stos都是编译器生成的标准代码,这里要是能说明一下就好了啊
如果能集中关注一下最关键的代码,再精炼一下就更好了,毕竟是写给像我这样的初学者看的嘛,感谢楼主分享。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
不错嘛,学习中
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这个说穿了就是数组越界覆盖了另一个变量,这样得邀请码太简单了吧
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
学习学习。。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
终于明白什么叫溢出了
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
还不错....
|
能力值:
( LV3,RANK:20 )
|
-
-
22 楼
要是可以再深入下就更好了。。
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
呵呵 我是小菜菜,学习了!!
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
没完全懂,收下慢慢学习了!
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
学习学习...........
|
|
|