SimpleRemoter
SimpleRemoter copied to clipboard
CBuffer::WriteBuffer 0xc00005异常
dmp文件 分析如下:
STACK_TEXT:
0095f314 003765e3 02e30000 00d5df94 00000005 Yama!memcpy+0x509 [d:\agent_work\4\s\src\vctools\crt\vcruntime\src\string\i386\memcpy.asm @ 658]
0095f334 0037d527 00d5df94 00000005 6a9029c3 Yama!CBuffer::WriteBuffer+0x38 [E:\LeiDunWorkPath\SimpleRemoter\server\2015Remote\Buffer.cpp @ 124]
0095f3f4 0037f716 02a39a40 0095f40c 0000001d Yama!IOCPServer::OnClientPreSending+0x18c [E:\LeiDunWorkPath\SimpleRemoter\server\2015Remote\IOCPServer.cpp @ 586]
0095f430 0037f613 0095f448 002a0772 0037f58c Yama!CScreenSpyDlg::SendCommand+0x4d [E:\LeiDunWorkPath\SimpleRemoter\server\2015Remote\ScreenSpyDlg.cpp @ 452]
0095f464 00399542 00d0d2f0 0095f584 0015069e Yama!CScreenSpyDlg::PreTranslateMessage+0x87 [E:\LeiDunWorkPath\SimpleRemoter\server\2015Remote\ScreenSpyDlg.cpp @ 437]
0095f47c 0038e1c4 0015069e 00d0d2f0 00563980 Yama!CWnd::WalkPreTranslateTree+0x30 [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\wincore.cpp @ 3379]
0095f498 0038e5dd 00d0d2f0 0095f4b8 0038e2c1 Yama!AfxInternalPreTranslateMessage+0x3a [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\thrdcore.cpp @ 233]
0095f4a4 0038e2c1 00d0d2f0 00d0d2f0 00d0d2c0 Yama!CWinThread::PreTranslateMessage+0xb [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\thrdcore.cpp @ 777]
0095f4b8 0038e253 00d0d2f0 00563980 0038e718 Yama!AfxPreTranslateMessage+0x25 [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\thrdcore.cpp @ 252]
0095f4c8 0038e320 00000000 0095f584 00398e9f Yama!AfxInternalPumpMessage+0x2b [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\thrdcore.cpp @ 178]
0095f4d4 00398e9f 00000001 0095f584 00000000 Yama!AfxPumpMessage+0x1f [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\thrdcore.cpp @ 190]
0095f4f8 0038d019 00000004 0095f584 00000000 Yama!CWnd::RunModalLoop+0xc5 [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\wincore.cpp @ 4661]
0095f50c 0038d157 005762e0 00000000 00370000 Yama!CWnd::CreateRunDlgIndirect+0x3d [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\dlgcore.cpp @ 474]
0095f560 00371eb1 6a90215b 00563980 00371ddc Yama!CDialog::DoModal+0x11e [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\dlgcore.cpp @ 633]
0095fb6c 004ed27b 00000000 00000001 0063b000 Yama!CMy2015RemoteApp::InitInstance+0xd5 [E:\LeiDunWorkPath\SimpleRemoter\server\2015Remote\2015Remote.cpp @ 131]
0095fb84 004c324b 00370000 00000000 00ca30d0 Yama!AfxWinMain+0x5f [d:\agent_work\4\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\winmain.cpp @ 37]
0095fbd0 749762c4 0063b000 749762a0 13db8ad4 Yama!__scrt_common_main_seh+0xf8 [d:\agent_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
0095fbe4 77901e39 0063b000 13ec6ba0 00000000 kernel32!BaseThreadInitThunk+0x24
0095fc2c 77901e04 ffffffff 779236c0 00000000 ntdll!__RtlUserThreadStart+0x2f
0095fc3c 00000000 004c32cf 0063b000 00000000 ntdll!_RtlUserThreadStart+0x1b
源代码中为这一样报错: CopyMemory(m_Ptr,Buffer,ulLength);//Hello 5
其中‘m_Ptr’ 的值为: 0:000> db 2e30000 02e30000 4d 5a 90 00 03 00 00 00-04 00 00 00 ff ff 00 00 MZ.............. 02e30010 b8 00 00 00 00 00 00 00-40 00 00 00 00 00 00 00 ........@....... 02e30020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 02e30030 00 00 00 00 00 00 00 00-00 00 00 00 b8 00 00 00 ................ 02e30040 0e 1f ba 0e 00 b4 09 cd-21 b8 01 4c cd 21 54 68 ........!..L.!Th 02e30050 69 73 20 70 72 6f 67 72-61 6d 20 63 61 6e 6e 6f is program canno 02e30060 74 20 62 65 20 72 75 6e-20 69 6e 20 44 4f 53 20 t be run in DOS 02e30070 6d 6f 64 65 2e 0d 0d 0a-24 00 00 00 00 00 00 00 mode....$.
好像是某个模块的入口点,没想通为什么上面重新申请buffer成功返回。而下面的追加写入数据的m_Ptr会出错
触发条件: 在服务器放上主控端。远程桌面管理。控制远程鼠标 频繁控制就会触发。本地控制虚拟机不会触发此问题