/
plugin.cpp
30 lines (25 loc) · 921 Bytes
/
plugin.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <dmsdk/sdk.h>
#include <dmsdk/dlib/crypt.h>
#include <dmsdk/resource/resource.h>
// change this in your own fork!
// also change in CustomResourceEncryption.java
const char* KEY = "aQj8CScgNP4VsfXK";
static dmResource::Result FooDecrypt(void* buffer, uint32_t buffer_len)
{
dmCrypt::Result cr = dmCrypt::Decrypt(dmCrypt::ALGORITHM_XTEA, (uint8_t*) buffer, buffer_len, (const uint8_t*) KEY, strlen(KEY));
if (cr != dmCrypt::RESULT_OK)
{
return dmResource::RESULT_UNKNOWN_ERROR;
}
return dmResource::RESULT_OK;
}
static dmExtension::Result AppInitialize(dmExtension::AppParams* params)
{
dmResource::RegisterResourceDecryptionFunction(FooDecrypt);
return dmExtension::RESULT_OK;
}
static dmExtension::Result Initialize(dmExtension::Params* params)
{
return dmExtension::RESULT_OK;
}
DM_DECLARE_EXTENSION(CustomResourceEncryption, "CustomResourceEncryption", AppInitialize, 0, Initialize, 0, 0, 0);