Next Page

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?"

Next Page
Go to Page 0 1 2

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