gfxgfx
 
Please login or register.

Login with username, password and session length
 
gfx gfx
gfx
76793 Posts in 13502 Topics by 1651 Members - Latest Member: Arnold99 November 24, 2024, 09:58:58 am
*
gfx*gfx
gfx
WinMX World :: Forum  |  WinMX Help  |  WinMX Connection Issues  |  WS2_32.DLL Fix
gfx
gfxgfx
 

Author Topic: WS2_32.DLL Fix  (Read 15480 times)

0 Members and 2 Guests are viewing this topic.

SteveUK

  • Guest
WS2_32.DLL Fix
« Reply #60 on: October 25, 2005, 01:33:37 pm »
Why wouldn't you recommend it, it just wraps all of the functions and then makes it jump to the original function, it's even more stable than the hosts file because that caused high CPU usage.

Offline GhostShip

  • Ret. WinMX Special Forces
  • WMW Team
  • *****
WS2_32.DLL Fix
« Reply #61 on: October 25, 2005, 04:30:57 pm »
Quote
Why wouldn't you recommend it, it just wraps all of the functions and then makes it jump to the original function, it's even more stable than the hosts file because that caused high CPU usage.


Thats my point Steve it has not got all the functions as String has removed some of them.

One function that is vital is the pointer address for the rest of the caches, this means folks will need to keep coming back to upgrade since they are now written in stone, and also missing is the flooder blocking facility and list.

Anonymous

  • Guest
WS2_32.DLL Fix
« Reply #62 on: October 25, 2005, 04:34:21 pm »
Quote from: GhostShip
Asm code is not source code String, this just seems to show you hacked up the dll rather that rebuilt it.  :?


Yes it does. I have written that code line by line and if you get a copy of the MASM you can also compile it. I know that many people love to use C o C++ but ASM is faster and i could show you that my .dll is really faster than that by KM.

Quote

I noticed the you had placed the pie team caches first on your list, hardly improving anything for the users as these are the ones overloaded.

Yes. My reference is the Host file as i think it seems to be the most used patch around.

Quote

A great winsock dll source can be found in the last BendMx Src (3.99a3).
Bender spent a little while writing the functions out  :)


I didn't know about it, but after a glance i can say that it's the same of that by KM and it's slower than mine :PPPP

Offline String

  • Core
  • *****
    • winmx.p2pforum.it
Sorry...
« Reply #63 on: October 25, 2005, 04:36:57 pm »
Of course the last post was mine

Offline String

  • Core
  • *****
    • winmx.p2pforum.it
Just one remark
« Reply #64 on: October 25, 2005, 05:03:55 pm »
About the speed, compare the code in the 2 .dlls for a typical function call
ie. GetNameInfoW
 
;----------------------------------------- ws2_32.dll by KM
GetNameInfoW proc near
   mov eax, [esp+arg_18]
   mov ecx, [esp+arg_14]
   mov edx, [esp+arg_10]
   push eax
   mov eax, [esp+4+arg_C]
   push ecx
   mov ecx, [esp+8+arg_C]
   push edx
   mov edx, [esp+0Ch+arg_4]
   push eax
   mov eax, [esp+10h+arg_0]
   push ecx
   push edx
   push eax
   call dowrd ptr _0_76_006D80
   retn 1Ch
GetNameInfoW endp

<;------------------------------------------- String's ws2_32.dll
GetNameInfoW proc near
   jmp off_0_10004950
GetNameInfoW endp

See you what ASM is good for ?

KM

  • Guest
WS2_32.DLL Fix
« Reply #65 on: October 25, 2005, 06:24:42 pm »
even faster still would be a basic dll that only replaced the required function, no overhead on every single function call

however my patch is not designed to simply replace the hostname lookup functions, it also does many other things, which are also much easier to do in C than in ASM :-)

but a basic winsock shim is much easier to write in asm because you don't have to worry about any of the complications, harder to make the basic template file in C but once that is done the more complicated things are easier to handle in C

but the extra overhead of functions written in C over those in ASM is tiny compared to the resource waste, erm, usage of winmx anyway :-)

Offline GhostShip

  • Ret. WinMX Special Forces
  • WMW Team
  • *****
WS2_32.DLL Fix
« Reply #66 on: October 25, 2005, 06:25:39 pm »
String I am more than aware that ASM is great for many things but the goal I was more concerned with was the extra functions that have been removed, in its own right its a great peice of code but for the implementation here its a step backwards.  :?  

I was hoping you where ripping the old mx apart as your one of the few people I know who have the skill to do it  :)

Offline String

  • Core
  • *****
    • winmx.p2pforum.it
Of course
« Reply #67 on: October 26, 2005, 11:18:20 am »
My patch is not intented for to replace the one by KM as i know that it has more functions. About C, yes it's the best choice to accomplish the goal as a C compiler can yield a very clean code compared to the C++ compiler that sometimes place a lot of shit there...

About asm, in this case i was meant to show that i can call a function just with  a jump, say changing the eip register. So i don't think that for a simply proxy dll the code by Bender is better of mine, but i know that the Km's patch is more than that.

About the speed with dll code the main issue is the Rebasing...

So anyone should use KM's patch. (drop the host file !)

WinMX World :: Forum  |  WinMX Help  |  WinMX Connection Issues  |  WS2_32.DLL Fix
 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What program is this site about?:
What year is it next year?:
What's the name of the site this forum belongs to?:

gfxgfx
gfx
©2005-2024 WinMXWorld.com. All Rights Reserved.
SMF 2.0.19 | SMF © 2021, Simple Machines | Terms and Policies
Page created in 0.009 seconds with 23 queries.
Helios Multi © Bloc
gfx
Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!