Page 1 of 1
Map.dat Decoding Sourcecode? Anyone got?
#5
Posted 02 May 2004 - 03:31 PM
This post would suggest otherwise:
http://www.msnfanati...t=0&#entry66390
People are able to decode and reencode, but the reencoded data is not accepted by MSN messenger.
-Wolf5
http://www.msnfanati...t=0&#entry66390
People are able to decode and reencode, but the reencoded data is not accepted by MSN messenger.
-Wolf5
#7
Posted 03 May 2004 - 08:46 AM
Ok. But does anyone have a code snippet for decoding the map.dat?
I'm trying to use the crypt32-api to decrypt the data in the map.dat file. Removing the 2 first bytes i only get "invalid data" exception upon unprotecting it.
I am working on a "plugin" for those extra emoticons. Im allmost finished with the GUI part. Placing the button next to the "backgrounds" button in the chatwindow, making it behave like the other buttons on the same line. Now to fill out the submenu with emoticons I want to get the data from map.dat so I can enter the right emoticon code when the user selects an emoticon.
The one emoticon plugin i found at www.mess.be was not good. Just a new menuitem that showed max 10 emoticons in a vertical listbox. I'm aiming at making a similar selection as the emoticon button in the chatwindow has, but with a horizontal slider. That way I can add 100s of emoticons and make them easy to use. (I want to download more emoticon-packages for myself, but not unless I can make this solution work).
-Wolf5
I'm trying to use the crypt32-api to decrypt the data in the map.dat file. Removing the 2 first bytes i only get "invalid data" exception upon unprotecting it.
I am working on a "plugin" for those extra emoticons. Im allmost finished with the GUI part. Placing the button next to the "backgrounds" button in the chatwindow, making it behave like the other buttons on the same line. Now to fill out the submenu with emoticons I want to get the data from map.dat so I can enter the right emoticon code when the user selects an emoticon.
The one emoticon plugin i found at www.mess.be was not good. Just a new menuitem that showed max 10 emoticons in a vertical listbox. I'm aiming at making a similar selection as the emoticon button in the chatwindow has, but with a horizontal slider. That way I can add 100s of emoticons and make them easy to use. (I want to download more emoticon-packages for myself, but not unless I can make this solution work).
-Wolf5
This post has been edited by wolf5: 03 May 2004 - 08:56 AM
#8
Posted 03 May 2004 - 09:20 AM
Its all explained here: http://www.msnfanati...?showtopic=6910
Have you tried coding it yourself?
This should get you started... (VB)
sData is the file minus the first 2 bytes. Havent tested this as it is, no VB on here. (last line doesnt look healthy)
Have you tried coding it yourself?
This should get you started... (VB)
Quote
Dim abytPassword() As Byte
Dim abytDataIn() As Byte
Dim abytDataOut() As Byte
Dim udtDataOut As DATA_BLOB
Dim udtDataIn As DATA_BLOB
Dim udtPw As DATA_BLOB
abytPassword = StrConv(sPassword, vbFromUnicode)
udtPw.cbData = UBound(abytPassword) + 1
udtPw.pbData = VarPtr(abytPassword(0))
abytDataIn = StrConv(sData, vbFromUnicode)
udtDataIn.cbData = UBound(abytDataIn) + 1
udtDataIn.pbData = VarPtr(abytDataIn(0))
Call CryptUnprotectData(udtDataIn, vbNullString, udtPw, ByVal vbNullString, ByVal vbNullString, 0, udtDataOut)
ReDim abytDataOut(udtDataOut.cbData) As Byte
Call CopyMemory(abytDataOut(0), ByVal udtDataOut.pbData, udtDataOut.cbData)
Debug.Print StrConv(Base64_Decode(StrConv(abytDataOut, vbUnicode)), vbFromUnicode)
Dim abytDataIn() As Byte
Dim abytDataOut() As Byte
Dim udtDataOut As DATA_BLOB
Dim udtDataIn As DATA_BLOB
Dim udtPw As DATA_BLOB
abytPassword = StrConv(sPassword, vbFromUnicode)
udtPw.cbData = UBound(abytPassword) + 1
udtPw.pbData = VarPtr(abytPassword(0))
abytDataIn = StrConv(sData, vbFromUnicode)
udtDataIn.cbData = UBound(abytDataIn) + 1
udtDataIn.pbData = VarPtr(abytDataIn(0))
Call CryptUnprotectData(udtDataIn, vbNullString, udtPw, ByVal vbNullString, ByVal vbNullString, 0, udtDataOut)
ReDim abytDataOut(udtDataOut.cbData) As Byte
Call CopyMemory(abytDataOut(0), ByVal udtDataOut.pbData, udtDataOut.cbData)
Debug.Print StrConv(Base64_Decode(StrConv(abytDataOut, vbUnicode)), vbFromUnicode)
sData is the file minus the first 2 bytes. Havent tested this as it is, no VB on here. (last line doesnt look healthy)
#9
Posted 03 May 2004 - 10:47 AM
Ah thanks. :-) I will look into it after work.
I browsed that topic earlier but I didn't notice it was 3 pages long. I only read the first page and it only contained info on obtaining the number gotten from the userid.
At least this post added to the search pool making it easier for others to find the same info :-)
-Wolf5
I browsed that topic earlier but I didn't notice it was 3 pages long. I only read the first page and it only contained info on obtaining the number gotten from the userid.
At least this post added to the search pool making it easier for others to find the same info :-)
-Wolf5
#11
Posted 03 May 2004 - 12:52 PM
I did try decrypting once using the password as input, but I must've done something wrong since I didn't get the data.
Will clean up some code and try that again. Its incredible how much junk-code one gets when one is trying to reach a goal using new techniques one haven't used before(for me that is the MS CryptoAPI).
The bad thing about giving away sourcecode is as you say, unwilling-to-learn coders gets away without learning. The good thing is that 100s of people don't have to reinvent the wheel over and over.
-Wolf5
Will clean up some code and try that again. Its incredible how much junk-code one gets when one is trying to reach a goal using new techniques one haven't used before(for me that is the MS CryptoAPI).
The bad thing about giving away sourcecode is as you say, unwilling-to-learn coders gets away without learning. The good thing is that 100s of people don't have to reinvent the wheel over and over.
-Wolf5
#12
Posted 03 May 2004 - 03:36 PM
Aye. I did try that earlier on. But I entered my password into the sPassword string instead of the userid. So the BLOB object came back with a size, and a string pointer to 0. So my app crashed giving me this error:
AppName: project1.exe AppVer: 1.0.0.0 ModName: ntdll.dll
ModVer: 5.1.2600.1217 Offset: 0006112b
Got it to work now. Thanks again.
-Wolf5
AppName: project1.exe AppVer: 1.0.0.0 ModName: ntdll.dll
ModVer: 5.1.2600.1217 Offset: 0006112b
Got it to work now. Thanks again.
-Wolf5
Page 1 of 1

Sign In
Register
Help


MultiQuote