Photo Sharing feature in Live Messenger: Kill it dead

committed to database on April 18, 2009 at 12:10 am Eastern Standard Time 89 comments digg this

With Wave 3 of Windows Live Messenger, Microsoft introduced a new feature – Photo Sharing. This feature, when an image file is dropped into an active conversation window, starts a sharing activity allowing you to share photos with family and friends. Fun right?

The feature sucks though, because…

  • It’s not clear the person you’re chatting with can see the image.
  • The sender already knows what the image looks like (i.e. why do I want to see again, enlarged on my screen?)
  • The not-downloaded, downloading, and downloaded (gray, semi-gray, and colored respectfully) progress indicator is too subtle for Mom and Dad users.
  • The feature engulfs the entire window, making image-related chat impossible.

With Paul Thurrott and I working on the Windows 7 Secrets book, sending images to each other is a common (yet nightmare) task. To mitigate the issue, we simply turned to Live Mesh (or the occasional zip file) for transfer. Fed up with this solution, I sat down late Friday evening and starting peeling back the layers of Messenger.

No dogs were harmed in the production of this picture.

Using Bryant Zadegan (AeroXperience) as my guinea pig (thanks a lot!), I dragged images into the window, over and over, until I figured out where within Messenger image-detection code is executed (details below). With a simple one-byte change, my hellish nightmare was over. Whoo hoo!

For those interested in the technical details, check out the function at msnmsgr.exe+1FF651. It checks a passed in filename for an extension of .tiff, .tif, .png, .gif, .jpg, and .jpeg, and also makes a call to a function exported by uxcore.dll named ?IsValidImageFile@@YG_NPB_W@Z (which is simply the mangled form of bool __stdcall IsValidImageFile(wchar_t const *)).

… and for those interested in implementing this fix yourself, open msnmsgr.exe with a hex editor (like XVI32), go to offset 16392F, and replace the conditional jump byte 74 with unconditional jump byte EB. If the bytes differ, ensure you’re using the latest (at time of writing) build of Windows Live Messenger (14.0.8064.206).

I contacted the author of popular utility A-Patch and recommended inclusion into their application. I tried to ping the MessPatch folks but they don’t have an obvious way to contact them.

Happy chatting!

 

Update: It has been brought to my attention by reader ‘Cuppa’ that Messenger Plus! supports overriding this behavior too. It’s unclear if it supports files other than JPG (as documented) but if you’re a user -- give it a shot. I’m not a fan of installing software for a quick tweak.

  1. Rob Jackson April 18, 2009 at 12:35 am

    hexahax’d it out. :) Much better.

    Thanks Raf.

  2. Cuppa April 18, 2009 at 1:10 am

    Good work, the Photo Sharing ‘feature’ might well be the worst thing about WLM9 (WLM14? WLM2009?).

    Messenger Plus! Live has offered the ability to disable Photo Sharing as of version 4.81 (released about a month ago), but currently only through a registry key (set HKCU\Software\Patchou\Messenger Plus! Live\email@address.com\Preferences\OverrideImgTransfer to ‘1′ – see http://www.msgplus.net/help/registry/).

  3. Imran Hussain April 18, 2009 at 1:11 am

    Personally, I’ve never had any issues with this new photo sharing feature. I find it much better than the older one. Because
    1. Both participants can share photos at the same time and discuss about them.
    2. It starts loading without the need to accept the transfer.
    3. You don’t have to save the image just to see it.

  4. Mopeto April 18, 2009 at 1:12 am

    Thanks a LOT.
    I was waiting for something like this since using live 9.

  5. WindowsBloatMessenger April 18, 2009 at 1:54 am

    Couldn’t agree more! The feature is very unreliable and blind (doesn’t give any hint of what’s happening to the receipient and the sender!) I tried changing the extension of a JPG to PJG but still the horrible behavior persists. So I had to ZIP it up and then tried to send but then again I can’t send ZIPs because they’re “potentially dangerous” so I had to rename it to PIZ. All for a tiny image. Next time, I’ll upload it to rapidshare. No next time I’ll use your method. You’re a genius, dude! Keep doing the corrections to Microsoft-ware. Similarly, can you hack-enable another irritation in Messenger 2009? You can’t adjust your audio/video/webcam settings while you’re in a call and you cannot initiate your contact’s webcam.

  6. Rafael April 18, 2009 at 1:58 am

    @WindowsBloatMessenger: For video, have you tried Skype? It’s so much better…

  7. Vincent Bethmann April 18, 2009 at 2:50 am

    I personally like it to annoy the guy I am chatting with xD In other words: good “fix”!

  8. Alex April 18, 2009 at 3:15 am

    Cheers Raf, Been Wanting To Get Rid of That Thing For Ages :P

  9. Cuppa April 18, 2009 at 3:16 am

    @Rafael: I just tried copying a PNG file with the Messenger Plus! Live override enabled, and Photo Sharing made an unpleasant appearance. It looks like the MP!L fix is only for JPG files. I’ve now taken advantage of your method, thanks a lot.

  10. Fowl April 18, 2009 at 5:05 am

    It would be a great feature, if it worked…

  11. Tim April 18, 2009 at 5:46 am

    Thanks for the great tip.

    It’s great to know that it’s not just me that gets annoyed by this abysmal ‘feature’. I really don’t understand how any of the messenger guys thought this was a good idea.

    Messenger/Microsoft guys PLEASE let there be an option to turn this thing off… It’s completely stopped me from sending images over messenger.

    Tim

  12. fred April 18, 2009 at 12:04 pm

    Hi,

    I have any isses with this patch .
    CRC error and my messenger version is the last one.
    i tried to edit the exe but the offset 16392F does not exist .
    does anyone have a idea??
    thanks

  13. Rob Jackson April 18, 2009 at 12:34 pm

    @Fred, are you sure your editing the right file? “msnmsgr.exe”, in \Windows Live\Messenger\.
    The offset 16392F is around 40-45% down in the file.

  14. lordtinuviel April 18, 2009 at 2:35 pm

    I run the patch and now I dont have photo sharing but I’m not able to drag and drop pictures

  15. fred April 18, 2009 at 3:42 pm

    @Rob, yes it’s the right file but i’m running a french version of live messenger . maybe it’s a reason????
    i jump of offset 163917 to offset 16394A.

  16. Dan April 18, 2009 at 4:13 pm

    Fred: Not sure what your problem is, 16392F does indeed lie in between those two numbers. I suggest you avoid trying to hex edit if you don’t understand what you are doing. Or at least make a backup of the file first.

  17. Rob Jackson April 18, 2009 at 5:31 pm

    @Fred, check the image linked to below, it shows you what you should change, and what to.

    http://images.milestone-1.co.uk/d7e7282ff933a08d83e26c45f885818f.jpg

  18. Colby April 19, 2009 at 9:33 am

    I’d like to point out if you have A-patch installed it will go to an error as it seems A-patch removes that line. What I did is first use the photo sharing patch, and then reinstalled A-patch and it seems to work. So that may be something you’d want to add. Hopefully this helps anyone having that issue. :)

  19. Koro April 19, 2009 at 11:13 am

    You sir, are my savior.

    I hate that “feature” SO much. That and the nonstandard window captions (but I fixed that one already ;-) and forced usage of ClearType.

  20. joebobfrank April 19, 2009 at 7:11 pm

    AMAZING. Thank you SO much for helping me get rid of the most annoying feature on MSN at the moment.

  21. CookieRevised April 21, 2009 at 9:56 am

    @Cuppa (and Rafael): The feature in Messenger Plus! to override PhotoSharing works in a completely different way. The type of image (JPG or PNG or whatever) does not matter; it works with any type of image data! The difference is that Messenger Plus!, at least for now, will only override PhotoSharing if you _paste_ image data into the chat window, eg: from a screenshot in memory. In other words: it detects what is on the _clipboard_. It does not override PhotoSharing if you drop a file from your harddisk into the conversation, it only works when you _paste_ image data.

    In regards to copy/pasting image data: this is/was actually a not well known feature in Windows Live Messenger since a very very long time; you could make a screenshot for example and paste it directly into a conversation by using CTRL+V. Messenger would automatically make a JPG file out of it and automatically send it. Most people however use a third party graphic editor to make the screenshot, save it to a file and then send that file; but that is really not needed.

    ;-)

  22. ARILDO ZORZANELLI April 21, 2009 at 2:06 pm

    DEPOIS DE TANTAS TENTATIVAS VOCES FORAM OS QUE NAIS ME RECEBERAM BEM E AGRADEÇO POR ISSO. ESPERO ME DIVERTIR MUITO COM OS SEUS EMOTIONS, ENFIM É SÓ.

  23. DanielRemains April 22, 2009 at 10:25 pm

    Thanks Rob Jackson for the picture I was kinda lost in those numbers lol

  24. fat321 April 23, 2009 at 5:18 am

    I have the same problem with fred CDC Erorr. What can I do for this?

  25. fat321 April 23, 2009 at 5:18 am

    Edit: CRC Problem

  26. Malmis April 24, 2009 at 8:42 am

    For Swedish Windows Live Messenger, look at this picture:
    http : // img15. imageshack . us/img15 /9567 /nophotosharingsvmsnmsgr . jpg

  27. Geoff April 26, 2009 at 7:08 pm

    Awesome, glad to have that out of my msn.

    Thanks!

  28. Languages April 27, 2009 at 2:09 pm

    I am running a Japanese version of the program and it still worked like a charm. The executable seems to be the same for several languages.

    Thanks for the awesome tip and I seond the request to include this with Messpatch and A-Patch! :)

  29. Greg April 28, 2009 at 4:41 am

    Thanks a lot – really helpful tip (and thanks for the heads up on xvi32 as well)

  30. Dave Miller May 5, 2009 at 4:45 pm

    Genius! Thank you!

  31. Ben May 12, 2009 at 5:25 am

    Not bad at all! Only works if both users have patched their .exe…

    Suggestion: when this version talks to an older version, it reverts to the old way of sending images… There must be another switch in there somewhere. I wish I was smart enough to do it.

    Nice work!

  32. MTM May 12, 2009 at 8:52 am

    After a few monkey wrenches, the thing works. Words cannot describe how amazing this fix is. Thank you from the bottom of my heart.

  33. Hest May 13, 2009 at 1:52 am

    It’s WORKING.. This is so nice, been looking for something like this for long. Photosharing is the worst thing they ever implemented.

  34. Dennis May 16, 2009 at 3:37 pm

    Hmmz, I changed the 74 to EB at the correct location, but when I run the exe now I get an error: ‘C:\Program Files (x86)\Windows Live\Messneger\msnsgr.exe is not a valid Win32 application.’. All I did was open the exe in XVI32, go to that location, select the 74, type in EB, File -> Save, and that’s it. Anything I did wrong?

  35. MTM May 19, 2009 at 5:11 pm

    Make sure the location is correct. Make sure the version is correct. Failing that, redownload and reinstall MSN messenger and try again. Or backup next time. Someone’s comment had a useful screenshot that helped, I suggest you check it out.

  36. Dennis May 20, 2009 at 7:16 am

    I’m positive about the version and location.

    I have no idea what the conditional to unconditional jump byte part means tho.

    All I did was go to location 16392F and change the value 74 to EB.

  37. Dennis May 20, 2009 at 7:17 am

    Oh, and I did make a backup of course, I’m not that stupid :P

  38. Dennis May 20, 2009 at 9:28 am

    Ok, I just tried again and now it works, although I’m sure I did the exact same thing like the previous 3 times >_<

    Anyways: Thanks for this fix, I was about to go mad cuz of the annoying sharing xD

  39. Chris May 20, 2009 at 6:02 pm

    my version of messenger doesn’t show such numbers ??

    here is a link to what i see…

    http://i298.photobucket.com/albums/mm262/chris_e100/screeny004.jpg

    help ? :(

  40. Chris May 20, 2009 at 6:10 pm

    Ah.. forget it..

    How embaressing.. i didn’t scroll down..

  41. Chris May 20, 2009 at 6:24 pm

    uh.. i cant’ seem to locate 16392F…

    is there a way to “Find” this offset ?

    Sorry to bother..

  42. Chris May 20, 2009 at 6:40 pm

    OK.

    Fixed atlast – for some reason.. when maximised it showed different numbers.. i have no idea what i was doing.. so AGAIN .. sorry for the multiple messages.. but all is fixed !! CHEERS!

  43. Zwaf May 26, 2009 at 6:19 am

    Great solution,
    You were the first to have found how to disable this feature.

    THanks

  44. flashfs May 28, 2009 at 7:47 am

    I hate this feature too. Thanks for the discovery. But the other person has to do it too to this thing work?

  45. tmoney May 28, 2009 at 9:47 am

    I have lost drag and drop also… i have to copy the file and then paste it into the convo :(

  46. iamrobert June 1, 2009 at 7:12 am

    Hi,

    I hate this new feature – its even worse if you are a graphic designer and need to send proofs to clients. The jpg blurriness is horrible, and doesn’t scale. Plus lots of clients don’t even know how to use the new download feature. If you send to your client as a pdf at least now they don’t complain.

    But thanks for the fix…

    Robert

  47. HH June 7, 2009 at 3:17 pm

    If someone has trouble finding 16392F, find 16391F and change the value from 74 to EB. I just tried and it worked.
    Thank you.

  48. flashfs June 15, 2009 at 10:01 pm

    I think I understood. This hack is for when we send the file, not when we receive. But what about tmoney said? Is that true? Drag and drop is lost?

  49. CardinalJo June 16, 2009 at 9:04 am

    Hello,

    When I try to run the patch I’ve got a CRC Error… I’m using WLM v. 14.0.8064.206 is it compatible ?

    Thanks

  50. CardinalJo June 16, 2009 at 9:12 am

    Hummm ignore my last message, I managed to do the fix myself. Very easy to do ! Thx a lot !!

  51. WinMonKey June 16, 2009 at 11:42 pm

    You posted this back in april and I didn’t even know and ive been wanting to do this lol I fail

  52. lost4ever June 18, 2009 at 11:20 pm

    Ok i cant get this to work.

    I did exactly what i was supposed to do.
    16392F is not there.
    I got 16392A as the closest to F.
    When i change the 74 to EB and click save, then i get an error saying:
    Error Writing
    msnmsgr.exe
    Error 32: File sharing

    Am i doing something wrong or what is going on?

    I followed Rob Jacksons picture guide, and im at the exact same location as his picture with the 16392A.

    April 18, 2009 at 5:31 pm

    @Fred, check the image linked to below, it shows you what you should change, and what to.

    http://images.milestone-1.co.uk/d7e7282ff933a08d83e26c45f885818f.jpg

    I hope anyone can help me since i whould love to kill that photo sharing crap :)

  53. lost4ever June 18, 2009 at 11:21 pm

    Error Writing
    msnmsgr.exe
    Error 32: File sharing violation.

    forgot to write violation :)

  54. Private Spearz June 19, 2009 at 3:44 pm

    Unbelievable!!!! You deserve the nobel prize for this!!!
    Thanks a million, amazing :-))))))))

  55. Diarto June 21, 2009 at 4:23 pm

    Thanks a lot men! I truely HATE the new function! This helped a lot.

  56. Eduardo June 22, 2009 at 1:12 pm

    Hi there, I’ve been searching this for a long, long time!

    As of today, with no apparent reason, somehow my msn got the old behaviour, and received 1 .jpg file without the Picture Sharing feature… however.. the dream just flew over when I tried to confirm sending/receiving another photo…

    Since then, I’ve been looking in the web and found your site!! But I could not make it work… saved the file just fine, and even erased the Prefetched .exe file…

    I’m using Windows Seven, and the WLM build 14.0.8064.206.

    The offset I changed was 16392F, but it did not work, Picture Sharing is still there.

    Hope someone can give a help on this subject.. As the new Photo Sharing is horrible, making so hard to see pictures with big resolution, and to review by just going back on the history.

    Thanks!!

  57. Eduardo June 22, 2009 at 1:13 pm

    @lost4ever: You forgot to close msn before trying to edit the executable ;)

  58. Eduardo June 22, 2009 at 1:50 pm

    Oh, I figured out why it did not work… the patched .exe went to the Virtual Folders… so I had to copy it back to the right place…

    Everything works great now!!

    Thank You SO MUCH!!! =D

    I even made a codefusion patch for that, anyone can use if they are having trouble hexediting!
    http://rapidshare.com/files/247466117/WLM-PhotoSharingPatch.rar

    Enjoy!! =D

  59. lcs June 23, 2009 at 3:57 am

    Thank dude. it works nice now.

  60. bass June 24, 2009 at 11:11 am

    thnx alot dude, works great!

  61. Onee June 26, 2009 at 10:35 am

    Hello, i have the same issue as some people up there.

    Simply can not locate none of the 2 mentioned offsets which i could change for msn, any idea how can i help this?

  62. Cooky July 11, 2009 at 7:00 am

    Works Great!

  63. Yannick July 12, 2009 at 3:17 am

    Woah, thanks, this made my day :D

  64. Gustavo July 13, 2009 at 6:04 pm

    with the plus for msn, there is an addon so its as easy as pressing a switch to turn it off

    http://www.msgpluslive.es/scripts/view/529-Photo-Sharing-Disabler/

  65. killua July 27, 2009 at 7:14 am

    somebody knows how to disable when someone send you a picture, because, this works if we (people who make the fix) send the picture, but when we are who recive it, the SharePhoto gets open again… if someone know how please…

  66. Glock July 30, 2009 at 6:52 am

    If someone can make a file for changing this, I would be very thankful.
    I dont know how to use a hex editor, and this problem is making me look to other features like yahoo messenger.. please help…

    I have even written several responsmessages to msn to tell them I really hate this, but it does not seems to work anyways :P
    At least we should have the choise to drag and drop send or share…

    I would be very happy for any help removing this feature.. ( glock @ glock (.) no )

    I have tryed the msn plus feature, and it didnt work..
    I use version 2009 (build 14.0.8064.206)

  67. Wizeon August 17, 2009 at 6:59 am

    I actually got too tired of this feature so I made a MSN bot that would automatically accept all files and upload them to internets via ftp. It was a pretty solution :D

  68. Quppa August 19, 2009 at 9:42 am

    Looks like Ahmed has included this switch in the latest version of A-Patch: http://apatch.org/ (just updated for the latest QFE build)

  69. nothingface0 August 23, 2009 at 8:29 am

    @killua the sender must fix his messenger client too to disable it both ways. :)

    The fix mentioned here is incompatible with the new build (14.0.8089.726), but the A-patch works great! :)

    Thanks!! :D

  70. David August 28, 2009 at 11:54 pm

    For version 14.0.8089.726 you want to go to offset 164118.

    I have a computer with version 14.0.8064.206 so what I did was search for the nearby bytes, i.e. after byte 16392F there are bytes “21 FF 75 FC”. I searched for those in the latest exe and they were indeed after a byte 74 which I changed to EB and was able to get rid of that awful photo sharing.

  71. Maksl5 August 29, 2009 at 2:59 pm

    I have just done this, what david has done
    but in the german version the adress is 164108.

    thanks for you :)

  72. Pete August 30, 2009 at 8:49 am

    Davids method confirmed on latest rev. of WLM.

    Thank god! ….origunal author….and David :)

  73. Leon September 4, 2009 at 5:20 pm

    WORKS!!! PERFECT !!

    i used this picture http://images.milestone-1.co.uk/d7e7282ff933a08d83e26c45f885818f.jpg

    thanks!

  74. Jamie September 9, 2009 at 3:08 pm

    What about WLM 2009 version 14.0.8089.726, localized to Spanish? Above does not work…

  75. Yomster September 16, 2009 at 3:27 am

    Kudos!

  76. Ricardo September 26, 2009 at 6:08 pm

    Works flawlessly.

  77. Allan October 7, 2009 at 7:47 am

    A-Patch has patched the photosharing, so you can select to disable it :D

  78. Neos of MMOwned October 12, 2009 at 5:08 pm

    The new file offset for Build 14.0.8089.726 has changed to -> 0×164118
    function where this naughty little check moved to 0×564C2A
    the conditional jump can be found at 564C2A + EE
    change it into a relative jump as described above and this wonderful patch will work again :)

    i’ve also made a small post about it on my blog http://www.cerb3ruz.com
    Credit’s to this original poster ofc, well done :)

  79. Luca October 13, 2009 at 5:32 pm

    guys i’m italian and i’m sorry for my bad english…

    pls can u post the complete procedure to make this patch working on 14.0.8089.726? pls post it in simple and not technical language so that everybody can solve this problem!

    many thanks guy!!!

    hoping for a quick reply!

  80. Crazy46 October 22, 2009 at 8:48 pm

    People getting shot in the back of the head over a piece of pound cake! ,