Interesante, quizá con algo de trabajo se pueda usar con el LightMP3, adjunto parche para los que necesiten compilar las fuentes bajo Linux.
diff -uN a/Makefile b/Makefile
--- a/Makefile 1969-12-31 20:00:00.000000000 -0400
+++ b/Makefile 2011-01-17 08:20:49.990884254 -0430
@@ -0,0 +1,21 @@
+CC := gcc
+TARGET = prxencrypter
+LIBS :=
+INCLUDES :=
+LIB_PATH :=
+CFLAGS := -O2 -pipe -Wall
+CXXFLAGS := $(CFLAGS)
+LDFLAGS := -Wl,-O1 -Wl,--sort-common -Wl,--as-needed
+RM = rm -f
+OBJS = main.o crypto.o kirk_engine.o
+
+all: $(OBJS)
+ $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(TARGET)
+
+.c.o:
+ $(CC) $(CFLAGS) $(INCLUDES) -c $*.c
+
+clean:
+ -$(RM) $(OBJS) $(TARGET)
+
+.PHONY: all clean
Subdirectorios comunes: a/Release y b/Release
diff -uN a/crypto.c b/crypto.c
--- a/crypto.c 2011-01-16 15:54:53.000000000 -0430
+++ b/crypto.c 2011-01-17 08:11:12.106118010 -0430
@@ -68,7 +68,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include <strings.h>
+#include <string.h>
#include "types.h"
#include "crypto.h"
diff -uN a/crypto.h b/crypto.h
--- a/crypto.h 2011-01-16 14:54:08.000000000 -0430
+++ b/crypto.h 2011-01-17 08:20:12.144970754 -0430
@@ -43,6 +43,7 @@
void AES_cbc_encrypt(AES_ctx *ctx, u8 *src, u8 *dst, int size);
void AES_cbc_decrypt(AES_ctx *ctx, u8 *src, u8 *dst, int size);
void AES_CMAC(AES_ctx *ctx, unsigned char *input, int length, unsigned char *mac);
+void AES_CMAC_forge(AES_ctx *ctx, unsigned char *input, int length, unsigned char *forge);
int rijndaelKeySetupEnc(unsigned int [], const unsigned char [], int);
int rijndaelKeySetupDec(unsigned int [], const unsigned char [], int);
diff -uN a/main.c b/main.c
--- a/main.c 2011-01-16 20:52:24.000000000 -0430
+++ b/main.c 2011-01-17 08:21:52.966036839 -0430
@@ -1,4 +1,3 @@
-#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -95,7 +94,7 @@
if(argc < 2)
{
- printf("USAGE: [exe] [prx]\n");
+ printf("USAGE: prxencrypter [prx]\n");
return 0;
}