; ChangeLog ; 2004-01-15 add /q ; 2004-04-25 for all version support ; try 3 times if MSN open ; 2004-08-14 change /q to /s (silent), no run ; 2004-10-06 7.0.0205 beta support ; 2004-10-20 7.0.0225 beta support ; 2004-10-21 add /i for repack install, like /s but run msn finally ; 2004-10-29 7.0.0332 beta support, msnmsgr.exe size=6,209,536 ; 2004-10-30 add No-Add-Contact, No-MSN-Today ; 2004-11-10 add "Some patch fail (?/n patched)" info ; 2004-11-17 7.0.0445 Beta release, no aditional change ; 2004-12-06 add no text ad bar ; 2004-12-13 icon add noad text ; 2005-02-14 7.0.0604 private beta released, adjust #Range=524288 (old 262144) ; 2005-04-08 7.0.0777 released, remove MSN7 beta support ; 2005-07-01 7.0.0816 released, add msnmsgr.exe check ; No File Transfer Protection ; 2005-07-08 rename to msnpp (MSN Messenger Pure Patch) ; 2005-07-26 7.5.0160, 7.5.0162 support ; 2005-08-03 7.5.0244 support, No-Ad-3 ; 2005-09-05 Add remove Get a WebCam link, Build 7.5.0303 ; 2005-10-31 modify current directory msnmsgr.exe first ; Remove Nudge Delays (Allows you to spam nudges), support from 7.5.0299 ; 2005-11-24 8.0.0363 support ; 2005-12-09 8.0.0365 released ; 2005-12-18 7.5.0322 released (CHT version released in 2006-01-19 ; 2006-01-22 8.x Remove the search button ; 8.x Remove what's hot section ; 2006-02-05 7.x Remove the search button ; 2006-02-13 8.0.0562 support ; 2006-03-04 8.0.0566 support, remove 8.0.0290~8.0.0562 support ; 2006-04-23 8.0.0683 support ; 2006-06-20 Live Messenger final, 8.0.0787 support, remove old 8.x beta support ; 2006-06-22 8.0.0792 support, new: remove share folder ad (bottom text ad) ; 2006-08-09 8.0.0812 support, polygamy shift to 0xb236c ; 2006-11-07 8.1.0106 support ; 2006-12-14 8.1.0168 support ; 2007-02-02 8.1.0178 support, fix polygamy not work in this version ; 2007-09-06 8.5.1288 support ; 2007-09-27 regain "Shared folders" when patched ; 2007-11-06 8.5.1302 support ; ; msnmsgr.exe size msgsres.dll size msidcrl40.dll size ; 7.0.0332 6209536 ; 7.0.0425 6213632 ; 7.0.0604 6729728 ; 7.0.0632 6729728 ; 7.0.0732 6807552 ; 7.0.0777 6815744 ; 7.0.0813 6856704 ; 7.0.0816 6856704 ; 7.5.0162 7057408 ; 7.5.0244 7077888 ; 7.5.0299 7081984 ; 7.5.0303 7083056 ; 7.5.0306 7081984 ; 7.5.0311 7086080 ; 7.5.0319 7095344 ; 7.5.0322 7094272 ; 7.5.0324 7094272 ; 8.0.0290 7557120 ; 8.0.0328 7651328 ; 8.0.0363 7490248 ; 8.0.0365 7490248 ; 8.0.0562 5323464 ; 8.0.0566 4877000 2546376 ; 8.0.0683 5270312 2255656 ; 8.0.0689 5278504 2284328 ; 8.0.0787 5278504 2284328 ; 8.0.0792 5324584 2274088 ; 8.0.0812 5354792 2274088 ; 8.1.0106 5646632 2342184 ; 8.1.0168 5647656 2346280 ; 8.1.0178 5674352 2353520 ; 8.5.1235 5729136 2497904 ; 8.5.1288 5728112 2491760 810320 ; 8.5.1302 5724184 2491416 810320 final #Title="MSN/Windows Live Messenger Pure Patch (Build 8.5.1302)" #BlockNum=10 #Range=524288 ; 0x80000 Global Par.s Procedure.b HexStr2Byte(HexString.s) HexString=UCase(HexString) Nibble1=Asc(Left(HexString,1))-48 Nibble2=Asc(Right(HexString,1))-48 If Nibble1 > 9 ; A-F Nibble1=Nibble1-7 EndIf If Nibble2 > 9 ; A-F Nibble2=Nibble2-7 EndIf b.b= Nibble1*16+Nibble2 If b > 127 b=b-256 EndIf ProcedureReturn b EndProcedure ; filename, find string, edit string, start position, end position, mode ; mode=0 multi-patch ; mode=1 only 1 patch Procedure Patch(File.s, Find.s, Edit.s, StartPos, EndPos, Mode) Dim Findb.b(256) r=0 If Par.s="/debug" Print("Find "):PrintN(Find) Print("Edit "):PrintN(Edit) PrintN("") EndIf Length=Len(Find)/2 For i=1 To Length Pos=i*2-1 Findb(i)=HexStr2Byte(Mid(Find,Pos,2)) Next i OpenFile(0, File) If EndPos=0 EndPos=Lof(0)-Length EndIf OneTen=Int((EndPos-StartPos)/#BlockNum) Range=EndPos-StartPos For i=StartPos To EndPos If Par="" Shift=i-StartPos If Shift=OneTen*(Int(Shift/OneTen)) SetGadgetState(2, Int(#BlockNum*Shift/Range)+1) EndIf EndIf FileSeek(0,i) b.b=ReadByte(0) If b=Findb(1) For j=2 To Length b=ReadByte(0) If b<>Findb(j) ; exit for FileSeek(0,i+1) Goto Skip EndIf Next j If j>=Length ;FileSeek(0,i) r=i ; return position For j=1 To Length FileSeek(0,i+j-1) ; workaround, purebasic bug, 2006-7-4 Pos=j*2-1 If Mid(Edit,Pos,2)="--" Or Mid(Edit,Pos,2)=" " ReadByte(0) Else WriteByte(0,HexStr2Byte(Mid(Edit,Pos,2))) EndIf Next j If Mode=1 CloseFile(0) ProcedureReturn r EndIf i=i+Length-1 FileSeek(0,i+Length) EndIf EndIf Skip: Next i CloseFile(0) ProcedureReturn r EndProcedure Par=LCase(ProgramParameter()) If Par="/debug" OpenConsole() EndIf If Par="/?" Or Par="/h" MessageRequester(#Title,"/s silent install",#PB_MessageRequester_Ok) End EndIf msnexe.s="msnmsgr.exe" If FileSize(msnexe.s)<0 msnexe=Reg_GetValue(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\MSNMessenger", "InstallationDirectory", "")+Reg_GetValue(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows Live\Messenger", "InstallationDirectory", "")+"msnmsgr.exe" If FileSize(msnexe.s)<0 msnexe=GetEnvironmentVariable("ProgramFiles")+"\Windows Live\Messenger\msnmsgr.exe" EndIf EndIf resdll.s=ReplaceString(msnexe, "msnmsgr.exe", "msgsres.dll",1) msidll.s=ReplaceString(msnexe, "msnmsgr.exe", "msidcrl40.dll",1) Debug msnexe Debug resdll RunProgram("taskkill","/f /IM msnmsgr.exe /T","",#PB_Program_Wait|#PB_Program_Hide) ;If FindKillProcess("msnmsgr.exe") While OpenFile(0, msnexe)=0 ; wait until file can be open For i=1 To 10000000: Next Wend CloseFile(0) ;EndIf If FileSize(msnexe)<0 MessageRequester(#Title,"MsnMsgr.exe not found",#PB_MessageRequester_Ok) End EndIf CopyFile(msnexe, msnexe+".bak") If Par="" OpenWindow(0,0,0,330,70,#Title,#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) TextGadget(1, 20, 10, 210, 20, "Patching MSN/Windows Live Messenger") ProgressBarGadget(2, 10, 30, 310, 20, 0,10, #PB_ProgressBar_Smooth) EndIf If FileSize(resdll)>0 ; remove share folder icon in my computer Reg_SetValue(#HKEY_CLASSES_ROOT, "CLSID\{FC9FB64A-1EB2-4CCF-AF5E-1A497A9B5C2D}\ShellFolder", "Attributes", "4031774720", #REG_DWORD,"") msn8=1 CopyFile(resdll, resdll+".bak") ; Multi-Open (polygamy) ; 8.0.0787 0xebf00 ; 8.0.0792 0xea3ac 1st ; 8.0.0812 0xb236c 1st ; 8.1.0168 0xb50db ; 8.1.0178 0x1430ef 1st ; 8.5.1235 0x126e68 1st ; 8.5.1288 0x102328 1st ; 8.5.1302 0x8cf08 1st Find.s="B70000000F84" Edit.s="B6----------" If FileSize(msnexe)=5674352 ; 8.1.0178 SearchStart=$126E00 Else SearchStart=$8C000 EndIf r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 mo8=1 Else MessageRequester(#Title,"Already patched",#PB_MessageRequester_Ok) End EndIf Debug mo8 ; remove Nudge Delays (Allows you to spam nudges), modify 1st ; version>=8.0.0562 ; 8.0.0787 0x1e75bd ; 8.0.0792 0x1e78d9 ; 8.1.0168 0x1d73be ; 8.1.0178 0x21ac5e ; 8.5.1235 0x21e31b ; 8.5.1288 0x21e073 ; 8.5.1302 0x21d15f If FileSize(msnexe)>5724000 ; 8.5.x Find.s="8B86E00200002B" SearchStart=$210000 Else Find.s="8B86DC0200002B" SearchStart=$1D7000 EndIf Edit.s="33C040909090--" r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 nnd8=1 EndIf Debug nnd8 ; No-Text Ad bar (at bottom of typing text area) ; 8.0.0787 0x17e862 ; 8.0.0792 0x17e862 ; 8.1.0168 0x191929 ; 8.1.0178 0x192909 1st Find="69643D61746F6D28616462616E6E657267" Edit="----------------------------------" SearchStart=$17E762 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="626F74746F6D" Edit="6E6f6E652020" SearchStart=r-40 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 nta8=1 EndIf EndIf Debug nta8 ; No Share Folder Ad (bottom text ad) ; 8.0.0792 0x1cd503 ; 1st support ai329 ; 8.0.0812 0x1cd503 1st ai329 ; 8.1.0168 0x1e7398 1st ai516 ; 8.1.0178 0x1e8378 1st ai516 If FileSize(resdll)<=2274088 Find="6169333239" Else Find="6169353136" EndIf Edit="----------" SearchStart=$1CD403 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="626F74746F6D" Edit="6E6f6E652020" SearchStart=r-40 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 nsfa8=1 EndIf EndIf Debug nsfa8 ; Remove the search button ; Search searchbtnbk ; 8.0.0787 0x181efb ; 8.0.0792 0x181efb ; 8.1.0168 0x194dd3 ; 8.1.0178 0x195db3 ; Find k" layout=Filllayout() ; Edit pos=none pank (mark) Find="73656172636862746E626B" Edit="----------------------" SearchStart=$181DFB r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="6C61796F75743D46696C6C6C61796F75742829" Edit="6C61796F7574706F733D6E6F6E652020202020" ;Edit="6C61796F7574706F733D6E6F6E652070616E6B" ; pank mark can not apply to 8.0.0707 SearchStart=r r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 nsb8=1 EndIf EndIf Debug nsb8 ; No-Ad ; 8.0.0787 0x197299 1st ; 8.0.0792 0x197299 1st ; 8.1.0168 0x1aa605 1st ; 8.1.0178 0x1ab5e5 1st ; Find SlideShowWithAd, back 128 ; Find bottom ; Edit none Find="536C69646553686F77576974684164" Edit="------------------------------" SearchStart=$197199 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="626F74746F6D" Edit="6E6f6E652020" SearchStart=r-128 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na8=1 EndIf EndIf Debug na8 ; No-Search ; Find: 6964536561726368436F6E7461696E6572 (idSearchContainer) ; =filllayout() -> pos=none or back 46, layoutpos=bottom -> layoutpos=none ; 8.0.0787 0x197ec3 1st ; 8.0.0792 0x197ec3 1st ; 8.1.0168 0x1ab2c9 1st ; 8.1.0178 0x1ac2a9 1st Find="6964536561726368436F6E7461696E6572" Edit="----------------------------------" SearchStart=$197DC3 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="626F74746F6D20" ; bottom Edit="6E6f6E65202020" ; none SearchStart=r-210 r=Patch(resdll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 ns8=1 EndIf EndIf Debug ns8 ; regain "Shared folders" when patched ; 8.0.0812 0x79271 ; 8.1.0178 0x77cdf ; 8.5.1288 0x77ce2 ; 8.5.1302 0x77cdf Find="f4ffff7d26" Edit="------eb--" SearchStart=$77C00 r=Patch(msidll, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 sf8=1 EndIf Debug sf8 For i=0 To 10 id.s=Reg_ListSubKey (#HKEY_CURRENT_USER, "Software\Microsoft\MSNMessenger\PerPassportSettings", i, "") If Len(id)>0 Reg_SetValue(#HKEY_CURRENT_USER, "Software\Microsoft\MSNMessenger\PerPassportSettings\"+id, "DisableTabs", "1", #REG_DWORD,"") Reg_SetValue(#HKEY_CURRENT_USER, "Software\Microsoft\MSNMessenger\PerPassportSettings\"+id, "DangerousFT", "1", #REG_DWORD,"") Else Break EndIf Next patch8=mo8+nnd8+nta8+nsfa8+nsb8+na8+ns8 Debug patch8 Else If FileSize(msnexe)>5000000 ; 7.x ; Multi-Open Find.s="0F85B50100006A" Edit.s="90E9----------" ; 0x1406b5 7.0.0777 SearchStart=$140000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 mo7=1 Else MessageRequester(#Title,"Already patched",#PB_MessageRequester_Ok) End EndIf Debug mo7 ; No-Add-Contact (Bottom +Add Contact link) ; idAddContact, search 1st one Find="6964416464436F6E74616374" Edit="------------------------" ; 0x5c890a 7.0.0777 SearchStart=$5C8000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 r=r+30 OpenFile(0, msnexe) ; old r+20 For i=r To r+50 FileSeek(0,i) ; seek layoutpo"s" If ReadByte(0)=$73 FileSeek(0,i+2) ; bottom; -> none;__ WriteString(0,"none; ") nac7=1 Break EndIf Next CloseFile(0) EndIf Debug nac7 ; No MSN Today ; msntodaybtn ;Find="6D736E746F64617962746E29" ;Edit="------------------------" Find="6D736E746F64617962746E29" ; pank mark Edit="70616E6B2920202020202020" ; 0x5cd34b 7.0.0777 ; 0x5D7343 7.0.0816 SearchStart=$5CD000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 nm7=1 OpenFile(0, msnexe) FileSeek(0,r+6) WriteString(0,"layoutpos=none"+Space(38)) CloseFile(0) EndIf Debug nm7 ; No-Search, idSearchContainer ; search 1st idSearchContainer Find="6964536561726368436F6E7461696E6572" Edit="----------------------------------" ; 0x5c7657 7.0.0777 SearchStart=$5C7000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) r=r+30 OpenFile(0, msnexe) For i=r To r+20 FileSeek(0,i) ; seek layoutpo(s): If ReadByte(0)=$73 ;s FileSeek(0,i+2) ; top -> none; 0d 0a ; 7.5 bottom -> none; If ReadByte(0)=$62 ; b FileSeek(0,i+2) WriteString(0,"none; ") ; 75=7.5 ver=75 Else FileSeek(0,i+3) ; workaround, PB 4.0 bug? WriteString(0,"none;") WriteByte(0,$0D) WriteByte(0,$0A) EndIf ns7=1 Break EndIf Next CloseFile(0) Debug ns7 ; No-Ad ; research 2nd idSearchContainer, follow by No-Search SearchStart=r r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 r=r-100 OpenFile(0, msnexe) ; old r+20 For i=r To r+50 FileSeek(0,i) ; seek layoutpo(s): If ReadByte(0)=$73 FileSeek(0,i+2) ; 0x5cef59 7.0.0777 ; bottom -> none__ WriteString(0,"none "); na7=1 Break EndIf Next CloseFile(0) EndIf Debug na7 ; No-Ad-2 ; Find top layout=verticalflowlayout(0,2,2,2) ; Edit none ;If na7=0 Find="746F70206C61796F75743D766572746963616C666C6F776C61796F757428302C322C322C3229" Edit="6E6F6E6520202020202020202020202020202020202020202020202020202020202020202020" ; 7.0.0777 0x5cfbf4 ; 7.0.0813 0x5d9bf4 ; 7.0.0816 0x5d9bf4 ; 7.5.0162 0x622867 ; 7.5.0244 0x627a9e SearchStart=$5CFBF0 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na7=1 na72=1 EndIf ; No-Ad-3 ; Find adbannercontainer) layout=filllayout() ; Edit pos=none Find="616462616E6E6572636F6E7461696E657229206C61796F75743D66696C6C6C61796F75742829" Edit="--------------------------------------------------706F733D6E6F6E652020202020" ; 7.0.0777 0x5cfc68 ; 7.0.0813 0x5d9c68 ; 7.0.0816 0x5d9c68 ; 7.0.0162 0x62291a ; 7.0.0244 0x627b51 SearchStart=$5CFC60 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na7=1 na73=1 EndIf Debug na72 Debug na73 ; No-Tab ; tabmanager, back 270, +20, search "s", +2, write none Find="7461626D616E61676572" Edit="--------------------" ; 0x5d0454 7.0.0777 SearchStart=$5D0000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 Find="6C656674" Edit="6E6F6E65" If ver<75 SearchStart=r-270 Else SearchStart=r-150 EndIf r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 nt7=1 EndIf EndIf Debug nt7 ; No-Text Ad bar (at bottom of typing text area) Find="742981B8" Edit="EB------" ; 0x16ab9a 7.0.0777 SearchStart=$16A000 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 nta7=1 EndIf Debug nta7 ; No File Transfer Protection (not check) ;7.5.0244 0x184868 and 0x1AEAC2 ;7.5.0306 0x184DB8 and 0x1AEF75 Find="7C538B45" Edit="EB------" SearchStart=$184800 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range*2, 1) Find="745D538D" Edit="EB------" SearchStart=$1AEA00 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range*2, 1) ; Messenger -> Messenger! (not check) ;7.0.0777 0x5d07af ;7.0.0813 0x5da7af ;7.0.0816 0x5da7af ;7.5.0306 0x6261e0 Find="4D657373656E676572222066" Edit="22202020202020202020----" SearchStart=$5D0700 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) ; remove Get a WebCam link ;7.5.0299 0x615d6e ;7.5.0303 0x615cd9 ;7.5.0306 0x615cd9 Find="69643D61746F6D284765" Edit="20202020202020202020" SearchStart=$615C00 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 OpenFile(0, msnexe) FileSeek(0,r+10) WriteString(0,Space(13)) CloseFile(0) EndIf ; remove Nudge Delays (Allows you to spam nudges), modify 1st, since 7.5.0299 ; 7.0.0816 0xff5b5 ; 7.5.0299 0x106CD5 ; 7.5.0306 0x106EAC ; 7.5.0311 0x1070E5 If ver=75 Find="8B86D0020000" Else Find="8B86A8020000" EndIf Edit="33C040909090" SearchStart=$FF5B5 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>1 nnd7=1 EndIf Debug nnd7 If ver=75 ; remove search button 1/2 ; 7.5.0324 0x610BBC ; Find 0,912 ; Edit 0,780 Find="302C393132" Edit="----373830" SearchStart=$610B00 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) Debug r EndIf ; remove search button 2/2 ; 7.0x only need 2/2 ; 7.0.0816 0x5bd8b9 ; 7.5.0324 0x617751 ; Find k" layout=borderlayout()> ; Edit pos=none If ver=75 SearchStart=$617651 Else SearchStart=$5BD7B9 EndIf Find="6B22206C61796F75743D626F726465726C61796F757428293E" Edit="------------------706F733d6e6f6e6520202020202020--" r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) Debug r ; Set DisableTabs=1 in registry For i=0 To 10 id.s=Reg_ListSubKey (#HKEY_CURRENT_USER, "Software\Microsoft\MSNMessenger\PerPassportSettings", i, "") If Len(id)>0 Reg_SetValue(#HKEY_CURRENT_USER, "Software\Microsoft\MSNMessenger\PerPassportSettings\"+id, "DisableTabs", "1", #REG_DWORD,"") Else Break EndIf Next patch7=nac7+mo7+nm7+ns7+na7+nt7+nta7+nnd7 Debug patch7 Else ; 6.x ; Multi-Open Find.s="0F859C0000006A" Edit.s="90E9----------" ; 0xccbf6 6.0.0602 ; 0xdff89 6.2 Start=$CC000 SearchStart=Start r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 mo6=1 SearchStart=r+$5000 Else SearchStart=Start EndIf ; No-Ad set 1/3 Find.s="FDFFFF5368" Edit.s="909090----" ; 0xe6004 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na61=1 SearchStart=r+$30000 OpenFile(0, msnexe) FileSeek(0,r-2) WriteByte(0,144) ; 90 90 WriteByte(0,144) CloseFile(0) Else SearchStart=Start EndIf ; No-Ad set 2/3 Find.s="3BCB74076A01E8" Edit.s="----EB--------" ; 0x11f68e r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na62=1 SearchStart=r+$50000 Else SearchStart=Start EndIf ; No-Ad set 3/3 Find.s="74215757" Edit.s="EB------" ; 0x165309 ; 0x188c12 6.2.0133 r=Patch(msnexe, Find, Edit, SearchStart, SearchStart+#Range, 1) If r>0 na63=1 EndIf patch6=mo6+na61+na62+na63 EndIf EndIf If Par="/debug" PrintN(Str(nac7)+Str(mo7)+Str(nm7)+Str(ns7)+Str(na7)+Str(nt7)+Str(nta7)) Input() EndIf ; nac = No Add Contact button ; mo = Multi Open ; nm = No MSN today ; ns = No Search box ; na = No Ad ; nt = No Tab ; nta = No Text Ad bar ; nftp = No File Transfer Protection ; nms = No Messenger String ; nnd = No Nudge Delays CloseWindow(0) If patch6=4 Or patch7>=7 Or patch8>=7 If Par="" Or Par="/i" If Par="" msg.s="Patching successfully."+Chr(13)+Chr(13) msg=msg+msnexe+" backup as "+msnexe+".bak"+Chr(13) If msn8=1 msg=msg+resdll+" backup as "+resdll+".bak"+Chr(13) EndIf msg=msg+Chr(13)+"http://pank.org/im/" MessageRequester(#Title, msg, #PB_MessageRequester_Ok) EndIf RunProgram(msnexe) ShellExecute_(hparent,"open","http://pank.org/im/","","",#SW_SHOWNORMAL) EndIf Else If Par="" If msn8=1 MessageRequester(#Title,"Some patch failed ("+Str(patch8)+"/7 patched)",#PB_MessageRequester_Ok) Else If FileSize(msnexe)>5000000 MessageRequester(#Title,"Some patch failed ("+Str(patch7)+"/7 patched)",#PB_MessageRequester_Ok) Else MessageRequester(#Title,"Some patch failed ("+Str(patch6)+"/4 patched)",#PB_MessageRequester_Ok) EndIf EndIf EndIf EndIf End ; jaPBe Version=2.5.4.22 ; Include=Registry.pbi ; Build=18 ; Working Directory=C:\Program Files\Prog\PureBasic\ ; Language=0x0000 Language Neutral ; FirstLine=211 ; CursorPosition=230 ; UseIcon=wlm.ico ; ExecutableFormat=Windows ; Executable=C:\Prog\PureBasic\msnpp.exe ; DontSaveDeclare ; EOF