Breaking XMplay by unknownfile at 10:21 AM EST on November 10, 2009
Because I know some of you are big XMplay fans, I've decided to start attacking the XMplay API.

What I've figured out so far...

XMPlay calls the interface creation function 3 times, each with different versions and providing a function. The prototype for the function is:

__declspec(dllexport) XMPlay_Interface* XMPIN_GetInterface(int version, InitInterfaceCall call);

It isn't required to call this interface to initialize the plugin.

So far, what I have for the interface is:

typedef struct {
INT32 unknown; // This is anything. Leave it 0.
const char* plugin_name; // Name of the plugin

// This one is strange. In xmp-sid.dll, this points to two strings:
// 4 bytes "SID", 0h
// string with file types, separated with slashes
const char* supported_filetypes;

void (*AboutDlg)();
void (*ConfigDlg)();

// rest to be reversed....
} XMPlay_Interface;

Also to note is that some of the official XMplay plugins and the EXE itself are packed using a weird compression format. It's not UPX, and it constantly fucks with IDA, so I am basing these off unofficial plugins.
by mudlord at 3:27 PM EST on November 10, 2009
Yes.

* The EXE is packed with Petite. Quite easy to unpack. Uses SEH. A variant of the ESP trick works wonders to find the OEP.

edited 3:30 PM EST November 10, 2009
by SmartOne at 4:15 PM EST on November 10, 2009
Yay? If you want the API, you could simply ask.
by unknownfile at 4:29 PM EST on November 10, 2009
tried
nobody responded
think that close-sourcing the api sucks
and i'm also really bored nowadays

also file loadans

int (__stdcall *LoadFile)(const char* fn, UINT8 bigarray[84]);


edited 5:23 PM EST November 10, 2009
by nensondubois at 5:43 PM EST on November 10, 2009
Bored? Pick up another hobby that doesn't involve 1s or 0s.
by unknownfile at 5:51 PM EST on November 10, 2009
you're just jealous that i'm better than you
by nensondubois at 6:19 PM EST on November 10, 2009
I don't really care because I know I'm better than some other things that your suck at. It's guaranteed with every person. Everyone has ups and downs.

I'm also going to college soon four 6 years in advanced computer classes and I Won't be stepping into shallow water either since I know some coding already, not much. I could very well be adding SGB support to ZSNES with the help of the Bsnes source.
It'll be a challenge but I'm sure I could do it.


edited 6:53 PM EST November 10, 2009
by SmartOne at 6:45 PM EST on November 10, 2009
I wish I knew how to do stuff.
by mudlord at 8:40 PM EST on November 10, 2009
@SmartOne: Asking takes the fun out of things.
@unknownfile: try keygenning or some shit if your bored. Worked for me when I pissed byuu off...
by arbingordon at 10:51 AM EST on November 11, 2009
so... nenson... is it 4 or 6 years that you'll be "going to college in advanced computer classes?"
by nensondubois at 12:19 PM EST on November 11, 2009
I'm not sure yet... I do want a doctorate degree.

edited 2:27 PM EST November 11, 2009
by SmartOne at 2:13 PM EST on November 11, 2009
Doctorate?
by nensondubois at 2:27 PM EST on November 11, 2009
Yes.
by hcs at 4:31 PM EST on November 11, 2009
Why? A serious question, and I've been asking myself the same thing (though I'm only contemplating lower levels of graduate study now), what is the benefit you seek?
by arbingordon at 5:01 PM EST on November 11, 2009
doctorates enlarge your epeen, hcs
by unknownfile at 5:06 PM EST on November 11, 2009
ah yes i thought so
exclamation point
by nensondubois at 5:30 PM EST on November 11, 2009
Just to achieve something that some people think I could never do in a million years. Hell, one of my brothers has been in college for four years already.
I don't like politics, I don't like cars, I don't like sports, I don't like law enforcement so... what else is really left that will needed greatly in the future? I have chosen computer science. It's a bit personal. I'll probably start going to college in a few years from now (probably two or three).

edited 5:34 PM EST November 11, 2009
by unknownfile at 6:45 PM EST on November 11, 2009
disregard this entire thread, for i suck the dongs
by Mouser X at 7:14 PM EST on November 11, 2009
Yay! We're back on topic. On that note, apparently this thread is now over (at least, for its original intended purpose), so bye. Mouser X over and out.
by arbingordon at 3:58 PM EST on November 12, 2009
Nenson, I tend to think that it's not that no one thinks you can pull a doctorate off in computer sciences, but rather that it's not really necessary (again, merely for epeen enlarging purposes).
by mudlord at 6:11 PM EST on November 12, 2009
Thanks unknownfile, now I can code a native XMPlay port of my Winamp plugin, thanks to you :)
by Blue Ion at 6:59 AM EST on November 23, 2009
In an attempt to keep this thread on topic, you could have tried asking in the forum for the sdk.
Ian, the creator of the program frequents the forum, a lot, and you will get a response either from him, or someone close to him.
You'll probably get the official stuff plus some help from them.

I personally love XMPlay and use it everywhere, and while the winamp plugin works well enough, having a proper native plugin will be even better, so thanks for the effort :D.



edited 7:00 AM EST November 23, 2009


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source