Jump to content

µTorrent 2.0 released


Firon

Recommended Posts

  • Replies 659
  • Created
  • Last Reply

Top Posters In This Topic

Why not add one more security-enhancing feature on one of the most exposed to attacks application if it worth you only rebuild? Maybe even rebuild isn't required - it's probably just upx that kills relocations.

In general i don't understand why you still insist on packing uTorrent. Packing saves ridiculous amount of disk space but increase memory consumption, loading time (insignificant for uT) and doesn't go well with ASLR as you see.

Link to comment
Share on other sites

It doesn't really increase memory consumption. The overhead is basically whatever the memory usage of the UPX stub is (which is something stupid small like 40kb).

UPX is probably not disabling ASLR. Applications must specify they should be ASLR-enabled for it to be turned on, and I doubt uTorrent is right now.

Link to comment
Share on other sites

Packing increase memory usage indirectly: windows doesn't need to keep the whole unpacked program in ram as it can fetch the rest any time from disk, but as there is no disk image for packed program you force system to always keep it in memory/page file. The same increase loading time - system can start unpacked program after loading only part of it, but has to load the whole packed one.

To enable ASLR you only need to specify /DYNAMICBASE to the linker and it probably will work just fine until you assume somewhere in code that your loading address is 0x4000000 (unlikely). UPX disables ASLR because unless you specify --strip-relocs=0 it will remove relocations that are requited for ASLR to work.

Packed version of 2.0 already has ASLR-enabling flag set, but due to missing relocations it actually doesn't work.

PS: You can test yourself how packing affects memory usage: make a program with large (~32MB) static const array, reference it in code so optimizing compiler won't throw it away and see how much memory the program consumes in unpacked and packed form.

Link to comment
Share on other sites

@SEtx: I just unpacked it and did a quick and dirty comparison.

Packed Filesize: 312 kB, Memory usage after 10min 242 torrents: 19,8 MB

Unpacked. Filesize: 675 kB, Memory usage after 10min 242 torrents: 18,7 MB

Doesn't seem to differ that that much in practical useage.. What did differ although was quite naturally the speed of launching the application.. packed was about 4-5 seconds slower, while the unpacked launched almost instantly.

For the utorrent webservers the packed version saves about 50% bandwidth usage since it half as large.

But if you insist to use an unpacked version, just unpack it your self. It's easy: just download PE explorer (trial), load utorrent.exe and then save it.

Link to comment
Share on other sites

As i said, difference in memory consumption and loading time should be insignificant for such small exe (mine primary request was ASLR). But if you really want to save webservers bandwidth packing it into self-extracting 7z is probably more efficient.

Link to comment
Share on other sites

As i said, difference in memory consumption and loading time should be insignificant for such small exe (mine primary request was ASLR). But if you really want to save webservers bandwidth packing it into self-extracting 7z is probably more efficient.

The self-extraction code is almost as big as a packed uTorrent exe on its own, that's before you get to including the exe in such a self-extractor.

Link to comment
Share on other sites

Why not just put it in a zip file?

Unpacked = 898 KB

UPX'd = 399 KB

ZIP = 480 KB

Unless bandwidth is that much of a problem for utorrent.com (which I doubt), the extra 81KB shouldn't be a problem.

Also, you can make the default download be the upx one, and only have the uncompressed version as an optional download. There used to be uncompressed builds up on the forums until not too long ago. Why did you stop posting them?

EDIT: Those sizes are for the 2.1 build. Here are the ones for 2.0:

Unpacked = 674 KB

UPX'd = 311 KB

ZIP = 359 KB

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...