在qq.exe的主程式裡: (build1230final)
.0045C535: 8B4628
mov
eax,[esi][28]
.0045C538: 8B0CD8
mov ecx,[eax][ebx]*8
.0045C53B: 8D04D8
lea eax,[eax][ebx]*8
.0045C53E:
3B4DF0
cmp ecx,[ebp][-10]
;這裡是判斷收到了什麼訊息
.0045C541: 7511
jne .00045C554 -----? (1)
;比方說如果[ebp][-10]=2那就是有人向你傳送請求加入的訊息
.0045C543:
8B4004
mov eax,[eax][04]
=3就是你好友給你發訊息了
.0045C546: 57
push
edi
=6就是我們要的,系統廣播訊息!
.0045C547: 50
push
eax
所以我們用SMC做一個判斷,如果是6,
.0045C548:
C7450801000000 mov
d,[ebp][08],000000001 ;"
就直接跳過45C551的call即可:)
.0045C54F: 8B08
mov ecx,[eax]
.0045C551:
FF510C
call d,[ecx][0C]
.0045C554: 43
inc
ebx
.0045C555: 3B5E2C
cmp ebx,[esi][2C]
.0045C558: 7CDB
jl .00045C535 -----? (2)
.0045C55A: 837D0800
cmp d,[ebp][08],000 ;" "
.0045C55E:
7534
jne .00045C594 -----? (3)
.0045C560:
8D4D08
lea ecx,[ebp][08]
一開始因為收不到系統廣播訊息而走了很多彎路,後來不停的註冊5個qq號碼才搞定:(
一開始跟的時候用bpx sndplaysounda(需要export winmm.dll)因為有訊息來了會先響,直到你去看什麼訊息。
又註冊了3個號碼測試過了,不會再收到系統廣播了,其它的毫無影響,eNjoy!
回去睡覺了,困,明天還要給國軍買命:(
by dRag0nMa 03.27.03'