Mirabilis ICQ Client SCM Format OK, operating on no facts and a wide range of assumptions... I have 4 unrelated (strangely random) SCM files as a reference. The format appears (at a glance) to be very rigid. SCM Header (mojo?) Filenames are always the same. If a Wave is not provided, the file name is replaced with "none" and no data inserted into the body for that file. Filename fields appear to start with 0000h and end 00h with 2 bytes of some (as yet unknown) data between file names. The odds are high that these are incorrect assumptions. But, this may be good enough for the purpose of extracting SCM files back into wave files. Correctly encoding an SCM file for use on Mirabilis ICQ may be more difficult. Conventions XX = variable 1 bytes, ?? = Random number of bytes, ASCII strings are quoted. SCM Header XX XX 00 00 "Auth.wav" 00 // Authorize req XX XX 00 00 "Chat.wav" 00 // Chat Req XX XX 00 00 "External.wav" 00 // External Req XX XX 00 00 "File.wav" 00 // File Req XX XX 00 00 "ChatBeep.wav" 00 // Chat Req XX XX 00 00 "Email.wav" 00 // Email Notify XX XX 00 00 "Startup.wav" 00 // ICQ Startup XX XX 00 00 "Message.wav" 00 // Message Notify XX XX 00 00 "URL.wav" 00 // URL Notify XX XX 00 00 "Notify.wav" 00 // Notify Notify? ;-) XX XX 00 00 "Online.wav" 00 // Online Notify XX XX 00 00 "System.wav" 00 // System Message XX XX 00 00 "Contact.wav" 00 // Contact List Notify XX XX 00 00 "Phone.wav" 00 // Phone Req XX XX 00 00 "Reminder.wav" 00 // Reminder XX XX 00 00 "Global.wav" 00 // Global XX XX 00 00 "Picture.wav" 00 // Picture Req XX XX 00 00 "HomePage.wav" 00 // Home Page? XX XX 00 00 "MsgType.wav" 00 // Annoying typewriter? XX XX 00 00 "MsgBell.wav" 00 // Annoying Carriage? XX XX 00 00 "MsgSent.wav" 00 // Send Success XX XX 00 00 "Birthday.wav" 00 // Birth Remind XX XX 00 00 "Plugin.wav" 00 // Plugin? XX XX 00 00 "ChatLOL.wav" 00 // LOL XX XX 00 00 "ChatEmote.wav" 00 // ??? XX XX 00 00 "ChatAction.wav" 00 // ??? XX XX 00 00 "FileDone.wav" 00 // File Tranfer Complete XX XX 00 00 "WebSearch.wav" 00 // Web Search? SCM Body XX XX 00 00 "RIFF" ?? // Auth.wav Binary Data "RIFF" ?? // Chat.wav Binary Data "RIFF" ?? // External.wav Binary Data And on through WebSearch.wav