CMD.EXE是如何访问剪切板的??有谁研究过,发现他并不是通过标准剪切板函数访问的,可能是通过RPC 由CSRSS来处理.
看了下XP SP2,由CSRSS的WINSRV.DLL模块中
.text:75B8EB31 mov edi, edi
.text:75B8EB33 push ebp
.text:75B8EB34 mov ebp, esp
.text:75B8EB36 sub esp, 28h
.text:75B8EB39 push edi
.text:75B8EB3A mov edi, [ebp+arg_0]
.text:75B8EB3D test byte ptr [edi+140h], 20h
.text:75B8EB44 jnz loc_75B8ECBC
.text:75B8EB4A push dword ptr [edi+0C0h] ; hWndNewOwner
.text:75B8EB50 call ds:OpenClipboard
.text:75B8EB56 test eax, eax
.text:75B8EB58 jz loc_75B8ECBC
.text:75B8EB5E mov eax, [edi+0B0h]
.text:75B8EB64 test byte ptr [eax+4], 1
.text:75B8EB68 push ebx
.text:75B8EB69 push esi
.text:75B8EB6A jz short loc_75B8EBA4
.text:75B8EB6C push 0Dh ; uFormat
.text:75B8EB6E call ds:GetClipboardData
.text:75B8EB74 mov esi, eax
.text:75B8EB76 test esi, esi
.text:75B8EB78 jz loc_75B8ECB4
.text:75B8EB7E push esi ; hMem
.text:75B8EB7F call ds:GlobalLock
.text:75B8EB85 push esi ; hMem
.text:75B8EB86 mov ebx, eax
.text:75B8EB88 call ds:GlobalSize
.text:75B8EB8E shr eax, 1
.text:75B8EB90 push eax
.text:75B8EB91 push ebx
.text:75B8EB92 push edi
.text:75B8EB93 call sub_75B8E7E2
.text:75B8EB98 push esi ; hMem
.text:75B8EB99 call ds:GlobalUnlock
.text:75B8EB9F jmp loc_75B8ECB4
.text:75B8EBA4 ; -----
sub_75B8E7E2中完成的数据传送 ,不过在里面迷路了。。。。。。
愣是没找到关键点,谁有兴趣研究看下?
在DEBUGMAN没人回答,到这里来碰碰运气看.
[培训]《安卓高级研修班(网课)》月薪三万计划,掌
握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法