×îÐÂÎÄÕÂ
ÈÈÃÅÎÄÕÂ
лª×Öµä´Êµä2009×¢²áÂëÐòÁÐºÅÆÆ 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨1£©¡ª 
ºÚÓ¥VIPÆÆ½âÊÓÆµ½Ì³Ì£¨ºÃ¶«Î÷£© 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨3£©¡ª 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨5£©¡ª 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨6£©¡ª 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨4£©¡ª 
ʹÓÃVC×Ô¼º¶¯ÊÖ±àд¼Ó¿Ç³ÌÐò£¨2£©¡ª 
Ìì²ÝÆÆ½â°àÊÓÆµ½Ì³Ì ³õ¼¶Öм¶¸ß¼¶ 
ASPack 2.001 -> Alexey Solodov 
µ±Ç°Î»ÖãºÀIJ©¿Í >> ºÚ¿ÍѧÌà >> ä¯ÀÀÎÄÕÂ
Ò»¸ö¼òµ¥¶øÓÐÒâ˼µÄÖû»Ëã·¨
¸üÐÂÈÕÆÚ£º2010Äê07ÔÂ18ÈÕ  À´Ô´£º±¾Õ¾Ô­´´  ×÷ÕߣºÌì©¿Í   ·ÃÎÊ´ÎÊý£º´Î  ¡¾×ÖÌ壺´ó ÖРС¡¿
×î½üÔÚÄæÏò·ÖÎöÒ»¸ö³ÌÐòʱ£¬Åöµ½Ò»¸öÖû»Ëã·¨£¬Í¦ÓÐÒâ˼µÄ¡£ÎÒ¾õµÃÒÔºó¿ÉÒÔΪÎÒÃÇËùÓã¬ËùÒԾͰÑËü¼Ç¼ÁËÏÂÀ´¡£±ÈÈçÔÚ¿Í»§¶Ë±¾µØ±£´æÒ»Ð©Êý¾Ý£¬Èç¹û²»ÏëÏÔʾµÄ¸øÓû§¿´µ½ÕâЩÊý¾Ý£¬¾Í¿ÉÒÔÓÃÏÂÃæµÄº¯Êý¼òµ¥µÄÖû»Ò»ÏºóÔÙ±£´æ¡£

 

ÔÚOllyDbgÖУ¬µÃµ½µÄ·´»ã±à´úÂëÈçÏ¡£Ëã·¨´ÓµÚ4ÐпªÊ¼£¬½«ÃÜÔ¿ÒÆÈëEAX£¬µ½×îºóµÄret·µ»Ø½áÊø¡£

 

0040A9D0  /$  8A4C24 04     mov     cl, byte ptr [esp+4]

0040A9D4  |.  56            push    esi

0040A9D5  |.  33F6          xor     esi, esi

0040A9D7  |.  B8 9D2A4100   mov     eax, 00412A9D

0040A9DC  |>  3A48 FF       /cmp     cl, byte ptr [eax-1]

0040A9DF  |.  72 04         |jb      short 0040A9E5

0040A9E1  |.  3A08          |cmp     cl, byte ptr [eax]

0040A9E3  |.  76 19         |jbe     short 0040A9FE

0040A9E5  |>  3A48 01       |cmp     cl, byte ptr [eax+1]

0040A9E8  |.  72 05         |jb      short 0040A9EF

0040A9EA  |.  3A48 02       |cmp     cl, byte ptr [eax+2]

0040A9ED  |.  76 23         |jbe     short 0040AA12

0040A9EF  |>  83C0 04       |add     eax, 4

0040A9F2  |.  46            |inc     esi

0040A9F3  |.  3D BD2A4100   |cmp     eax, 00412ABD         ;  ASCII "etAdaptersInfo"

0040A9F8  |.^ 7C E2         \jl      short 0040A9DC

0040A9FA  |.  8AC1          mov     al, cl

0040A9FC  |.  5E            pop     esi

0040A9FD  |.  C3            retn

0040A9FE  |>  8A04B5 9E2A41>mov     al, byte ptr [esi*4+412A9E]    

0040AA05  |.  8A14B5 9C2A41>mov     dl, byte ptr [esi*4+412A9C]    

0040AA0C  |.  2BC2          sub     eax, edx

0040AA0E  |.  5E            pop     esi

0040AA0F  |.  03C1          add     eax, ecx

0040AA11  |.  C3            retn

0040AA12  |>  8A14B5 9E2A41>mov     dl, byte ptr [esi*4+412A9E]

0040AA19  |.  8A04B5 9C2A41>mov     al, byte ptr [esi*4+412A9C]

0040AA20  |.  2BC2          sub     eax, edx

0040AA22  |.  5E            pop     esi

0040AA23  |.  03C1          add     eax, ecx

0040AA25  \.  C3            retn

 

ÔÚ0x00412A9D¸½½ü´¦µÄÊý¾ÝÈçÏ£º

 

00412A9C  00 13 EC FF 14 27 D8 EB  .?'Øë

00412AA4  28 3B C4 D7 3C 4F B0 C3  (;Ä×<O°Ã

00412AAC  50 63 9C AF 64 77 88 9B  Pcœ¯dwˆ›

00412AB4  78 7B 84 87 7C 7F 80 83  x{„‡|€

00412ABC  47                       G

 

´Ó´úÂëÖпÉÒÔ¿´µ½£¬Êý¾Ýʱ´Ó0x412A9C¿ªÊ¼µÄ£¨ÎÄÖÐÀ¶É«µØ·½±ê×¢£©£¬ÖÁÓÚ½áÊøµØ·½£¬Ò²¿ÉÒÔ´Ó´úÂëÖп´µ½£¨ÎÄÖкìÉ«µØ·½±ê×¢£©¡£EAXÿ´Î¼Ó4£¬µ±´óÓÚµÈÓÚ0x00412ABDºó£¬¾Í²»ÔÚÍù»ØÌø£¬¶øÊÇÍùºó×ß·µ»Ø¡£

 

³ÌÐòÊÇÒÔ×Ö½ÚbyteΪµ¥Î»½øÐÐÖû»£¬ÎÒ²âÊÔÁË0µ½255µÄÊý¾Ý£¬Öû»Ç°ºóûÓÐÖØ¸´µÄÊý¾Ý¡£²âÊԵĽá¹û¼û×îºó¡£

 

Ê×ÏÈ£¬ÎÒÔÚVS2005ÖÐʹÓÃÄÚÁª»ã±àµÄ·½Ê½£¬·ÂÕÕ·´»ã±à´úÂ룬дÁËÒ»¶ÎÄÚÁªµÄ»ã±à´úÂ뺯Êý¡£Æä¹¦ÄܲâÊÔÏÂÀ´£¬Ã»ÓÐÎÊÌâ¡£´úÂëÈçÏ£º

 

//////////////////////////////////////////////////////////////////////////////////////////////////////

//ÄÚÁª»ã±àµÄÖû»º¯Êý

byte __declspec(naked) ExchangeByte(byte byteValue)

{

 

__asm

{

push        ebp

mov                ebp,esp

 

push esi

push ecx

push edx

 

//»ñÈ¡²ÎÊý

mov                cl,byteValue

xor                esi,esi

//»ñÈ¡ÃÜÔ¿±äÁ¿µØÖ·

mov                eax,offset byteData + 1

START:

cmp                cl,byte ptr [eax - 1]

jb                CMP1

cmp                cl,byte ptr [eax]

jbe                GETVALUE_A

CMP1:

cmp                cl,byte ptr [eax+1]

jb                CMP2

cmp                cl,byte ptr [eax+2]

jbe                GETVALUE_B

CMP2:

add                eax,4

inc                esi

cmp                eax,offset byteData + SIZE byteData

jl                START

mov                al,cl

//½áÊø

jmp                END

 

//¿ªÊ¼È¡Öµ£¬A·½Ê½

GETVALUE_A:

mov al,byte ptr [esi * 4 + offset byteData + 2]

mov dl,byte ptr [esi * 4 + offset byteData]

sub eax,edx

add eax,ecx

//½áÊø

jmp                END

 

//¿ªÊ¼È¡Öµ£¬B·½Ê½

GETVALUE_B:

mov dl,byte ptr [esi * 4 + offset byteData + 2]

mov al,byte ptr [esi * 4 + offset byteData]

sub eax,edx

add eax,ecx

//½áÊø

jmp                END

 

END:

pop edx

pop ecx

pop esi

pop ebp

ret

}

}

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////

 

ºóÃæ£¬ÎÒÓÖÓÃC++´úÂëдÁËͬÑùµÄ¹¦ÄÜ£¬C++´úÂëÈçÏÂËùʾ¡£

 

Ò²ÐíÄãÒªÎÊ£¬ÕâÖ»ÓмÓÃÜËã·¨£¬Ã»ÓнâÃÜËã·¨¡£Èç¹ûÄãÓÐÐËȤ£¬¿ÉÒÔÑо¿ÏÂÔõôд¸ö½âÃÜËã·¨¡£²»¹ý¶ÔÓÚÕâÖÖ¼ÓÃÜ·½Ê½£¬ÎÒÏë²¢²»ÐèҪȥд½âÃÜËã·¨¼´¿É½âÃÜ£¬²»ÖªµÀ´ÏÃ÷µÄÄãÏ뵽ûÓÐÄØ£¿

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////

//C++°æµÄÖû»º¯Êý

byte ReplaceMentValue(byte byteNum)

{

 

//byte byteNum = 0x55;

byte byteResult = 0;

int  nIndex = 0;  //Ñ­»·µÄ´ÎÊý

int  nCount = 32; //Êý×éµÄÔªËØ¸öÊý

 

START:

//ÊäÈëÊýÖµ

 

//ºÍ[EAX-1]±È½Ï£¬Èç¹û´óÓÚµÈÓÚ£¬¾ÍºÍ[EAX]±È½Ï¡£

if (byteNum >= byteData[nIndex * 4 + 0])

{

goto CMP1;

}

//СÓھͺÍ[EAX+1]±È½Ï

else

{

goto CMP2;

}

 

CMP1:

//ºÍ[EAX]±È½Ï£¬Èç¹ûСÓÚµÈÓÚ£¬¾Íȡֵ

if (byteNum <= byteData[nIndex * 4 + 1])

{

goto GETVALUE_A;

}

//Èç¹û´óÓÚ£¬¾ÍºÍ[EAX+1]±È½Ï

else

{

goto CMP2;

}

 

CMP2:

//ºÍ[EAX+1]±È½Ï£¬Èç¹ûСÓÚ£¬¾ÍEAX¼Ó4£¬ESI¼Ó1£¬ÔٱȽϷ¶Î§

if (byteNum < byteData[nIndex * 4 + 2])

{

nIndex++;

if (nIndex * 4 < nCount)

{

goto START;

}

else

{

byteResult = byteNum;

goto END;

}

}

//Èç¹û´óÓÚµÈÓÚ£¬¾ÍºÍ[EAX+2]±È½Ï

else

{

goto CMP3;

}

 

CMP3:

//ºÍ[EAX+2]±È½Ï£¬Èç¹ûСÓÚµÈÓÚ£¬¾Íȡֵ£¬Ñ¡B·½°¸

if (byteNum <= byteData[nIndex * 4 + 3])

{

goto GETVALUE_B;

}

//Èç¹û´óÓÚ£¬¾ÍEAX¼Ó4£¬ESI¼Ó1£¬ÔٱȽϷ¶Î§

else

{

nIndex++;

if (nIndex * 4 < nCount)

{

goto START;

}

else

{

byteResult = byteNum;

goto END;

}

}

 

GETVALUE_A:

//µÚAÖÖȡֵ

byteResult = byteData[nIndex * 4 + 2] - byteData[nIndex * 4] + byteNum;

goto END;

GETVALUE_B:

//µÚBÖÖȡֵ

byteResult = byteData[nIndex * 4] - byteData[nIndex * 4 + 2] + byteNum;

goto END;

END:

return byteResult;

}

 

////////////////////////////////////////////////////////////////////////////////////////////////

 

²âÊÔ´úÂ룺

int _tmain(int argc, _TCHAR* argv[])

{

//²âÊÔËùÓÐÊý¾Ý

for (byte i = 0x00; i < 0xFF; i++)

{

printf("0xXÖû»Îª£º0xX\r\n",i,ExchangeByte(i));

}

printf("0xXÖû»Îª£º0xX\r\n",0xFF,ExchangeByte(0xFF));

 

////²âÊÔC++°æ

//for (int j = 0x00; j < 0xFF+1; j++)

//{

//        printf("0xXÖû»Îª£º0xX\r\n",j,ReplaceMentValue(j));

//}

 

return 0;

}

 

////////////////////////////////////////////////////////////////////////////////////////////////

 

²âÊÔ½á¹û£º

 

0x00Öû»Îª£º0xEC

0x01Öû»Îª£º0xED

0x02Öû»Îª£º0xEE

0x03Öû»Îª£º0xEF

0x04Öû»Îª£º0xF0

0x05Öû»Îª£º0xF1

0x06Öû»Îª£º0xF2

0x07Öû»Îª£º0xF3

0x08Öû»Îª£º0xF4

0x09Öû»Îª£º0xF5

0x0AÖû»Îª£º0xF6

0x0BÖû»Îª£º0xF7

0x0CÖû»Îª£º0xF8

0x0DÖû»Îª£º0xF9

0x0EÖû»Îª£º0xFA

0x0FÖû»Îª£º0xFB

0x10Öû»Îª£º0xFC

0x11Öû»Îª£º0xFD

0x12Öû»Îª£º0xFE

0x13Öû»Îª£º0xFF

0x14Öû»Îª£º0xD8

0x15Öû»Îª£º0xD9

0x16Öû»Îª£º0xDA

0x17Öû»Îª£º0xDB

0x18Öû»Îª£º0xDC

0x19Öû»Îª£º0xDD

0x1AÖû»Îª£º0xDE

0x1BÖû»Îª£º0xDF

0x1CÖû»Îª£º0xE0

0x1DÖû»Îª£º0xE1

0x1EÖû»Îª£º0xE2

0x1FÖû»Îª£º0xE3

0x20Öû»Îª£º0xE4

0x21Öû»Îª£º0xE5

0x22Öû»Îª£º0xE6

0x23Öû»Îª£º0xE7

0x24Öû»Îª£º0xE8

0x25Öû»Îª£º0xE9

0x26Öû»Îª£º0xEA

0x27Öû»Îª£º0xEB

0x28Öû»Îª£º0xC4

0x29Öû»Îª£º0xC5

0x2AÖû»Îª£º0xC6

0x2BÖû»Îª£º0xC7

0x2CÖû»Îª£º0xC8

0x2DÖû»Îª£º0xC9

0x2EÖû»Îª£º0xCA

0x2FÖû»Îª£º0xCB

0x30Öû»Îª£º0xCC

0x31Öû»Îª£º0xCD

0x32Öû»Îª£º0xCE

0x33Öû»Îª£º0xCF

0x34Öû»Îª£º0xD0

0x35Öû»Îª£º0xD1

0x36Öû»Îª£º0xD2

0x37Öû»Îª£º0xD3

0x38Öû»Îª£º0xD4

0x39Öû»Îª£º0xD5

0x3AÖû»Îª£º0xD6

0x3BÖû»Îª£º0xD7

0x3CÖû»Îª£º0xB0

0x3DÖû»Îª£º0xB1

0x3EÖû»Îª£º0xB2

0x3FÖû»Îª£º0xB3

0x40Öû»Îª£º0xB4

0x41Öû»Îª£º0xB5

0x42Öû»Îª£º0xB6

0x43Öû»Îª£º0xB7

0x44Öû»Îª£º0xB8

0x45Öû»Îª£º0xB9

0x46Öû»Îª£º0xBA

0x47Öû»Îª£º0xBB

0x48Öû»Îª£º0xBC

0x49Öû»Îª£º0xBD

0x4AÖû»Îª£º0xBE

0x4BÖû»Îª£º0xBF

0x4CÖû»Îª£º0xC0

0x4DÖû»Îª£º0xC1

0x4EÖû»Îª£º0xC2

0x4FÖû»Îª£º0xC3

0x50Öû»Îª£º0x9C

0x51Öû»Îª£º0x9D

0x52Öû»Îª£º0x9E

0x53Öû»Îª£º0x9F

0x54Öû»Îª£º0xA0

0x55Öû»Îª£º0xA1

0x56Öû»Îª£º0xA2

0x57Öû»Îª£º0xA3

0x58Öû»Îª£º0xA4

0x59Öû»Îª£º0xA5

0x5AÖû»Îª£º0xA6

0x5BÖû»Îª£º0xA7

0x5CÖû»Îª£º0xA8

0x5DÖû»Îª£º0xA9

0x5EÖû»Îª£º0xAA

0x5FÖû»Îª£º0xAB

0x60Öû»Îª£º0xAC

0x61Öû»Îª£º0xAD

0x62Öû»Îª£º0xAE

0x63Öû»Îª£º0xAF

0x64Öû»Îª£º0x88

0x65Öû»Îª£º0x89

0x66Öû»Îª£º0x8A

0x67Öû»Îª£º0x8B

0x68Öû»Îª£º0x8C

0x69Öû»Îª£º0x8D

0x6AÖû»Îª£º0x8E

0x6BÖû»Îª£º0x8F

0x6CÖû»Îª£º0x90

0x6DÖû»Îª£º0x91

0x6EÖû»Îª£º0x92

0x6FÖû»Îª£º0x93

0x70Öû»Îª£º0x94

0x71Öû»Îª£º0x95

0x72Öû»Îª£º0x96

0x73Öû»Îª£º0x97

0x74Öû»Îª£º0x98

0x75Öû»Îª£º0x99

0x76Öû»Îª£º0x9A

0x77Öû»Îª£º0x9B

0x78Öû»Îª£º0x84

0x79Öû»Îª£º0x85

0x7AÖû»Îª£º0x86

0x7BÖû»Îª£º0x87

0x7CÖû»Îª£º0x80

0x7DÖû»Îª£º0x81

0x7EÖû»Îª£º0x82

0x7FÖû»Îª£º0x83

0x80Öû»Îª£º0x7C

0x81Öû»Îª£º0x7D

0x82Öû»Îª£º0x7E

0x83Öû»Îª£º0x7F

0x84Öû»Îª£º0x78

0x85Öû»Îª£º0x79

0x86Öû»Îª£º0x7A

0x87Öû»Îª£º0x7B

0x88Öû»Îª£º0x64

0x89Öû»Îª£º0x65

0x8AÖû»Îª£º0x66

0x8BÖû»Îª£º0x67

0x8CÖû»Îª£º0x68

0x8DÖû»Îª£º0x69

0x8EÖû»Îª£º0x6A

0x8FÖû»Îª£º0x6B

0x90Öû»Îª£º0x6C

0x91Öû»Îª£º0x6D

0x92Öû»Îª£º0x6E

0x93Öû»Îª£º0x6F

0x94Öû»Îª£º0x70

0x95Öû»Îª£º0x71

0x96Öû»Îª£º0x72

0x97Öû»Îª£º0x73

0x98Öû»Îª£º0x74

0x99Öû»Îª£º0x75

0x9AÖû»Îª£º0x76

0x9BÖû»Îª£º0x77

0x9CÖû»Îª£º0x50

0x9DÖû»Îª£º0x51

0x9EÖû»Îª£º0x52

0x9FÖû»Îª£º0x53

0xA0Öû»Îª£º0x54

0xA1Öû»Îª£º0x55

0xA2Öû»Îª£º0x56

0xA3Öû»Îª£º0x57

0xA4Öû»Îª£º0x58

0xA5Öû»Îª£º0x59

0xA6Öû»Îª£º0x5A

0xA7Öû»Îª£º0x5B

0xA8Öû»Îª£º0x5C

0xA9Öû»Îª£º0x5D

0xAAÖû»Îª£º0x5E

0xABÖû»Îª£º0x5F

0xACÖû»Îª£º0x60

0xADÖû»Îª£º0x61

0xAEÖû»Îª£º0x62

0xAFÖû»Îª£º0x63

0xB0Öû»Îª£º0x3C

0xB1Öû»Îª£º0x3D

0xB2Öû»Îª£º0x3E

0xB3Öû»Îª£º0x3F

0xB4Öû»Îª£º0x40

0xB5Öû»Îª£º0x41

0xB6Öû»Îª£º0x42

0xB7Öû»Îª£º0x43

0xB8Öû»Îª£º0x44

0xB9Öû»Îª£º0x45

0xBAÖû»Îª£º0x46

0xBBÖû»Îª£º0x47

0xBCÖû»Îª£º0x48

0xBDÖû»Îª£º0x49

0xBEÖû»Îª£º0x4A

0xBFÖû»Îª£º0x4B

0xC0Öû»Îª£º0x4C

0xC1Öû»Îª£º0x4D

0xC2Öû»Îª£º0x4E

0xC3Öû»Îª£º0x4F

0xC4Öû»Îª£º0x28

0xC5Öû»Îª£º0x29

0xC6Öû»Îª£º0x2A

0xC7Öû»Îª£º0x2B

0xC8Öû»Îª£º0x2C

0xC9Öû»Îª£º0x2D

0xCAÖû»Îª£º0x2E

0xCBÖû»Îª£º0x2F

0xCCÖû»Îª£º0x30

0xCDÖû»Îª£º0x31

0xCEÖû»Îª£º0x32

0xCFÖû»Îª£º0x33

0xD0Öû»Îª£º0x34

0xD1Öû»Îª£º0x35

0xD2Öû»Îª£º0x36

0xD3Öû»Îª£º0x37

0xD4Öû»Îª£º0x38

0xD5Öû»Îª£º0x39

0xD6Öû»Îª£º0x3A

0xD7Öû»Îª£º0x3B

0xD8Öû»Îª£º0x14

0xD9Öû»Îª£º0x15

0xDAÖû»Îª£º0x16

0xDBÖû»Îª£º0x17

0xDCÖû»Îª£º0x18

0xDDÖû»Îª£º0x19

0xDEÖû»Îª£º0x1A

0xDFÖû»Îª£º0x1B

0xE0Öû»Îª£º0x1C

0xE1Öû»Îª£º0x1D

0xE2Öû»Îª£º0x1E

0xE3Öû»Îª£º0x1F

0xE4Öû»Îª£º0x20

0xE5Öû»Îª£º0x21

0xE6Öû»Îª£º0x22

0xE7Öû»Îª£º0x23

0xE8Öû»Îª£º0x24

0xE9Öû»Îª£º0x25

0xEAÖû»Îª£º0x26

0xEBÖû»Îª£º0x27

0xECÖû»Îª£º0x00

0xEDÖû»Îª£º0x01

0xEEÖû»Îª£º0x02

0xEFÖû»Îª£º0x03

0xF0Öû»Îª£º0x04

0xF1Öû»Îª£º0x05

0xF2Öû»Îª£º0x06

0xF3Öû»Îª£º0x07

0xF4Öû»Îª£º0x08

0xF5Öû»Îª£º0x09

0xF6Öû»Îª£º0x0A

0xF7Öû»Îª£º0x0B

0xF8Öû»Îª£º0x0C

0xF9Öû»Îª£º0x0D

0xFAÖû»Îª£º0x0E

0xFBÖû»Îª£º0x0F

0xFCÖû»Îª£º0x10

0xFDÖû»Îª£º0x11

0xFEÖû»Îª£º0x12

0xFFÖû»Îª£º0x13

¡¾·¢±íÆÀÂÛ¡¿¡¾¸æËߺÃÓÑ¡¿¡¾´òÓ¡´ËÎÄ¡¿¡¾ÊղشËÎÄ¡¿¡¾¹Ø±Õ´°¿Ú¡¿
ÉÏһƪ:[Begin09PE]µÚ26¿Î ´òÔì×Ô¼ºµÄ¸üмì²â¹¦ÄÜ£¨Ï£©£¨¿Î³ÌÍê½á£© ÏÂһƪ:ÄæÏò·ÖÎöµÃµ½µÄÒ»ÖÖ±£»¤accessÊý¾Ý¿âµÄ·½·¨

Copyright 2006-2012 Powered by LiLu.NAME£¬ÀIJ©¿Í All Rights Reserved.
E-Mail:lilu.name#gamil.com£¨×¢ÒâÊÇgmail£¬×Ô¼º¸Ä£© QQ£º285252760
ËÕICP±¸08016526ºÅ