From 546df244b0e6fd9aad19880b8af1d7a22406a534 Mon Sep 17 00:00:00 2001 From: Bottersnike Date: Mon, 20 Dec 2021 03:39:28 +0000 Subject: [PATCH] Initial --- images/encoding_table.png | Bin 0 -> 31714 bytes images/no_array.png | Bin 0 -> 10717 bytes images/no_array_2.png | Bin 0 -> 3612 bytes images/types_table.png | Bin 0 -> 43939 bytes images/unsorted/javaw_DSoqceZKFz.png | Bin 0 -> 26997 bytes images/xml_encoding_table.png | Bin 0 -> 15689 bytes images/yes_array.png | Bin 0 -> 10526 bytes index.html | 58 ++ packet.html | 893 +++++++++++++++++++++++++++ styles.css | 57 ++ transport.html | 43 ++ 11 files changed, 1051 insertions(+) create mode 100644 images/encoding_table.png create mode 100644 images/no_array.png create mode 100644 images/no_array_2.png create mode 100644 images/types_table.png create mode 100644 images/unsorted/javaw_DSoqceZKFz.png create mode 100644 images/xml_encoding_table.png create mode 100644 images/yes_array.png create mode 100644 index.html create mode 100644 packet.html create mode 100644 styles.css create mode 100644 transport.html diff --git a/images/encoding_table.png b/images/encoding_table.png new file mode 100644 index 0000000000000000000000000000000000000000..a1223a91604c76e0eed7ab0f897399009aaf997e GIT binary patch literal 31714 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 S2{@8TbLWP(dj9oCe*XvKThx&N literal 0 HcmV?d00001 diff --git a/images/no_array_2.png b/images/no_array_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e6b6333f5cd730ecf4fea313d4811a6058106a GIT binary patch literal 3612 zcmai1XH*l~vPQu}m!=>g2tm3OL8_EU2sP4Gj08|g4n&%Ql!SJ~C|D2@Ab?0XG!cOy zp-ERj2t?t4ng}6LF!UZZf%Mh=?7hGFGizq{{${>?+tb}iQVbv_ARr*= z;tcf`5ZD9T#R!o(t;X?B+DzH)>_RNaN1W;xZgt6ey@x9d53&TU#QxMNPA6bmD8|Lk}U*C z@OhOC3089j�{cEF%U(1CN0?Vg>k_>ZJ$8WM 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 HxsduV_J_=- literal 0 HcmV?d00001 diff --git a/images/types_table.png b/images/types_table.png new file mode 100644 index 0000000000000000000000000000000000000000..ee754bbbe4c9b46242232d73615bd11a86bac342 GIT binary patch literal 43939 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 literal 0 HcmV?d00001 diff --git a/images/unsorted/javaw_DSoqceZKFz.png b/images/unsorted/javaw_DSoqceZKFz.png new file mode 100644 index 0000000000000000000000000000000000000000..731d7c16cb32ac6177d7f538e6174d1f775ebb08 GIT binary patch literal 26997 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 aM?St`eRyL@i6~-B?39U>@rx4|qW%XzcPtkG literal 0 HcmV?d00001 diff --git a/images/xml_encoding_table.png b/images/xml_encoding_table.png new file mode 100644 index 0000000000000000000000000000000000000000..00cd27e7aeef634fca873f91046b87ceb6cc2490 GIT binary patch literal 15689 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 S(VD=_0w~F;$rec)2mA-_1Wq6T literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..9d71b14 --- /dev/null +++ b/index.html @@ -0,0 +1,58 @@ + + + + + + + + eAmuse API + + + + + + + + + + + +
ContentsTransport layerPacket format
+ +

Benami/Konami eAmuse API

+

Why?

+

I was curious how these APIs work, yet could find little to nothing on Google. There are a number of + closed-source projects, with presumably similarly closed-source internal documentation, and a scattering of + implementations of things, yet I couldn't find a site that actually just documents how the API works. If I'm + going to have to reverse engineer an open source project (or a closed source one, for that matter), I might as + well just go reverse engineer an actual game (or it's stdlib, as most of my time has been spent currently).

+

These pages are very much a work in progress, and are being written as I reverse engineer parts of the + protocol. I've been asserting all my assumptions by writing my own implementation as I go, however it currently + isn't sharable quality code and, more importantly, the purpose of these pages is to make implementation of one's + own code hopefully trivial.

+

Sharing annotated sources for all of the games' stdlibs would be both impractical and unwise. Where relevant + however I try to include snippets to illustrate concepts, and have included their locations in the source for if + you feel like taking a dive too.

+

If you're here because you work on one of those aforementioned closed source projects, hello! Feel free to share + knowledge with the rest of the world, or point out corrections. Or don't; you do you.

+ +

Contents

+
+ +

This site intentionally looks not-great. I don't feel like changing that, and honestly quite like the aesthetic.

+ + + \ No newline at end of file diff --git a/packet.html b/packet.html new file mode 100644 index 0000000..f8a362a --- /dev/null +++ b/packet.html @@ -0,0 +1,893 @@ + + + + + + + + Packet format | eAmuse API + + + + + + + + + + + + +
ContentsTransport layerPacket format
+ +

Packet format

+ +

eAmuse uses XML for its application layer payloads*. This XML is either verbatim, or in a custom packed binary + format.
*Newer games use JSON, but this page is about XML.

+ + +

The XML format

+ +

Each tag that contains a value has a __type attribute that identifies what type it is. Array types + have a __count attribute indicating how many items are in the array. Binary blobs additionally have + a __size attribute indicating their length (this is notably not present on strings, however).

+

It is perhaps simpler to illustrate with an example, so:

+
<?xml version='1.0' encoding='UTF-8'?>
+<call model="KFC:J:A:A:2019020600" srcid="1000" tag="b0312077">
+    <eventlog method="write">
+        <retrycnt __type="u32" />
+        <data>
+            <eventid __type="str">G_CARDED</eventid>
+            <eventorder __type="s32">5</eventorder>
+            <pcbtime __type="u64">1639669516779</pcbtime>
+            <gamesession __type="s64">1</gamesession>
+            <strdata1 __type="str" />
+            <strdata2 __type="str" />
+            <numdata1 __type="s64">1</numdata1>
+            <numdata2 __type="s64" />
+            <locationid __type="str">ea</locationid>
+        </data>
+    </eventlog>
+</call>
+

Arrays are encoded by concatenating every value together, with spaces between them. Data types that have multiple + values, are serialized similarly.

+

Therefore, an element storing an array of 3u8 ([(1, 2, 3), (4, 5, 6)]) would look like + this

+
<demo __type="3u8" __count="2">1 2 3 4 5 6</demo>
+

Besides this, this is otherwise a rather standard XML.

+ +

Packed binary overview

+ +

Many packets, rather than using a string-based XML format, use a custom binary packed format instead. While it + can be a little confusing, remembering that this is encoding an XML tree can make it easier to parse.

+

To start with, let's take a look at the overall structure of the packets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0123456789101112131415
A0CE~EHead length
Schema definition
FFAlign
Data length
Payload
Align
+

Every packet starts with the magic byte 0xA0. Following this is the content byte, the encoding byte, + and then the 2's compliment of the encoding byte.

+

Currently known possible values for the content byte are:

+ + + + + + + + + + + + + + + + + + + + + + + +
CContent
0x42Compressed data
0x43Compressed, no data
0x45Decompressed data
0x46Decompressed, no data
+

Decompressed packets contain an XML string. Compressed packets are what we're interested in here.

+

The encoding flag indicates the encoding for all string types in the packet (more on those later). Possible + values are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
E~EEncoding name
0x200xDFASCII
0x400xBFISO-8859-1ISO_8859-1
0x600x9FEUC-JPEUCJPEUC_JP
0x800x7FSHIFT-JISSHIFT_JISSJIS
0xA00x5FUTF-8UTF8
+
+ Source code details +

The full table for these values can be found in libavs.

+
+ +
libavs-win32.dll:0x1006b960
+
+

A second table exists just before this on in the source, responsible for the + <?xml version='1.0' encoding='??'?> line in XML files. +

+
+ +
libavs-win32.dll:0x1006b940
+
+

This is indexed using the following function, which maps the above encoding IDs to 1, 2, 3, 4 and 5 + respectively.

+
char* xml_get_encoding_name(uint encoding_id) {
+    return ENCODING_NAME_TABLE[((encoding_id & 0xe0) >> 5) * 4];
+}
+
+

While validating ~E isn't technically required, it acts as a useful assertion that the packet being + parsed is valid.

+ +

The packet schema header

+

Following the 4 byte header, is a 4 byte integer containing the length of the next part of the header (this is + technically made redundant as this structure is also terminated).

+

This part of the header defines the schema that the main payload uses.

+ +

A tag definition looks like:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0123456789101112131415
TypenlenTag name
Attributes and childrenFE
+ +

Structure names are encoded as densely packed 6 bit values, length prefixed (nlen). The acceptable + alphabet is 0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz, and the packed values + are indecies within this alphabet.

+ +

The children can be a combination of either attribute names, or child tags. Attribute names are represented by + the byte 0x2E followed by a length prefixed name as defined above. Child tags follow the above + format. Type 0x2E must therefore be considered reserved as a possible structure type.

+ +

Attributes (type 0x2E) represent a string attribute. Any other attribute must be defined as a child + tag. Is it notable that 0 children is allowable, which is how the majority of values are encoded.

+

All valid IDs, and their respective type, are listed in the following table. The bucket column here will be + used later when unpacking the main data, so we need not worry about it for now, but be warned it exists and is + possibly the least fun part of this format.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDBytesC typeBucketXML namesIDBytesC typeBucketXML names
0x010void-void0x2124uint64[3]int3u64
0x021int8bytes80x2212float[3]int3f
0x031uint8byteu80x2324double[3]int3d
0x042int16shorts160x244int8[4]int4s8
0x052uint16shorts160x254uint8[4]int4u8
0x064int32ints320x268int16[4]int4s16
0x074uint32intu320x278uint8[4]int4s16
0x088int64ints640x2816int32[4]int4s32vs32
0x098uint64intu640x2916uint32[4]int4u32vs32
0x0aprefixchar[]intbinbinary0x2a32int64[4]int4s64
0x0bprefixchar[]intstrstring0x2b32uint64[4]int4u64
0x0c4uint8[4]intip40x2c16float[4]int4fvf
0x0d4uint32inttime0x2d32double[4]int4d
0x0e4floatintfloatf0x2eprefixchar[]intattr
0x0f8doubleintdoubled0x2f0-array
0x102int8[2]short2s80x3016int8[16]intvs8
0x112uint8[2]short2u80x3116uint8[16]intvu8
0x124int16[2]int2s160x3216int8[8]intvs16
0x134uint16[2]int2s160x3316uint8[8]intvu16
0x148int32[2]int2s320x341boolbyteboolb
0x158uint32[2]int2u320x352bool[2]short2b
0x1616int16[2]int2s64vs640x363bool[3]int3b
0x1716uint16[2]int2u64vu640x374bool[4]int4b
0x188float[2]int2f0x3816bool[16]intvb
0x1916double[2]int2dvd0x38
0x1a3int8[3]int3s80x39
0x1b3uint8[3]int3u80x3a
0x1c6int16[3]int3s160x3b
0x1d6uint16[3]int3s160x3c
0x1e12int32[3]int3s320x3d
0x1f12uint32[3]int3u320x3e
0x2024int64[3]int3s640x3f
+ +

Strings should be encoded and decoded according to the encoding specified in the packet header. Null termination is optional, however should be stripped during decoding.

+

All of these IDs are & 0x3F. Any value can be turned into an array by setting the 7th bit + high (| 0x40). Arrays of this form, in the data section, will be an aligned size: u32 + immediately followed by size bytes' worth of (unaligned!) values of the unmasked type.

+ +
+ Source code details +

The full table for these values can be found in libavs. This table contains the names of every tag, along + with additional information such as how many bytes that data type requires, and which parsing function + should be used.

+
+ +
libavs-win32.dll:0x100782a8
+
+
+
+ Note about the array type: +

While I'm not totally sure, I have a suspicion this type is used internally as a pseudo-type. Trying to + identify its function as a parsable type has some obvious blockers:

+ +

All of the types have convenient printf-using helper functions that are used to emit them when + serializing XML. All except one.

+ +

If we have a look inside the function that populates node sizes (libavs-win32.dll:0x1000cf00), + it has an explicit case, however is the same fallback as the default case.

+ + +

In the same function, however, we can find a second (technically first) check for the array type.

+ +

This seems to suggest that internally arrays are represented as a normal node, with the array + type, however when serializing it's converted into the array types we're used to (well, will be after the + next sections) by masking 0x40 onto the contained type.

+

Also of interest from this snippet is the fact that void, bin, str, + and attr cannot be arrays. void and attr make sense, however + str and bin are more interesting. I suspect this is because konami want to be able + to preallocate the memory, which wouldn't be possible with these variable length structures. +

+
+ +

The data section

+ +

This is where all the actual packet data is. For the most part, parsing this is the easy part. We traverse our + schema, and read values out of the packet according to the value indicated in the schema. Unfortunately, konami + decided all data should be aligned very specifically, and that gaps left during alignment should be backfilled + later. This makes both reading and writing somewhat more complicated, however the system can be fairly easily + understood.

+

Firstly, we divide the payload up into 4 byte chunks. Each chunk can be allocated to either store individual + bytes, shorts, or ints (these are the buckets in the table above). When reading or writing a value, we first + check if a chunk allocated to the desired type's bucket is available and has free/as-yet-unread space within it. + If so, we will store/read our data to/from there. If there is no such chunk, we claim the next unclaimed chunk + for our bucket.

+

For example, imagine we write the sequence byte, int, byte, short, byte, int, short. The final output should look like:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0123456789101112131415
bytebytebyteintshortshortint
+ +

While this might seem a silly system compared to just not aligning values, it is at least possible to intuit that it helps reduce wasted space. It should be noted that any variable-length structure, such as a string or an array, claims all chunks it encroaches on for the int bucket, disallowing the storage of bytes or shorts within them.

+ +
+ Implementing a packer +

While the intuitive way to understand the packing algorithm is via chunks and buckets, a far more efficient implementation can be made that uses three pointers. Rather than try to explain in words, hopefully this python implementation should suffice as explanation:

class Packer:
+    def __init__(self, offset=0):
+        self._word_cursor = offset
+        self._short_cursor = offset
+        self._byte_cursor = offset
+        self._boundary = offset % 4
+
+    def _next_block(self):
+        self._word_cursor += 4
+        return self._word_cursor - 4
+
+    def request_allocation(self, size):
+        if size == 0:
+            return self._word_cursor
+        elif size == 1:
+            if self._byte_cursor % 4 == self._boundary:
+                self._byte_cursor = self._next_block() + 1
+            else:
+                self._byte_cursor += 1
+            return self._byte_cursor - 1
+        elif size == 2:
+            if self._short_cursor % 4 == self._boundary:
+                self._short_cursor = self._next_block() + 2
+            else:
+                self._short_cursor += 2
+            return self._short_cursor - 2
+        else:
+            old_cursor = self._word_cursor
+            for _ in range(math.ceil(size / 4)):
+                self._word_cursor += 4
+            return old_cursor
+
+    def notify_skipped(self, no_bytes):
+        for _ in range(math.ceil(no_bytes / 4)):
+            self.request_allocation(4)

+
+ + + + \ No newline at end of file diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..1bdf5fb --- /dev/null +++ b/styles.css @@ -0,0 +1,57 @@ +body { + /* font-family: sans-serif; */ +} + +table { + border-collapse: collapse; + font-family: monospace; + letter-spacing: .02em; +} + +thead { + font-weight: bold; + border-bottom: 2px solid #000; +} + +td { + border: 1px solid #111; + padding: 2px; + text-align: center; + min-width: 32px; +} + +td a { + display: block; + padding: 4px 8px; +} + +code { + display: inline-block; + letter-spacing: .02em; + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +pre > code { + border-radius: 4px; + background: #f8f8f8; + border: 1px solid #ccc; + padding: 4px; + color: #333; + padding: 9.5px; + line-height: 1.4; +} + +summary { + user-select: none; + cursor: pointer; +} + +details { + background: lightblue; + border: 1px solid cornflowerblue; + padding: 4px; + margin: 4px 0; +} diff --git a/transport.html b/transport.html new file mode 100644 index 0000000..da81e7c --- /dev/null +++ b/transport.html @@ -0,0 +1,43 @@ + + + + + + + Transport | eAmuse API + + + + + + + + + + +
ContentsTransport layerPacket format
+ +

Network format

+ +

eAmuse packets are sent and received over HTTP (no S), with requests being in the body of POST requests, and replies being in the, well, reply.

+

The packets are typically both encrypted and compressed. The compression format used is indicated by the X-Compress header, and valid values are

+
    +
  • none
  • +
  • lz77
  • +
+

Encryption is performed after compression, and uses RC4. RC4 is symmetric, so decryption is performed the same as encryption. That is, packet = encrypt(compress(data)) and data = decompress(decrypt(data)).

+ +

Encryption keys

+

Encryption is not performed using a single static key. Instead, each request and response has its own key that is generated.

+

These keys are generated baesd on the X-Eamuse-Info header.

+

This header loosely follows the format 1-[0-9a-f]{8}-[0-9a-f]{4}. This corresponds to [version]-[serial]-[salt]. TODO: Confirm this

+

Our per-packet key is then generated using md5(serial | salt | KEY). Identifying KEY is left as an exercise for the reader, however should not be especially challenging.

+ +

LZ77

+

Packets are compressed using lzss. The compressed data structure is a repeating cycle of an 8 bit flags byte, followed by 8 values. Each value is either a single literal byte, if the corresponding bit in the preceeding flag is high, or is a two byte lookup into the window.

+

The lookup bytes are structured as pppppppp ppppllll where p is a 12 bit index in the window, and l is a 4 bit integer that determines how many times to repeat the value located at that index in the window.

+ +

The exact algorithm used for compression is not especially important, as long as it follows this format. One can feasibly perform no compression at all, and instead insert 0xFF every 8 bytes (starting at index 0), to indicate that all values are literals. While obviously poor for compression, this is an easy way to test without first implementing a compressor.

+ + + \ No newline at end of file
    +
  1. Transport layer
  2. +
      +
    1. Packet structure
    2. +
    3. Types
    4. +
    +
  3. The inner packet structure
  4. +
      +
    1. XML packets
    2. +
    3. Binary packed packets
    4. +
    5. Binary schemas
    6. +
    7. Binary data
    8. +
    +