-
-
[原创]同时打开多个MSN的DIY方法
-
发表于:
2005-8-15 17:38
5944
-
现在网上有程序可以以外挂的方式多开MSN,用这些程序心里总是有几份不爽,要么怕有病毒,要么怕有后门。。。等等。今跟踪了一下MSN,找到了一个多开MSN的方法,这个只对 MSN 版本为 7.0.0816 的有效,其它的版本可以按方法跟踪到地址然后再改。
00546E50 |> 68 FC434100 push msnmsgr.004143FC ; /EventName = "]SNMSGR"
00546E55 |. |53 push ebx ; |InitiallySignaled
00546E56 |. |6A 01 push 1 ; |ManualReset = TRUE
00546E58 |. |53 push ebx ; |pSecurity
00546E59 |. |FF15 50134000 call dword ptr ds:[<&KERNEL32.CreateEventA>] ; \CreateEventA
00546E5F |. |3BC3 cmp eax, ebx
00546E61 |. |8B7D F0 mov edi, [local.4]
00546E64 |. |8947 28 mov dword ptr ds:[edi+28], eax
00546E67 |. |0F84 CD010000 je msnmsgr.0054703A
00546E6D |. |FF15 74144000 call dword ptr ds:[<&KERNEL32.GetLastError>] ; [GetLastError
00546E73 |. |3D B7000000 cmp eax, 0B7
; 多开MSN方法一:把此处的B7改成别的就可以了,比如B6。
; 用WinHex打开,到转到146E74,把B7改为B6就OK了。
00546E78 |. |0F85 B5010000 jnz msnmsgr.00547033
; 多开MSN方法二:修改此处的jnz为jmp也能打开多个MSN了,但考滤到改成jmp后,指命就会变成2个字节了,后面就得用90填上。
00546E7E |. |6A FF push -1 ; /Timeout = INFINITE
00546E80 |. |FF77 28 push dword ptr ds:[edi+28] ; |hObject
00546E83 |. |FF15 44144000 call dword ptr ds:[<&KERNEL32.WaitForSingleObjec>; \WaitForSingleObject
00546E89 |. |83F8 FF cmp eax, -1
00546E8C |. |0F84 A8010000 je msnmsgr.0054703A
00546E92 |. |53 push ebx ; /Title
00546E93 |. |68 A8414100 push msnmsgr.004141A8 ; |Class = "MSNMSGRBlObj"
00546E98 |. |FF15 2C164000 call dword ptr ds:[<&USER32.FindWindowA>] ; \FindWindowA
总结:
多开MSN方法一:把此处的B7改成别的就可以了,比如B6。用WinHex打开,到转到146E74,把B7改为B6就OK了。
多开MSN方法二:修改此处的jnz为jmp也能打开多个MSN了,但考滤到改成jmp后,指命就会变成2个字节了,后面就得用90填上。
建议用第一种方法,第二种方法如果有兴趣的朋友可以试试。(去除广告的我还没找到,不知道找不找得到哦。找到了再和大家共享!)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课