冥界3大法王 发表于 2021-5-19 11:46

这个闪退没搞腚,发出来聊聊。


这是一个delphi的demo组件
效果还是不错的,目录+表格展示
但是有个闪退的坑儿。
试过Ollydbg 批量下断(退出进程等一系列api 函数)
以及api monitor
还有x32dbg都没有找到关键位置
查看了一下调用堆栈
和调试跟踪
经常异常了
也查看过SEH窗口下断,断不到。
下面的地方很可疑,并在第3+次数点击时能断到,不久就会触发闪退。
00642692   | 81CE 00001000    | or esi,100000                           | 100000:"H"==&L"DINS~1.EXE"

0064259A   | E8 95010000      | call advanced.642734

006426B2   | 8945 F4                | mov dword ptr ss:,eax            |
006426B5   | 33C0                   | xor eax,eax                           |
006426B7   | 5A                     | pop edx                                 |
006426B8   | 59                     | pop ecx                                 |
006426B9   | 59                     | pop ecx                                 |
006426BA   | 64:8910                | mov dword ptr fs:,edx            | eax:"nterfaceList>.TKeyCollection;"



006427D4   | E8 DBFDFFFF            | call advanced.6425B4                  |
006427D9   | 33C0                   | xor eax,eax                           |
006427DB   | 5A                     | pop edx                                 |
006427DC   | 59                     | pop ecx                                 |
006427DD   | 59                     | pop ecx                                 |
006427DE   | 64:8910                | mov dword ptr fs:,edx            | eax:"nterfaceList>.TKeyCollection;"
006427E1   | 68 FD276400            | push advanced.6427FD                  |



00642620   | E8 47CFEFFF            | call <JMP.&GetMonitorInfoW>      
===================================
00 | 76FA2C5C | C3                     | ret                                     | eax: 9120E-> 28425E0 ebx: 0-> 287D7D8 ecx: 0-> 28 | 0019FED8: 642F0A-> FFFFFFFE                     |
01 | 006427D4 | E8 DBFDFFFF            | call advanced.6425B4                  | esp: A2954-> A2950                              | 000A2950: 287D67C-> 6427D9                        |
02 | 006425B4 | 55                     | push ebp                              | esp: A2950-> A294C                              | 000A294C: 6427CF-> A297C                        |
03 | 006425B5 | 8BEC                     | mov ebp,esp                           | ebp: A297C-> A294C                              |                                                   |
04 | 006425B7 | 83C4 A8                  | add esp,FFFFFFA8                        | esp: A294C-> A28F4                              |                                                   |
05 | 006425BA | 53                     | push ebx                              | esp: A28F4-> A28F0                              | 000A28F0: AA0000-> 287D7D8                        |
06 | 006425BB | 56                     | push esi                              | esp: A28F0-> A28EC                              | 000A28EC: 0-> 287D7D8                           |
07 | 006425BC | 57                     | push edi                              | esp: A28EC-> A28E8                              | 000A28E8: 2C-> 28425E0                            |
08 | 006425BD | 894D F8                  | mov dword ptr ss:,ecx            |                                                   | 000A2944: 40AF7C-> 287D67C                        |
09 | 006425C0 | 8BFA                     | mov edi,edx                           | edi: 28425E0-> 288254C                            |                                                   |
0A | 006425C2 | 8945 FC                  | mov dword ptr ss:,eax            |                                                   | 000A2948: 287D7D8-> 28425E0                     |
0B | 006425C5 | 8B75 08                  | mov esi,dword ptr ss:            | esi: 287D7D8-> 10                                 | 000A2954: 10-> 10                                 |
0C | 006425C8 | 8B45 FC                  | mov eax,dword ptr ss:            |                                                   | 000A2948: 28425E0-> 28425E0                     |
0D | 006425CB | E8 CC160000            | call advanced.643C9C                  | eax: 28425E0-> 131288 ecx: 287D67C-> 77AA1CBC edx | 000A28E4: 0-> 6425D0                              |
0E | 006425D0 | 8945 F0                  | mov dword ptr ss:,eax         |                                                   | 000A293C: 642810-> 131288                         |
0F | 006425D3 | 837D F0 00               | cmp dword ptr ss:,0             |                                                   | 000A293C: 131288-> 131288                         |
10 | 006425D7 | 75 0B                  | jne advanced.6425E4                     |                                                   |                                                   |
11 | 006425E4 | 8B5D F0                  | mov ebx,dword ptr ss:         | ebx: 287D7D8-> 131288                           | 000A293C: 131288-> 131288                         |
12 | 006425E7 | 6A 02                  | push 2                                  | esp: A28E8-> A28E4                              | 000A28E4: 6425D0-> 2                              |
13 | 006425E9 | 8B45 F0                  | mov eax,dword ptr ss:         |                                                   | 000A293C: 131288-> 131288                         |
14 | 006425EC | 50                     | push eax                              | esp: A28E4-> A28E0                              | 000A28E0: 287D7D8-> 131288                        |
15 | 006425ED | E8 62CFEFFF            | call <JMP.&MonitorFromWindow>         | eax: 131288-> 10001 ecx: 77AA1CBC-> 8824DAC0 edx: | 000A28DC: 131288-> 6425F2                         |
16 | 006425F2 | 8945 EC                  | mov dword ptr ss:,eax         |                                                   | 000A2938: E-> 10001                               |
17 | 006425F5 | 6A 02                  | push 2                                  | esp: A28E8-> A28E4                              | 000A28E4: 2-> 2                                 |
18 | 006425F7 | 8B45 FC                  | mov eax,dword ptr ss:            | eax: 10001-> 28425E0                              | 000A2948: 28425E0-> 28425E0                     |
19 | 006425FA | 8B80 88010000            | mov eax,dword ptr ds:          | eax: 28425E0-> 45129A                           | 02842768: 45129A-> 45129A                         |
1A | 00642600 | 50                     | push eax                              | esp: A28E4-> A28E0                              | 000A28E0: 131288-> 45129A                         |
1B | 00642601 | E8 4ECFEFFF            | call <JMP.&MonitorFromWindow>         | eax: 45129A-> 10001 esp: A28E0-> A28E8            | 000A28DC: 6425F2-> 642606                         |
1C | 00642606 | 8945 E8                  | mov dword ptr ss:,eax         |                                                   | 000A2934: 40AF34-> 10001                        |
1D | 00642609 | 8B45 EC                  | mov eax,dword ptr ss:         |                                                   | 000A2938: 10001-> 10001                           |
1E | 0064260C | 3B45 E8                  | cmp eax,dword ptr ss:         |                                                   | 000A2934: 10001-> 10001                           |
1F | 0064260F | 74 62                  | je advanced.642673                      |                                                   |                                                   |
20 | 00642673 | 8B45 F0                  | mov eax,dword ptr ss:         | eax: 10001-> 131288                               | 000A293C: 131288-> 131288                         |
21 | 00642676 | E8 B122FFFF            | call advanced.63492C                  | eax: 131288-> 2868B60 ecx: 8824DAC0-> A28E0 edx:| 000A28E4: 2-> 64267B                              |
22 | 0064267B | 8945 E0                  | mov dword ptr ss:,eax         |                                                   | 000A292C: 409F93-> 2868B60                        |
23 | 0064267E | E8 FD20FFFF            | call advanced.634780                  | eax: 2868B60-> 7                                  | 000A28E4: 64267B-> 642683                         |
24 | 00642683 | 8945 E4                  | mov dword ptr ss:,eax         |                                                   | 000A2930: F-> 7                                 |
25 | 00642686 | 8B45 FC                  | mov eax,dword ptr ss:            | eax: 7-> 28425E0                                  | 000A2948: 28425E0-> 28425E0                     |
26 | 00642689 | E8 E6E6FFFF            | call advanced.640D74                  | eax: 28425E0-> 0 edx: A2958-> 70C708            | 000A28E4: 642683-> 64268E                         |
27 | 0064268E | 84C0                     | test al,al                              |                                                   |                                                   |
28 | 00642690 | 74 06                  | je advanced.642698                      |                                                   |                                                   |
29 | 00642698 | 33C9                     | xor ecx,ecx                           | ecx: A28E0-> 0                                    |                                                   |
2A | 0064269A | 55                     | push ebp                              | esp: A28E8-> A28E4                              | 000A28E4: 64268E-> A294C                        |
2B | 0064269B | 68 21276400            | push advanced.642721                  | esp: A28E4-> A28E0                              | 000A28E0: A294C-> 642721                        |
2C | 006426A0 | 64:FF31                  | push dword ptr fs:               | esp: A28E0-> A28DC                              | 003A9000: A2958-> A2958 000A28DC: 2868B60-> A2958 |
2D | 006426A3 | 64:8921                  | mov dword ptr fs:,esp            |                                                   | 003A9000: A2958-> A28DC                           |
2E | 006426A6 | 56                     | push esi                              | esp: A28DC-> A28D8                              | 000A28D8: 1112BA-> 10                           |
2F | 006426A7 | 8B45 F8                  | mov eax,dword ptr ss:            | eax: 0-> 287D67C                                  | 000A2944: 287D67C-> 287D67C                     |
30 | 006426AA | 50                     | push eax                              | esp: A28D8-> A28D4                              | 000A28D4: 0-> 287D67C                           |
31 | 006426AB | 57                     | push edi                              | esp: A28D4-> A28D0                              | 000A28D0: 131288-> 288254C                        |
32 | 006426AC | 53                     | push ebx                              |                                                   | 000A28CC: 10-> 131288                           |

https://wwi.lanzoui.com/i175Zp9gi4h

无闻无问 发表于 2021-5-19 13:18

都提示栈溢出了…估计是内存泄露,软件bug吧

冥界3大法王 发表于 2021-5-19 16:12

无闻无问 发表于 2021-5-19 13:18
都提示栈溢出了…估计是内存泄露,软件bug吧

我网上找遍X32dbg
c0
c5
也没说出个所以然来。
页: [1]
查看完整版本: 这个闪退没搞腚,发出来聊聊。