Forging Skype quotes
A overview of how Skype quote elements are structured, and a program that allows them to be forged.
One of my favorite features of Skype is the way in which it handles text snippets that are copied and pasted within the program. If I copy something that someone has said in a Skype chat, pasting it back into Skype will format it as a nice little 'quote' element (see picture below) that is seemingly authentic and immutable.
An example Skype quote:
The Skype quote clipboard data
Of course, nothing is really immutable, especially when it lives on the clipboard. After a quick poke around, we can see that the Skype clipboard format is something like so:
|SkypeMessageFragment||MemoryStream containing UTF8 Skype message fragment (see below).|
|Locale||MemoryStream containing a cultural identifier (LCID).|
Looking at the contents of the clipboard,
SkypeMessageFragment seems to be what we want; it's an XML string that describes the Skype quote. In the barest possible form, it looks something like
<quote author="AuthorName" timestamp="Timestamp">MessageText</quote>, where AuthorName is the Skype user name of the message author, MessageText is the message text itself, and Timestamp is the number of seconds since the Unix epoch.
To forge our own Skype quote, all we have to do is insert the above data onto the clipboard, and then paste to Skype as usual. A while ago, I built a simple Windows app called SkypeQuoteCreator that does exactly that. It's built up quite a following now, with users from Brazil to Estonia to Pakistan.