source insight coredump分析

系统:windows xp sp3

崩溃的exe:insight3_en.exe

版本:3.50.0064

崩溃时的信息:

(4c64.4af4): Access violation - code c0000005 (!!! second chance !!!)

eax=00000000 ebx=7ffd9000 ecx=00000000 edx=00000274 esi=0006d708 edi=0006ceb0

eip=004fdae2 esp=0006ce4c ebp=0006ce54 iopl=0         nv up ei pl nz ac po cy

cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000213

*** ERROR: Module load completed but symbols could not be loaded for D:\Program Files\SourceInsight\Insight3_en.exe

Insight3_en+0xfdae2:

004fdae2 8b00            mov     eax,dword ptr [eax]  ds:0023:00000000=????????

堆栈:

0:000> kb

ChildEBP RetAddr  Args to Child

WARNING: Stack unwind information not available. Following frames may be wrong.

0006ce54 00500754 0006ce80 0006d6e8 00000001 Insight3_en+0xfdae2

0006cf28 00481841 0006eb48 0006cf78 0000000a Insight3_en+0x100754

0006f000 00481608 01a707e8 0006f020 00000001 Insight3_en+0x81841

0006fc20 0048149a 01a707e8 06809d58 00000001 Insight3_en+0x81608

0006fc38 00481456 01a707e8 00000001 01f86f50 Insight3_en+0x8149a

0006fc4c 004813c8 01a707e8 00000001 01f86f50 Insight3_en+0x81456

0006fc60 004812d5 01a707e8 00000001 01a707e8 Insight3_en+0x813c8

0006fc74 004421f4 00000001 00030000 00000001 Insight3_en+0x812d5

0006fee0 00440b1a 000000a0 000000a0 7c937d08 Insight3_en+0x421f4

0006ff34 00521ecb 00400000 00000000 00091f11 Insight3_en+0x40b1a

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\system32\kernel32.dll -

0006ffc0 7c81776f 7c80e0e8 00000000 7ffd9000 Insight3_en+0x121ecb

0006fff0 00000000 00521dfd 00000000 78746341 kernel32!RegisterWaitForInputIdle+0x49

分析过程:

用IDA打开Insight3_en,看一下004fdae2附近的汇编:

.text:004FDAB5                 rep movsd

.text:004FDAB7                 mov     eax, [ebp+arg_0]

.text:004FDABA                 mov     dword ptr [eax+4], offset sub_4FDB2A

.text:004FDAC1                 mov     eax, [ebp+arg_0]

.text:004FDAC4                 mov     ecx, dword_5BD034

.text:004FDACA                 mov     [eax+58h], ecx

.text:004FDACD                 cmp     dword_5BD034, 0FFFFFFFFh

.text:004FDAD4                 jz      short loc_4FDB24

.text:004FDAD6                 mov     eax, dword_5BD034

.text:004FDADB                 mov     eax, dword_5C6B80[eax*4]

.text:004FDAE2                 mov     eax, [eax]

由上面可知,dword_5BD034和dword_5C6B80是全局变量,且dword_5C6B80是一个数组,且是指针数组,dword_5BD034存放着这个数组的index.

看一下这两个全局变量的内容:

0:000> dd 5C6B80 L 1
005c6b80  00000000
0:000> dd 5BD034 L 8
005bd034  00000000 00000035 00000001 00000400
005bd044  58584654 58585858 00000000 58584c43

可见,index为0,且这个数组的第一个元素为空指针。那么空指针是从哪里来的?

在IDA双击dword_5C6B80

.data:005C6B80 dword_5C6B80    dd ?                    ; DATA XREF: sub_441940+EAr

.data:005C6B80                                         ; sub_441940+262r ...

按下面操作

打开引用这个全局变量的代码位置列表,在这个列表,找出改变这个全局变量的地方(幸好只有一处)

并跳转过去。

看一下这附近的汇编:

.text:004E8B3C loc_4E8B3C:                             ; CODE XREF: sub_4E8AD3+50j

.text:004E8B3C                 push    3D8h            ; Size

.text:004E8B41                 call    sub_420BBC

.text:004E8B46                 mov     [ebp+var_C], eax

.text:004E8B49                 cmp     [ebp+var_C], 0

.text:004E8B4D                 jnz     short loc_4E8B54

.text:004E8B4F                 or      eax, 0FFFFFFFFh

.text:004E8B52                 jmp     short loc_4E8B95

.text:004E8B54 ; ---------------------------------------------------------------------------

.text:004E8B54

.text:004E8B54 loc_4E8B54:                             ; CODE XREF: sub_4E8AD3+7Aj

.text:004E8B54                 mov     eax, [ebp+var_4]

.text:004E8B57                 mov     ecx, [ebp+var_C]

.text:004E8B5A                 mov     dword_5C6B80[eax*4], ecx

看一下红色那一块,显然,dword_5C6B80里面的元素在读取时不可能为空指针,除非这两种情况发生:

1.004E8B5A 比崩溃地址004FDAE2晚执行。因为,如果004E8B5A晚执行,那么dword_5C6B80的值会保持默认值,即所有元素的值为空。

2.dword_5C6B80前面的地址被其它代码修改时,越界了,把dword_5C6B80的内容给覆盖了。

究竟是哪一种原因导致的呢?

看一下dword_5C6B80的上一个全局变量是哪个地址:

.data:005C6900 unk_5C6900      db    ? ;               ; DATA XREF: sub_485375+6A3o
.data:005C6901                 db    ? ;
.data:005C6902                 db    ? ;
.data:005C6903                 db    ? ;
.data:005C6904                 db    ? ;
.data:005C6905                 db    ? ;
.data:005C6906                 db    ? ;
.data:005C6907                 db    ? ;
.data:005C6908                 db    ? ;
.data:005C6909                 db    ? ;
.data:005C690A                 db    ? ;
.data:005C690B                 db    ? ;
.data:005C690C                 db    ? ;
.data:005C690D                 db    ? ;
.data:005C690E                 db    ? ;
.data:005C690F                 db    ? ;
.data:005C6910                 db    ? ;
.data:005C6911                 db    ? ;
.data:005C6912                 db    ? ;
.data:005C6913                 db    ? ;
.data:005C6914                 db    ? ;
.data:005C6915                 db    ? ;
.data:005C6916                 db    ? ;
.data:005C6917                 db    ? ;
.data:005C6918                 db    ? ;
.data:005C6919                 db    ? ;
.data:005C691A                 db    ? ;
.data:005C691B                 db    ? ;
.data:005C691C                 db    ? ;
.data:005C691D                 db    ? ;
.data:005C691E                 db    ? ;
.data:005C691F                 db    ? ;
.data:005C6920                 db    ? ;
.data:005C6921                 db    ? ;
.data:005C6922                 db    ? ;
.data:005C6923                 db    ? ;
.data:005C6924                 db    ? ;
.data:005C6925                 db    ? ;
.data:005C6926                 db    ? ;
.data:005C6927                 db    ? ;
.data:005C6928                 db    ? ;
.data:005C6929                 db    ? ;
.data:005C692A                 db    ? ;
.data:005C692B                 db    ? ;
.data:005C692C                 db    ? ;
.data:005C692D                 db    ? ;
.data:005C692E                 db    ? ;
.data:005C692F                 db    ? ;
.data:005C6930                 db    ? ;
.data:005C6931                 db    ? ;
.data:005C6932                 db    ? ;
.data:005C6933                 db    ? ;
.data:005C6934                 db    ? ;
.data:005C6935                 db    ? ;
.data:005C6936                 db    ? ;
.data:005C6937                 db    ? ;
.data:005C6938                 db    ? ;
.data:005C6939                 db    ? ;
.data:005C693A                 db    ? ;
.data:005C693B                 db    ? ;
.data:005C693C                 db    ? ;
.data:005C693D                 db    ? ;
.data:005C693E                 db    ? ;
.data:005C693F                 db    ? ;
.data:005C6940                 db    ? ;
.data:005C6941                 db    ? ;
.data:005C6942                 db    ? ;
.data:005C6943                 db    ? ;
.data:005C6944                 db    ? ;
.data:005C6945                 db    ? ;
.data:005C6946                 db    ? ;
.data:005C6947                 db    ? ;
.data:005C6948                 db    ? ;
.data:005C6949                 db    ? ;
.data:005C694A                 db    ? ;
.data:005C694B                 db    ? ;
.data:005C694C                 db    ? ;
.data:005C694D                 db    ? ;
.data:005C694E                 db    ? ;
.data:005C694F                 db    ? ;
.data:005C6950                 db    ? ;
.data:005C6951                 db    ? ;
.data:005C6952                 db    ? ;
.data:005C6953                 db    ? ;
.data:005C6954                 db    ? ;
.data:005C6955                 db    ? ;
.data:005C6956                 db    ? ;
.data:005C6957                 db    ? ;
.data:005C6958                 db    ? ;
.data:005C6959                 db    ? ;
.data:005C695A                 db    ? ;
.data:005C695B                 db    ? ;
.data:005C695C                 db    ? ;
.data:005C695D                 db    ? ;
.data:005C695E                 db    ? ;
.data:005C695F                 db    ? ;
.data:005C6960                 db    ? ;
.data:005C6961                 db    ? ;
.data:005C6962                 db    ? ;
.data:005C6963                 db    ? ;
.data:005C6964                 db    ? ;
.data:005C6965                 db    ? ;
.data:005C6966                 db    ? ;
.data:005C6967                 db    ? ;
.data:005C6968                 db    ? ;
.data:005C6969                 db    ? ;
.data:005C696A                 db    ? ;
.data:005C696B                 db    ? ;
.data:005C696C                 db    ? ;
.data:005C696D                 db    ? ;
.data:005C696E                 db    ? ;
.data:005C696F                 db    ? ;
.data:005C6970                 db    ? ;
.data:005C6971                 db    ? ;
.data:005C6972                 db    ? ;
.data:005C6973                 db    ? ;
.data:005C6974                 db    ? ;
.data:005C6975                 db    ? ;
.data:005C6976                 db    ? ;
.data:005C6977                 db    ? ;
.data:005C6978                 db    ? ;
.data:005C6979                 db    ? ;
.data:005C697A                 db    ? ;
.data:005C697B                 db    ? ;
.data:005C697C                 db    ? ;
.data:005C697D                 db    ? ;
.data:005C697E                 db    ? ;
.data:005C697F                 db    ? ;
.data:005C6980                 db    ? ;
.data:005C6981                 db    ? ;
.data:005C6982                 db    ? ;
.data:005C6983                 db    ? ;
.data:005C6984                 db    ? ;
.data:005C6985                 db    ? ;
.data:005C6986                 db    ? ;
.data:005C6987                 db    ? ;
.data:005C6988                 db    ? ;
.data:005C6989                 db    ? ;
.data:005C698A                 db    ? ;
.data:005C698B                 db    ? ;
.data:005C698C                 db    ? ;
.data:005C698D                 db    ? ;
.data:005C698E                 db    ? ;
.data:005C698F                 db    ? ;
.data:005C6990                 db    ? ;
.data:005C6991                 db    ? ;
.data:005C6992                 db    ? ;
.data:005C6993                 db    ? ;
.data:005C6994                 db    ? ;
.data:005C6995                 db    ? ;
.data:005C6996                 db    ? ;
.data:005C6997                 db    ? ;
.data:005C6998                 db    ? ;
.data:005C6999                 db    ? ;
.data:005C699A                 db    ? ;
.data:005C699B                 db    ? ;
.data:005C699C                 db    ? ;
.data:005C699D                 db    ? ;
.data:005C699E                 db    ? ;
.data:005C699F                 db    ? ;
.data:005C69A0                 db    ? ;
.data:005C69A1                 db    ? ;
.data:005C69A2                 db    ? ;
.data:005C69A3                 db    ? ;
.data:005C69A4                 db    ? ;
.data:005C69A5                 db    ? ;
.data:005C69A6                 db    ? ;
.data:005C69A7                 db    ? ;
.data:005C69A8                 db    ? ;
.data:005C69A9                 db    ? ;
.data:005C69AA                 db    ? ;
.data:005C69AB                 db    ? ;
.data:005C69AC                 db    ? ;
.data:005C69AD                 db    ? ;
.data:005C69AE                 db    ? ;
.data:005C69AF                 db    ? ;
.data:005C69B0                 db    ? ;
.data:005C69B1                 db    ? ;
.data:005C69B2                 db    ? ;
.data:005C69B3                 db    ? ;
.data:005C69B4                 db    ? ;
.data:005C69B5                 db    ? ;
.data:005C69B6                 db    ? ;
.data:005C69B7                 db    ? ;
.data:005C69B8                 db    ? ;
.data:005C69B9                 db    ? ;
.data:005C69BA                 db    ? ;
.data:005C69BB                 db    ? ;
.data:005C69BC                 db    ? ;
.data:005C69BD                 db    ? ;
.data:005C69BE                 db    ? ;
.data:005C69BF                 db    ? ;
.data:005C69C0                 db    ? ;
.data:005C69C1                 db    ? ;
.data:005C69C2                 db    ? ;
.data:005C69C3                 db    ? ;
.data:005C69C4                 db    ? ;
.data:005C69C5                 db    ? ;
.data:005C69C6                 db    ? ;
.data:005C69C7                 db    ? ;
.data:005C69C8                 db    ? ;
.data:005C69C9                 db    ? ;
.data:005C69CA                 db    ? ;
.data:005C69CB                 db    ? ;
.data:005C69CC                 db    ? ;
.data:005C69CD                 db    ? ;
.data:005C69CE                 db    ? ;
.data:005C69CF                 db    ? ;
.data:005C69D0                 db    ? ;
.data:005C69D1                 db    ? ;
.data:005C69D2                 db    ? ;
.data:005C69D3                 db    ? ;
.data:005C69D4                 db    ? ;
.data:005C69D5                 db    ? ;
.data:005C69D6                 db    ? ;
.data:005C69D7                 db    ? ;
.data:005C69D8                 db    ? ;
.data:005C69D9                 db    ? ;
.data:005C69DA                 db    ? ;
.data:005C69DB                 db    ? ;
.data:005C69DC                 db    ? ;
.data:005C69DD                 db    ? ;
.data:005C69DE                 db    ? ;
.data:005C69DF                 db    ? ;
.data:005C69E0                 db    ? ;
.data:005C69E1                 db    ? ;
.data:005C69E2                 db    ? ;
.data:005C69E3                 db    ? ;
.data:005C69E4                 db    ? ;
.data:005C69E5                 db    ? ;
.data:005C69E6                 db    ? ;
.data:005C69E7                 db    ? ;
.data:005C69E8                 db    ? ;
.data:005C69E9                 db    ? ;
.data:005C69EA                 db    ? ;
.data:005C69EB                 db    ? ;
.data:005C69EC                 db    ? ;
.data:005C69ED                 db    ? ;
.data:005C69EE                 db    ? ;
.data:005C69EF                 db    ? ;
.data:005C69F0                 db    ? ;
.data:005C69F1                 db    ? ;
.data:005C69F2                 db    ? ;
.data:005C69F3                 db    ? ;
.data:005C69F4                 db    ? ;
.data:005C69F5                 db    ? ;
.data:005C69F6                 db    ? ;
.data:005C69F7                 db    ? ;
.data:005C69F8                 db    ? ;
.data:005C69F9                 db    ? ;
.data:005C69FA                 db    ? ;
.data:005C69FB                 db    ? ;
.data:005C69FC                 db    ? ;
.data:005C69FD                 db    ? ;
.data:005C69FE                 db    ? ;
.data:005C69FF                 db    ? ;
.data:005C6A00                 db    ? ;
.data:005C6A01                 db    ? ;
.data:005C6A02                 db    ? ;
.data:005C6A03                 db    ? ;
.data:005C6A04                 db    ? ;
.data:005C6A05                 db    ? ;
.data:005C6A06                 db    ? ;
.data:005C6A07                 db    ? ;
.data:005C6A08                 db    ? ;
.data:005C6A09                 db    ? ;
.data:005C6A0A                 db    ? ;
.data:005C6A0B                 db    ? ;
.data:005C6A0C                 db    ? ;
.data:005C6A0D                 db    ? ;
.data:005C6A0E                 db    ? ;
.data:005C6A0F                 db    ? ;
.data:005C6A10                 db    ? ;
.data:005C6A11                 db    ? ;
.data:005C6A12                 db    ? ;
.data:005C6A13                 db    ? ;
.data:005C6A14                 db    ? ;
.data:005C6A15                 db    ? ;
.data:005C6A16                 db    ? ;
.data:005C6A17                 db    ? ;
.data:005C6A18                 db    ? ;
.data:005C6A19                 db    ? ;
.data:005C6A1A                 db    ? ;
.data:005C6A1B                 db    ? ;
.data:005C6A1C                 db    ? ;
.data:005C6A1D                 db    ? ;
.data:005C6A1E                 db    ? ;
.data:005C6A1F                 db    ? ;
.data:005C6A20                 db    ? ;
.data:005C6A21                 db    ? ;
.data:005C6A22                 db    ? ;
.data:005C6A23                 db    ? ;
.data:005C6A24                 db    ? ;
.data:005C6A25                 db    ? ;
.data:005C6A26                 db    ? ;
.data:005C6A27                 db    ? ;
.data:005C6A28                 db    ? ;
.data:005C6A29                 db    ? ;
.data:005C6A2A                 db    ? ;
.data:005C6A2B                 db    ? ;
.data:005C6A2C                 db    ? ;
.data:005C6A2D                 db    ? ;
.data:005C6A2E                 db    ? ;
.data:005C6A2F                 db    ? ;
.data:005C6A30                 db    ? ;
.data:005C6A31                 db    ? ;
.data:005C6A32                 db    ? ;
.data:005C6A33                 db    ? ;
.data:005C6A34                 db    ? ;
.data:005C6A35                 db    ? ;
.data:005C6A36                 db    ? ;
.data:005C6A37                 db    ? ;
.data:005C6A38                 db    ? ;
.data:005C6A39                 db    ? ;
.data:005C6A3A                 db    ? ;
.data:005C6A3B                 db    ? ;
.data:005C6A3C                 db    ? ;
.data:005C6A3D                 db    ? ;
.data:005C6A3E                 db    ? ;
.data:005C6A3F                 db    ? ;
.data:005C6A40                 db    ? ;
.data:005C6A41                 db    ? ;
.data:005C6A42                 db    ? ;
.data:005C6A43                 db    ? ;
.data:005C6A44                 db    ? ;
.data:005C6A45                 db    ? ;
.data:005C6A46                 db    ? ;
.data:005C6A47                 db    ? ;
.data:005C6A48                 db    ? ;
.data:005C6A49                 db    ? ;
.data:005C6A4A                 db    ? ;
.data:005C6A4B                 db    ? ;
.data:005C6A4C                 db    ? ;
.data:005C6A4D                 db    ? ;
.data:005C6A4E                 db    ? ;
.data:005C6A4F                 db    ? ;
.data:005C6A50                 db    ? ;
.data:005C6A51                 db    ? ;
.data:005C6A52                 db    ? ;
.data:005C6A53                 db    ? ;
.data:005C6A54                 db    ? ;
.data:005C6A55                 db    ? ;
.data:005C6A56                 db    ? ;
.data:005C6A57                 db    ? ;
.data:005C6A58                 db    ? ;
.data:005C6A59                 db    ? ;
.data:005C6A5A                 db    ? ;
.data:005C6A5B                 db    ? ;
.data:005C6A5C                 db    ? ;
.data:005C6A5D                 db    ? ;
.data:005C6A5E                 db    ? ;
.data:005C6A5F                 db    ? ;
.data:005C6A60                 db    ? ;
.data:005C6A61                 db    ? ;
.data:005C6A62                 db    ? ;
.data:005C6A63                 db    ? ;
.data:005C6A64                 db    ? ;
.data:005C6A65                 db    ? ;
.data:005C6A66                 db    ? ;
.data:005C6A67                 db    ? ;
.data:005C6A68                 db    ? ;
.data:005C6A69                 db    ? ;
.data:005C6A6A                 db    ? ;
.data:005C6A6B                 db    ? ;
.data:005C6A6C                 db    ? ;
.data:005C6A6D                 db    ? ;
.data:005C6A6E                 db    ? ;
.data:005C6A6F                 db    ? ;
.data:005C6A70                 db    ? ;
.data:005C6A71                 db    ? ;
.data:005C6A72                 db    ? ;
.data:005C6A73                 db    ? ;
.data:005C6A74                 db    ? ;
.data:005C6A75                 db    ? ;
.data:005C6A76                 db    ? ;
.data:005C6A77                 db    ? ;
.data:005C6A78                 db    ? ;
.data:005C6A79                 db    ? ;
.data:005C6A7A                 db    ? ;
.data:005C6A7B                 db    ? ;
.data:005C6A7C                 db    ? ;
.data:005C6A7D                 db    ? ;
.data:005C6A7E                 db    ? ;
.data:005C6A7F                 db    ? ;
.data:005C6A80                 db    ? ;
.data:005C6A81                 db    ? ;
.data:005C6A82                 db    ? ;
.data:005C6A83                 db    ? ;
.data:005C6A84                 db    ? ;
.data:005C6A85                 db    ? ;
.data:005C6A86                 db    ? ;
.data:005C6A87                 db    ? ;
.data:005C6A88                 db    ? ;
.data:005C6A89                 db    ? ;
.data:005C6A8A                 db    ? ;
.data:005C6A8B                 db    ? ;
.data:005C6A8C                 db    ? ;
.data:005C6A8D                 db    ? ;
.data:005C6A8E                 db    ? ;
.data:005C6A8F                 db    ? ;
.data:005C6A90                 db    ? ;
.data:005C6A91                 db    ? ;
.data:005C6A92                 db    ? ;
.data:005C6A93                 db    ? ;
.data:005C6A94                 db    ? ;
.data:005C6A95                 db    ? ;
.data:005C6A96                 db    ? ;
.data:005C6A97                 db    ? ;
.data:005C6A98                 db    ? ;
.data:005C6A99                 db    ? ;
.data:005C6A9A                 db    ? ;
.data:005C6A9B                 db    ? ;
.data:005C6A9C                 db    ? ;
.data:005C6A9D                 db    ? ;
.data:005C6A9E                 db    ? ;
.data:005C6A9F                 db    ? ;
.data:005C6AA0                 db    ? ;
.data:005C6AA1                 db    ? ;
.data:005C6AA2                 db    ? ;
.data:005C6AA3                 db    ? ;
.data:005C6AA4                 db    ? ;
.data:005C6AA5                 db    ? ;
.data:005C6AA6                 db    ? ;
.data:005C6AA7                 db    ? ;
.data:005C6AA8                 db    ? ;
.data:005C6AA9                 db    ? ;
.data:005C6AAA                 db    ? ;
.data:005C6AAB                 db    ? ;
.data:005C6AAC                 db    ? ;
.data:005C6AAD                 db    ? ;
.data:005C6AAE                 db    ? ;
.data:005C6AAF                 db    ? ;
.data:005C6AB0                 db    ? ;
.data:005C6AB1                 db    ? ;
.data:005C6AB2                 db    ? ;
.data:005C6AB3                 db    ? ;
.data:005C6AB4                 db    ? ;
.data:005C6AB5                 db    ? ;
.data:005C6AB6                 db    ? ;
.data:005C6AB7                 db    ? ;
.data:005C6AB8                 db    ? ;
.data:005C6AB9                 db    ? ;
.data:005C6ABA                 db    ? ;
.data:005C6ABB                 db    ? ;
.data:005C6ABC                 db    ? ;
.data:005C6ABD                 db    ? ;
.data:005C6ABE                 db    ? ;
.data:005C6ABF                 db    ? ;
.data:005C6AC0                 db    ? ;
.data:005C6AC1                 db    ? ;
.data:005C6AC2                 db    ? ;
.data:005C6AC3                 db    ? ;
.data:005C6AC4                 db    ? ;
.data:005C6AC5                 db    ? ;
.data:005C6AC6                 db    ? ;
.data:005C6AC7                 db    ? ;
.data:005C6AC8                 db    ? ;
.data:005C6AC9                 db    ? ;
.data:005C6ACA                 db    ? ;
.data:005C6ACB                 db    ? ;
.data:005C6ACC                 db    ? ;
.data:005C6ACD                 db    ? ;
.data:005C6ACE                 db    ? ;
.data:005C6ACF                 db    ? ;
.data:005C6AD0                 db    ? ;
.data:005C6AD1                 db    ? ;
.data:005C6AD2                 db    ? ;
.data:005C6AD3                 db    ? ;
.data:005C6AD4                 db    ? ;
.data:005C6AD5                 db    ? ;
.data:005C6AD6                 db    ? ;
.data:005C6AD7                 db    ? ;
.data:005C6AD8                 db    ? ;
.data:005C6AD9                 db    ? ;
.data:005C6ADA                 db    ? ;
.data:005C6ADB                 db    ? ;
.data:005C6ADC                 db    ? ;
.data:005C6ADD                 db    ? ;
.data:005C6ADE                 db    ? ;
.data:005C6ADF                 db    ? ;
.data:005C6AE0                 db    ? ;
.data:005C6AE1                 db    ? ;
.data:005C6AE2                 db    ? ;
.data:005C6AE3                 db    ? ;
.data:005C6AE4                 db    ? ;
.data:005C6AE5                 db    ? ;
.data:005C6AE6                 db    ? ;
.data:005C6AE7                 db    ? ;
.data:005C6AE8                 db    ? ;
.data:005C6AE9                 db    ? ;
.data:005C6AEA                 db    ? ;
.data:005C6AEB                 db    ? ;
.data:005C6AEC                 db    ? ;
.data:005C6AED                 db    ? ;
.data:005C6AEE                 db    ? ;
.data:005C6AEF                 db    ? ;
.data:005C6AF0                 db    ? ;
.data:005C6AF1                 db    ? ;
.data:005C6AF2                 db    ? ;
.data:005C6AF3                 db    ? ;
.data:005C6AF4                 db    ? ;
.data:005C6AF5                 db    ? ;
.data:005C6AF6                 db    ? ;
.data:005C6AF7                 db    ? ;
.data:005C6AF8                 db    ? ;
.data:005C6AF9                 db    ? ;
.data:005C6AFA                 db    ? ;
.data:005C6AFB                 db    ? ;
.data:005C6AFC                 db    ? ;
.data:005C6AFD                 db    ? ;
.data:005C6AFE                 db    ? ;
.data:005C6AFF                 db    ? ;
.data:005C6B00                 db    ? ;
.data:005C6B01                 db    ? ;
.data:005C6B02                 db    ? ;
.data:005C6B03                 db    ? ;
.data:005C6B04                 db    ? ;
.data:005C6B05                 db    ? ;
.data:005C6B06                 db    ? ;
.data:005C6B07                 db    ? ;
.data:005C6B08                 db    ? ;
.data:005C6B09                 db    ? ;
.data:005C6B0A                 db    ? ;
.data:005C6B0B                 db    ? ;
.data:005C6B0C                 db    ? ;
.data:005C6B0D                 db    ? ;
.data:005C6B0E                 db    ? ;
.data:005C6B0F                 db    ? ;
.data:005C6B10                 db    ? ;
.data:005C6B11                 db    ? ;
.data:005C6B12                 db    ? ;
.data:005C6B13                 db    ? ;
.data:005C6B14                 db    ? ;
.data:005C6B15                 db    ? ;
.data:005C6B16                 db    ? ;
.data:005C6B17                 db    ? ;
.data:005C6B18                 db    ? ;
.data:005C6B19                 db    ? ;
.data:005C6B1A                 db    ? ;
.data:005C6B1B                 db    ? ;
.data:005C6B1C                 db    ? ;
.data:005C6B1D                 db    ? ;
.data:005C6B1E                 db    ? ;
.data:005C6B1F                 db    ? ;
.data:005C6B20                 db    ? ;
.data:005C6B21                 db    ? ;
.data:005C6B22                 db    ? ;
.data:005C6B23                 db    ? ;
.data:005C6B24                 db    ? ;
.data:005C6B25                 db    ? ;
.data:005C6B26                 db    ? ;
.data:005C6B27                 db    ? ;
.data:005C6B28                 db    ? ;
.data:005C6B29                 db    ? ;
.data:005C6B2A                 db    ? ;
.data:005C6B2B                 db    ? ;
.data:005C6B2C                 db    ? ;
.data:005C6B2D                 db    ? ;
.data:005C6B2E                 db    ? ;
.data:005C6B2F                 db    ? ;
.data:005C6B30                 db    ? ;
.data:005C6B31                 db    ? ;
.data:005C6B32                 db    ? ;
.data:005C6B33                 db    ? ;
.data:005C6B34                 db    ? ;
.data:005C6B35                 db    ? ;
.data:005C6B36                 db    ? ;
.data:005C6B37                 db    ? ;
.data:005C6B38                 db    ? ;
.data:005C6B39                 db    ? ;
.data:005C6B3A                 db    ? ;
.data:005C6B3B                 db    ? ;
.data:005C6B3C                 db    ? ;
.data:005C6B3D                 db    ? ;
.data:005C6B3E                 db    ? ;
.data:005C6B3F                 db    ? ;
.data:005C6B40                 db    ? ;
.data:005C6B41                 db    ? ;
.data:005C6B42                 db    ? ;
.data:005C6B43                 db    ? ;
.data:005C6B44                 db    ? ;
.data:005C6B45                 db    ? ;
.data:005C6B46                 db    ? ;
.data:005C6B47                 db    ? ;
.data:005C6B48                 db    ? ;
.data:005C6B49                 db    ? ;
.data:005C6B4A                 db    ? ;
.data:005C6B4B                 db    ? ;
.data:005C6B4C                 db    ? ;
.data:005C6B4D                 db    ? ;
.data:005C6B4E                 db    ? ;
.data:005C6B4F                 db    ? ;
.data:005C6B50                 db    ? ;
.data:005C6B51                 db    ? ;
.data:005C6B52                 db    ? ;
.data:005C6B53                 db    ? ;
.data:005C6B54                 db    ? ;
.data:005C6B55                 db    ? ;
.data:005C6B56                 db    ? ;
.data:005C6B57                 db    ? ;
.data:005C6B58                 db    ? ;
.data:005C6B59                 db    ? ;
.data:005C6B5A                 db    ? ;
.data:005C6B5B                 db    ? ;
.data:005C6B5C                 db    ? ;
.data:005C6B5D                 db    ? ;
.data:005C6B5E                 db    ? ;
.data:005C6B5F                 db    ? ;
.data:005C6B60                 db    ? ;
.data:005C6B61                 db    ? ;
.data:005C6B62                 db    ? ;
.data:005C6B63                 db    ? ;
.data:005C6B64                 db    ? ;
.data:005C6B65                 db    ? ;
.data:005C6B66                 db    ? ;
.data:005C6B67                 db    ? ;
.data:005C6B68                 db    ? ;
.data:005C6B69                 db    ? ;
.data:005C6B6A                 db    ? ;
.data:005C6B6B                 db    ? ;
.data:005C6B6C                 db    ? ;
.data:005C6B6D                 db    ? ;
.data:005C6B6E                 db    ? ;
.data:005C6B6F                 db    ? ;
.data:005C6B70                 db    ? ;
.data:005C6B71                 db    ? ;
.data:005C6B72                 db    ? ;
.data:005C6B73                 db    ? ;
.data:005C6B74                 db    ? ;
.data:005C6B75                 db    ? ;
.data:005C6B76                 db    ? ;
.data:005C6B77                 db    ? ;
.data:005C6B78                 db    ? ;
.data:005C6B79                 db    ? ;
.data:005C6B7A                 db    ? ;
.data:005C6B7B                 db    ? ;
.data:005C6B7C                 db    ? ;
.data:005C6B7D                 db    ? ;
.data:005C6B7E                 db    ? ;
.data:005C6B7F                 db    ? ;
.data:005C6B80 dword_5C6B80    dd ?                    ; DATA XREF: sub_441940+EAr
.data:005C6B80                                         ; sub_441940+262r ...
.data:005C6B84                 db    ? ;

可知是unk_5C6900,看一下unk_5C6900被哪段汇编代码引用了。用上面查找的方式可以找到,唯一被引用的地方是00485A18

看一下这附近的汇编:

.text:00485A18                 push    offset unk_5C6900

.text:00485A1D                 call    sub_488A15

看一下sub_488A15,并记得unk_5C6900是它的第一个参数:

.text:00488A15 sub_488A15      proc near               ; CODE XREF: sub_485375+6A8p

.text:00488A15                                         ; sub_485CD1+2A9p

.text:00488A15

.text:00488A15 arg_0           = dword ptr  8

.text:00488A15

.text:00488A15                 push    ebp

.text:00488A16                 mov     ebp, esp

.text:00488A18                 push    esi

.text:00488A19                 push    edi

.text:00488A1A                 mov     ecx, 9Ch

.text:00488A1F                 xor     eax, eax

.text:00488A21                 mov     edi, [ebp+arg_0]

.text:00488A24                 rep stosd

.text:00488A26                 mov     eax, [ebp+arg_0]

.text:00488A29                 mov     ecx, dword_5EAE2C

上面红色的汇编就是memset的内联优化,算一下,5C6900+9C*4 = 5C6B70(因为是stosd,说明是四个字节).和5C6B80相差较远。继续分析sub_488A15,也是发现它并没有越界。

只可能是第一种情况。

定位完毕。

对这个问题的建议是:

1.对使用dword_5C6B80里面的元素,需要进行判空操作,不能够直接引用。

2.如果source insight是由C++写成的,应该使用单实例类来代替dword_5C6B80,这样可以更好保证数据在使用前已经初始化了。

时间: 2024-08-02 11:33:09

source insight coredump分析的相关文章

source insight另一个coredump

系统:windows xp sp3 崩溃的exe:insight3_en.exe 版本:3.50.0064 崩溃时的信息: The stored exception information can be accessed via .ecxr. (5404.5050): Access violation - code c0000005 (first/second chance not available) eax=00000000 ebx=00000000 ecx=7c930323 edx=000

使用Source Insight阅读wrk源码

1. 新建项目: Project -> New Project, 填一项目名称 2. 选择源码位置: 3. 增加文件到项目,选好对应的文件夹,点击"Add Tree" 4. 查找函数: F7, Source Insight需要分析一会 5. 输入需要查找的函数,如NtSuspendProcess 6. 查看函数的调用关系,View -> Relation Window 鼠标指向的函数,Relation Window会实时显示出被调用函数直接的关系

Linux平台开发之Samba和Source Insight

有时我们使用windows平台惯了或者想远程连接服务器,直接在服务器上修改自己的程序.那么Samba将是一个不错的选择.随着Linux的普及,如何共享Linux下的文件成为用户关心的问题.其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba--通过它可以轻松实现文件的共享.可以说Samba是架起Windows和Linux的桥梁. 关于Samba的安装与使用,不在本文过多详述,需要的朋友可以去网上搜索. 既然Samba将Windows与Linux之间实现了文件共享,那么问题来了,方便

源码解读之工具--Source Insight

1.Source Insight 这个工具又叫做程序编辑器和代码浏览器,支持C/C++.C#.java等的分析,是一款功能强大的处理大型项目所需的软件,是一个程序员的必备软件: 针对Linux内核的剖析,是几百M大的文件,上百万行的代码,从中快速的浏览,找到你所需要的函数.变量名称,代码的追踪都是很好的,此时不可能一行一行的查找代码,所以就有了这个需求,这款软件就是解决这个问题的. 在工程项目中,它的作用是巨大的,针对几百.上千行的代码没有必要使用这个软件,现在针对的是Linux内核,工欲善其事

【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机

转载地址:http://blog.csdn.net/qs_hud/article/details/8884867 注册机及软件下载地址:http://download.csdn.net/detail/huhu1544/5330869       效果截图: 上几周灰春哥说在试着破解Source Insight 3.5,一直拿CrackMe做实验的俺也不免手痒来练练手(顺便拿去吾爱混个邀请码),刚拖进OD里就看见了GetTickCount函数,还以为里面 有反调试呢(现在想想估计是检查试用天数用的

Source Insight 自定义命令说明

1.Custom Command Dialog box Command 显示当前选中命令的名字. 下拉列表中包含了所有的自定义命令. Run 命令行,当调用自定义命令时,这个命令行就会被执行. 命令行中可以包含特殊的元字符. 详见 "The 'Run' Field Format". Dir 设定命令行执行时的工作目录.Source Insight 会在命令行执行前将当前工作目录设置为此处设定的值. 如果是空的,那么Source Insight 会将当前工作目录设置为工程源码目录. Ou

Source Insight常用功能设置

熟悉工具的使用能在一定程度上提高工作效率,但工具永远只是工具,大家要把重点放在内功的修炼上. 符号导航 符号(变量.宏定义.结构定义.枚举.函数等等)在SI 中的检索非常方便.Ctrl+鼠标左键或Ctrl+=可以立即转到符号的定义处,Alt+/可以打开一个窗口查看符号的定义.F7 浏览或查找工程的全局变量和函数,F8 浏览查找当前文件的全局变量和函数.Ctrl+/打开 Lookup Reference 窗口用于搜索符号在工程中的索引,所有搜索结果在搜索窗口中显示,点击搜索结果左边的红色源链接即可

【转载】【软件安装】Source Insight 4.0常用设置

1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C/C++, C#和Java等源码的分析,创建并动态维护符号数据库,并自动显示有用的上下文信息. Source Insight不开源,但网上有破解版本可以下载,见Source Insight 4 破解笔记(完美破解).相对于其它主流的开源代码编辑器(Notepad++.Sublime Text.Emacs.Vim等),因为Source Insight能自动创建并维护它自己高性能

Source Insight 4.0常用设置

本文以Source Insight 4.00.0086版本为例讲解常用设置. 1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C/C++, C#和Java等源码的分析,创建并动态维护符号数据库,并自动显示有用的上下文信息. Source Insight不开源,但网上有破解版本可以下载,见Source Insight 4 破解笔记(完美破解).相对于其它主流的开源代码编辑器(Notepad++.Sublime Text.Ema