»áÔ±£º ÃÜÂ룺 ¡¡Ãâ·Ñ×¢²á | Íü¼ÇÃÜÂë | »áÔ±µÇ¼ ÍøÒ³¹¦ÄÜ£º ¼ÓÈëÊÕ²Ø ÉèΪÊ×Ò³ ÍøÕ¾ËÑË÷  
 °²È«¼¼Êõ¼¼ÊõÎĵµ
  ¡¤ °²È«ÅäÖÆ
  ¡¤ ¹¤¾ß½éÉÜ
  ¡¤ ºÚ¿Í½Ìѧ
  ¡¤ ·À»ðǽ
  ¡¤ Â©¶´·ÖÎö
  ¡¤ ÆƽâרÌâ
  ¡¤ ºÚ¿Í±à³Ì
  ¡¤ ÈëÇÖ¼ì²â
 °²È«¼¼ÊõÂÛ̳
  ¡¤ °²È«ÅäÖÆ
  ¡¤ ¹¤¾ß½éÉÜ
  ¡¤ ·À»ðǽ
  ¡¤ ºÚ¿ÍÈëÇÖ
  ¡¤ Â©¶´¼ì²â
  ¡¤ Æƽⷽ·¨
  ¡¤ É±¶¾×¨Çø
 °²È«¼¼Êõ¹¤¾ßÏÂÔØ
  ¡¤ É¨Ã蹤¾ß
  ¡¤ ¹¥»÷³ÌÐò
  ¡¤ ºóÃÅľÂí
  ¡¤ ¾Ü¾ø·þÎñ
  ¡¤ ¿ÚÁîÆƽâ
  ¡¤ ´úÀí³ÌÐò
  ¡¤ ·À»ðǽ
  ¡¤ ¼ÓÃܽâÃÜ
  ¡¤ ÈëÇÖ¼ì²â
  ¡¤ ¹¥·ÀÑÝʾ
°²È«·ÀÏß > ÆƽâרÌâ
͸ÊÓWin95µÄÃÜÂëµµ
·¢±íÈÕÆÚ£º2003-10-14 00:00:00×÷ÕߣºË ³ö´¦£º  

¡¡¡¡»ù±¾ÉÏÈôÄúµÄµçÄÔÔø¾­ÈñðÈËʹÓùýµÄ»°£¬ÄǺܿÉÄܵģ¬ÄúµÄÃÜÂëÒѾ­±»ËûÈË

Ëù»ñÖªÁË(°üÀ¨ÄúÉÏInternet ÓÃµÄ Username & Password£©£¬Ö»ÒªCopyÄúÔÚWin95

Ŀ¼ÏµÄ.PWLµµ¼´¿É×ÅÊÖ½øÐнâÂ룬ȻááÄúµÄÍø··Ñ¿ÉÄܾÍĪÃûÆäÃîµÄÔö¼ÓÁË¡£

¡¡¡¡ÓÐÈ˾ÍÎÊÁË£º¿ÉÊÇÎÒµÄWin95ÔÚµÇÈëʱÐè¼üÈëÃÜÂë°¡£¬±ðÈëÓÖ²»ÖªµÀÎÒµÄÃÜÂ룡

ÐèÖªµÀÒª»ñµÃ .PWL µµ²¢²»Ò»¶¨·ÇµÃ½øÈëWin95£¬Ö»ÒªÓÃһƬDOS´ÅƬ¿ª»ú or °´F4

¢¢F8 ...

ÔÚÍø·ÉÏÓÐÒ»Ö§³Ìʽ½Ð Glide.EXE£¬´Ë³ÌʽÐû³ÆÄܽâ .PWL µµ£¬µÄÈ·ÊÇÈç´Ë£¬

²»¹ý´Ë³ÌʽÓÐijЩÏÈÌìÉϵÄÏÞÖÆ£¬ÒÔÖÁì¶Ëù½â³öÀ´µÄ¶«¶«¿ÉÄÜÖ»ÓÐһС²¿·Ý¡£ÏàÐÅ

ÓÐЩÈËÒÑÊÔ¹ýÕâÖ§³ÌʽÁË£¬ÉÔááÎÒ»á˵Ã÷ÕâÖ§³ÌʽµÄÔ­ÀíÒÔ¼°ÎªÊ²÷áÔÚ´ó¶àÊýµÄÇé

¿öÖ®ÏÂÖ»Äܽâ³öһС²¿·ÝµÄÔ­Òò¡£ÐÒÔ˵Ļ°Õ⡸һС²¿·Ý¡¹ÒѺ¬ÓеÚÒ»×éÍêÕûµÄ

Username & Password ÁË¡£

¡¡¡¡Win95 ÊDzÉÓà RC4 µÄ±àÂë·½·¨£¬´ËÑÝËã·¨ÊDz»¿ÉÄæµÄ£¬Ò²¾ÍÊÇ˵ÄúÎÞ·¨½«

.PWLµµ½â»ØÔ­À´µÄÑù×Ó£¬³ý·ÇÄúÓÐ Key(»òÓñ©Á¦·¨)¡¤Ð¡µÜÏÈ˵һÏ RC4

´ó¸ÅµÄÁ÷

³Ì£º

ÄãÓµÓÐÒ»¸ö 32 Bit µÄKey & ´ý½âÂëµÄ×ÊÁÏ(¾Í³ÆΪ SData °É)

ÒÔÏÂΪ½âÂë³ÌʽËù×öµÄÊÂÇé:

1.³õʼ»¯Ò»¸öTable, ´ËTableµÄ×ÊÁϽṹΪ

{

 unsigned char Table[256];

 unsigned char char x,y;

}

Ëü»á½«TableÒÀÐòÌîÈë0,1,2,.....FFh, ×îáὫ x,y ÉèΪ 00.

2.½«´Ë256 Bytes µÄ Table ¸ù¾Ý Key ×öһЩSwapµÄ¶¯×÷, Íê³É

Ö®áá, ´ËTable¿´ËƲ»¹æÔòÅÅÁÐÁË.

µ½Ä¿Ç°ÎªÖ¹ËãÊÇ[³õʼ»¯]µÄ¶¯×÷°É.

ÔÙÔÚÊǽâÂëµÄ¶¯×÷:

3.

for(counter=0; counter<SDataµÄ³¤¶È; counter++)

{

 x=(x+1)%256;

 y=(Table[x]+y)%256;

 swap(&Table[x], &Table[y]);

 XOR_Index=(Table[x]+Table[y]) %256;

 SData[counter] ^= Table[Xor_Index];

}

ËùÒÔÔÚ½âÂëÆڼ䲻½öx,yÔÚ±ä,Á¬TableµÄÄÚÈÝÒ²ÔÚ±ä.

****Öصã****

¼ÙÉèSDataµÄ´óСΪ 100 Bytes,

Èç¹ûÎÒÒªÏȽ⿪ 20 Byte, ÔòÁ÷³ÌΪ 1 -> 2 -> 3

ÔÙÀ´ÎÒ»áÅжϴË20¸öByteÊÇ·ñΪÕýÈ·µÄ×ÊÁÏ,if ÕýÈ·µÄ»°ÎÒÔÙ

½â¿ªÊ£Ï嵀 90¸öByte Á÷³ÌΪ 2 -> 3 ,Èô·Ö³É¶àµÄƬ¶ÏµÄ»°,Ôò

ͳ³ÌÓ¦»¹ÊÇÕâÑùµÄ:

1 -> 2 -> 3 ½â×îÇ°ÃæµÄ 20 Byte

2 -> 3 ÔÙ½â 20 Byte

2 -> 3 ÔÙ½â 20 Byte

2 -> 3 ÔÙ½â 20 Byte

2 -> 3 ÔÙ½â 20 Byte

·´ÕýµÚÒ»´Î¾ÍÊÇ´Ó 1 ¿ªÊ¼À²!!! :)

====================================================

PWLµÄ¸ñʽÊÇ(´Ó0208h¿ªÊ¼¿´):

20 byte (Username)

2 byte (µÚÒ»×éÔÚµµ°¸µÄ Offset)----------------+

2 byte (µÚ¶þ×éÔÚµµ°¸µÄ Offset)--------------+ |

....... | |

Tag1:³¤¶È(2 byte),"Á¬Ïßµ½"µÄÃû³Æ,Password <-+-+

³¤¶È(2 byte),"Á¬Ïßµ½"µÄÃû³Æ,Password <-+

====================================================

Win95 ´ó¸ÅµÄÁ÷³ÌÊÇ:

1 -> 2 -> 3 ½âÂëµ½Tag1¼õ1µÄµØ·½(´ËʱUsernameÏÖÐÎÁË)

if(Username<>µÇÈë95ʱµÄUsername)

{

 ²¦ºÅÍø·µÄÃÜÂëÀ¸½«ÊÇ¿ÕµÄ(¼´Ê¹´¢´æÃÜÂëÓдò¹´)

 (Ìøµ½Step1ҲûÓÃ,ÒòΪKey²»¶ÔÂï,ÔÙ½âÏÂÈ¥Ò²ÊDz»¶ÔµÄ.)

}

else{

 Step1: 1 -> 2 -> 3 ´ÓTag1µÄµØ·½¿ªÊ¼½âÂë.

 While(NotEND)

 {

  2 -> 3 ½â2¸öbyte(µÃµ½³¤¶È,¼ÙÉè½â³öáá,µÃµ½ YY)

  2 -> 3 ½âYY¸öByte(µÃµ½"Á¬Ïßµ½"µÄÃû³Æ&Password)

  if(ºÍ"Á¬Ïßµ½"µÄÃû³Æ·ûºÏµÄ»°)

  {

   ½«PasswordÌîÈëÃÜÂëÀ¸;

   Break;

  }

 }

}

Win95µÄÎÊÌâ¾Í³öÔÚ Username Ò»¶¨ÊÇ´óд, ¶øÇÒ²»×ã20¸öByteµÄµØ·½ÒÔ¿Õ°×ÌîÈë,

¸üÔã¸âµÄÊÇPWLµÄµµÃû¾ÍÊÇUsername, »ù춴ËÔ­ÀíÎÒÃÇÒѵÃ֪ǰÃæ20Byteÿ¸öByte

¸÷ÊÇXORʲ÷ᶫ¶«ÁË, ÎÒÃǼÙÉèΪ:

12 4F 33 20 7F F6 D9 3C 63 AA 11 40 32 DE 46 55 77 2C 3A AD

Æäʵ´ÓPWL¿É·ÖÎöµ½¹²Óм¸×éÕʺÅ,ÖÁì¶Ôõ÷á·ÖÎöµÄÄØ? ÎÒÒ²ÍüÁË.·´Õý¿ÉÒÔ¾ÍÊÇÀ²!

So, 0108h+¼¸×é*2= Tag1 .

¹þ,ÎÒÒѾ­ÖªµÀµÚÒ»×éÕʺŴæÔÚÄÇÀïÁË.(0108hÊǹ̶¨µÄ)

¼´È»ÖªµÀµÚÒ»×éµÄλÖÃ,³£È»Ò²¾ÍµÃµ½Á˽ô½ÓÔÚUsername µÄÄÇ 2 ¸öByte,

ÏÖÔÚÎÒÃÇÒÑÓµÓÐÁË 22 ¸öbyteÁËà¸!

Ôõ÷á½âµÚÒ»×éÄØ?

ÒòΪ95ÔÚStep1µÄµØ·½ÓÖÖظ²ÁËÒ»´Î 1 -> 2 -> 3

ËùÒÔÎÒÃÇ¿ÉÖ±½ÓʹÓÃÎÒÃÇÐÒ¿àµÃ

µ½µÄ 22 Byte ´ÓTag1µÄµØ·½½«Ëü¸øXORÏÂÈ¥.

Èç¹û"Á¬Ïßµ½"µÄÃû³Æ+PasswordµÄ³¤¶È

²»»áºÜ³¤µÄ»°----> ÍêÈ«ÏÔ¶ÎÞÒÅ(¿ÉÄÜ»¹Ðã³öÁ˵ڶþ×éµÄÒ»µãµãà¸!)

ÒÔÉϾÍÊÇ Glide.EXE ËùÀûÓõÄÔ­Àí(¸ù±¾²»ÐèÒªKey¾Í½â³öÒ»×é³öÀ´ÁË)

Èç¹ûÄãÒª½«ËùÓеÄÕʺÅ(Hinet'Seednet'³É´ó'¹ãͨ...²»»á°É!ÕʺÅÄÇ÷á¶à,½èÒ»×éÀ´ÓÃ

ÓÿÉÒÔÂð?)È«²¿×¥³öÀ´, ÄǺܱ§Ç¸,Äã±ØÐèÖªµÀ Key.

\__ ÔڳɴóBBSºÍÅ®ÉúTalk¶àÁË,´ò´íÁË.

ÖÁì¶ Key ÊÇÔõ÷áÀ´µÄÄØ?

ÎÒÃÇÔÚ½øÈëWin95ʱ,²»ÊÇ»á³öÏÖÒ»¸öÊäÈëÃÜÂëµÄDialogÂð?

¶ÔÀ²,¾ÍÊÇÀûÓÃÕâÃÜÂë

»»ËãÀ´µÄÀ²!(ûÓеĻ°,±íʾÄãûÉ趨ÃÜÂë, ÄãµÄKey=00000000h)

ÒÔÏÂÊÇWin95½«µÇÈëÃÜÂëתΪKeyµÄ³Ìʽ(×îááµÄeax¾ÍÊÇÄãµÄKeyà¸):

push esi

xor eax,eax

mov si,ÃÜÂ볤¶È+1

cmp si,ax

jz 7fcb19e7

mov edx,offset ÃÜÂë

movzx ecx,byte ptr [edx]

7fcb19d1:

add eax,ecx

inc edx

mov ecx,eax

shl ecx,7

shr eax,19h

or ecx,eax

dec si

mov eax,ecx

jnz 7fcb19d1

7fcb19e7:

pop esi

ret 8

àÅ,×éºÏÓïÑԱȽÏÂÒ, Óà C À´¿´(½á¹ûÒ»Ñù):

unsigned long result = 0L;

for( i = 0; i < passwordLen + 1; i++ )

{

 int tmp = ( int ) ( result >> 25 );

 result += toupper( password[ i ] );

 result = ( result << 7 ) | tmp;

}

¾ÍÊÇһֱתÀ´×ªÈ¥ÔÙ¼ÓÀ´¼ÓÈ¥µÄÀ²!

ËùÒÔÈôÄãÖªµÀijÈ˽øÈëWin95µÄÃÜÂë,ÄÇÄã¾Í¿ÉÒÔËã³ö Key, Ò²¾Í¿ÉÈ¡µÃijÈË

ËùʹÓõÄËùÓÐÕʺÅÁË.Ôõ÷á×öÄØ? à¸, Õâ²»±ØдÈκγÌʽ, Ö»ÒªÓÃSoftICE¾Í

¿ÉÒÔÁË, ËùÓеĶ¯×÷¶¼ÔÚ Mspwl32.dllÖÐ, Éè¸ö¶Ïµã, Ò»´ÎÒ»×é,·½±ãÓÖºÃÓÃ.

Èç¹ûÄãÁ¬´ËÈ˽øÈëWin95µÄÃÜÂ붼²»ÖªµÀµÄ»°, ÄÇÖ»ºÃÓñ©Á¦·¨ÁË.

1.±à¸öÃÜÂë-->ת³ÉKey-->¾­RC4-->ʲ÷á!Ç°20ByteµÄusername²»¶Ô--ÔÙÀ´--+

^\-----------------------------------------------------------+

2.Ö¸¶¨Ò»¸öKey-->¾­RC4-->ʲ÷á!Ç°20ByteµÄusername²»¶Ô--ÔÙÀ´--+

^\----------------------------------------------------+

ÄǸöºÃÓÃ,¾ÍµÃ¿´ÔËÆøÁË. :)

Glide.EXE ºÃÏñÔÚyhq¿ÉÈ¡µÃ, ²»ÖªµÀ.....ÍüÁË????????

×¢:

ÕâЩBugááÀ´Microsoft³öÁËÒ»Ö§ Mspwl32.dll µÄ¸üгÌʽ, Ìý˵¿É½â¾ö´Ë

ÎÊÌâ.ÎÒûÊÔ¹ý,ËùÒÔÎÒÒ²²»ÖªµÀ. Äã¿É¿´¿´ÄãµÄ .PWL µµµÄ×îÇ°Ãæ4¸öByte

ÊÇ·ñΪ b0h,"MFN", ÈôÊǵĻ°, ±íʾÄãÓÐΣÏÕÀ²!!!

¡¾·µ»Ø¶¥²¿¡¿ ¡¾´òÓ¡±¾Ò³¡¿ ¡¾¹Ø±Õ´°¿Ú¡¿

¹ØÓÚÎÒÃÇ / ¸øÎÒÁôÑÔ / °æȨ¾Ù±¨ / Òâ¼û½¨Òé / ÍøÕ¾±à³ÌQQȺ   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net ¼ÓÔØʱ¼ä 0.00176