push 1FFF ;1FFF鍏ユ爤
lea eax, dword ptr [esp+CAC] ;(3244) 璺濈鏍堥《811涓瓨鍌ㄥ崟鍏?
push eax ;eax鍏ユ爤 瑙e瘑鍚庤瀛樺叆鐨勫湴鍧€鍏ユ爤
add edi, 10 ;edi=浠庡瓧絎︿覆絎?7涓瓧鑺傚紑濮嬪線鍚庣殑涓?br />
push edi ;瀵嗘枃鍏ユ爤
call 004A0BD0 ;璺熻繘鍙戠幇榪欐槸鏅€氱殑涓€嬈¤В瀵嗭紝瑙e瘑鍚庢暟鎹瓨鍦╡sp+CAC閲?
mov byte ptr [esp+eax+CA8], 0
xor eax, eax
mov ecx, 100 ;ecx=100 (256) 寰幆嬈℃暟
lea edi, dword ptr [esp+3F8] ;edi
rep stos dword ptr es:[edi] ;
lea ecx, dword ptr [esp+3F8]
push ecx
lea edx, dword ptr [ebx+3CD864]
push edx
mov ecx, ebx
call 0042C440 ;浜屾瑙e瘑錛岀敓鎴愬洖澶嶅瘑鏂?br />
lea eax, dword ptr [esp+3F8]
push eax
mov ecx, 004D5C70
call 0049F770 ;璋冪敤messageSend(char* msg)
lea eax, dword ptr [esp+CA8]
lea edx, dword ptr [eax+1]
L023:
mov cl, byte ptr [eax]
inc eax
test cl, cl
jnz L023
sub eax, edx
cmp eax, 3C
jnz 0043BF9D
mov ecx, dword ptr [esp+CA8]
mov edx, dword ptr [esp+CAC]
mov eax, dword ptr [esp+CB0]
mov dword ptr [esp+38], ecx
mov ecx, dword ptr [esp+CB4]
mov dword ptr [esp+44], ecx
mov ecx, dword ptr [esp+CC0]
mov dword ptr [esp+3C], edx
mov edx, dword ptr [esp+CB8]
mov dword ptr [esp+40], eax
mov eax, dword ptr [esp+CBC]
mov dword ptr [esp+54], ecx
mov ecx, dword ptr [esp+CCC]
mov dword ptr [esp+48], edx
mov edx, dword ptr [esp+CC4]
mov dword ptr [esp+50], eax
mov eax, dword ptr [esp+CC8]
mov dword ptr [esp+60], ecx
mov ecx, dword ptr [esp+CD8]
mov dword ptr [esp+58], edx
mov edx, dword ptr [esp+CD0]
mov dword ptr [esp+5C], eax
mov eax, dword ptr [esp+CD4]
mov dword ptr [esp+24], ecx
lea ecx, dword ptr [esp+1C]
mov dword ptr [esp+1C], edx
mov edx, dword ptr [esp+CDC]
mov dword ptr [esp+20], eax
mov eax, dword ptr [esp+CE0]
push ecx
mov ecx, ebx
mov byte ptr [esp+50], 0
mov byte ptr [esp+68], 0
mov dword ptr [esp+2C], edx
mov dword ptr [esp+30], eax
mov byte ptr [esp+34], 0
call 0042BD60
lea edx, dword ptr [esp+38]
push edx
mov ecx, ebx
mov byte ptr [ebx+49B160], al
mov byte ptr [ebx+49B161], ah
call 0042BD60
mov word ptr [ebx+49B162], ax
lea eax, dword ptr [esp+50]
push eax
mov ecx, ebx
call 0042BD60
mov word ptr [ebx+49B164], ax
mov ecx, dword ptr [esp+54AC]
mov dword ptr fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
鍒嗘瀽浠ヤ笂浠g爜鍙互綆€鍗曞緱鍑轟互涓嬬粨璁?br />
1. 浠巆all 004A0BD0 鐨勮皟鐢ㄥ彲浠ョ畝鍗曞垎鏋愬嚭浜屾瀵嗘枃鍙兘涔熸槸鏍囧噯娑堟伅緇撴瀯
2. 閫氳繃瀵規(guī)瘮鏈洿鏂扮増鏈笌鏈€鏂扮増鏈3EF鐨勫彂閫佹儏鍐碉紝鏈洿鏂扮増鏈彂閫?EF鏃訛紝娑堟伅浣撴槸絀猴紝鍛戒護(hù)浣撳叾浠栧弬鏁頒笉涓?錛屽啀緇嗗垎鏋愶紝
鏈洿鏂扮殑鐗堟湰鐨?EF鍏跺疄灝辨槸鍓茶倝鐨勫懡浠?..........
鏈€鏂扮増鏈殑瀹㈡埛绔敹鍒頒簩嬈″瘑鏂囧悗錛岀粡榪囦竴浜涘鐞嗭紝浠?EF涓哄懡浠ゅ彂鍚戞湇鍔″櫒
3. 浠巃dd edi, 10鍙互鐚滄祴錛屼簩嬈″瘑鏂囩殑鍛戒護(hù)浣撳彲鑳芥槸榪鋒儜浜虹敤鐨?br />
4. 浠巆all 0049F770榪欎釜璋冪敤鏂畾 esp+3F8 灝辨槸浜屾瑙e瘑鍚庣殑鏄庢枃
5. 瀵逛簬call 0042C440榪欎釜璋冪敤錛屽彲浠ョ寽嫻嬶紝榪欎釜灝辨槸浜屾瑙e瘑鐨勫嚱鏁?br />
6. 鏈嶅姟鍣ㄥ彂鏉ョ殑瀵嗘枃瀵逛簬鏈瑙e瘑鏄病鏈夊獎(jiǎng)鍝嶇殑錛屽彧鏄瀹冭繘琛屼簡(jiǎn)涓€浜涙搷浣滐紝鐢熸垚浜?涓暟騫惰繘琛屽涓嬩繚瀛?br />
mov byte ptr [ebx+49B160], al
mov byte ptr [ebx+49B161], ah
mov word ptr [ebx+49B162], ax
mov word ptr [ebx+49B164], ax
7. 浜屾瑙e瘑鍑芥暟鏈?涓弬鏁? arg1 = dword ptr [ebx+3CD864] , arg2 = [esp+3F8]
涔熷氨鏄牴鎹甦word ptr [ebx+3CD864]鏉ョ敓鎴愯В瀵嗘槑鏂囷紝騫跺瓨鍏ュ湴鍧€esp+3F8錛屼簬鏄痚bx+3CD864灝辨垚浜?jiǎn)瑙e瘑鐨勫叧閿?br />