A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 1947|回复: 2

PSP签名工具支持GZ压缩 + 中文字库

[复制链接]

精华
2
帖子
1418
威望
3 点
积分
1962 点
种子
10 点
注册时间
2006-5-12
最后登录
2021-11-21
 楼主| 发表于 2016-2-29 00:54  ·  湖北 | 显示全部楼层 |阅读模式
本帖最后由 フェニックス 于 2016-2-29 01:58 编辑

prxencrypter_sdk是用来让PSPSDK在编译时进行签名,签名后可让软件在PSP官方系统运行。
最早公开的只支持5M,不管你原来的EBOOT有多小,签名后就会变成5M,实在太浪费记忆棒空间
之后更新的EasyPBPRX虽然支持了GZIP压缩,但是无法在sdk用,压缩率也不是很高,使用起来也不太方便。

所以我稍微修改了一下prxencrypter,让PSPSDK也支持了,支持101个DEMO,最大支持8M
所有DEMO文件头来自http://www.pspx.ru/forum/showthread.php?t=103580
由于调用了7Z的GZ压缩,所以需要安装7Z,默认安装到C盘即可。360喂屎如果强行给你改名一定要取消。
签名后的文件体积更小。(600K可压缩到300K)

源码:https://github.com/phoe-nix/pspsdk/tree/master/tools/PrxEncrypter


先安装好PSPSDK+MSYS,然后将压缩包中pspsdk文件夹覆盖到你的pspsdk安装目录。

----------------------------------------------------------------------------------------------------

如果你只想用来签名,可以下载PRX_Encrypter_Pack_v3.5(gzip),将想签名的EBOOT.PBP和RunMe.exe放在相同目录,然后鼠标左键双击RunMe.exe,签名就会自动完成了


注意,部分自制软件是无法签名成功的,如果签名后出现问题,请用回原来的EBOOT。
还有签名过的EBOOT是无法在PSV和PPSSPP里运行的,只能在PSP上运行

----------------------------------------------------------------------------------------------------

hello world附带中文字库libpspdebug_ch.a,
若想汉化采用PSPSDK内置字库的源码,只需要在LIBS那项加上libpspdebug_ch.a,并把libpspdebug_ch.a放在源码目录,和MAKEFILE同目录。
或者把libpspdebug_ch.a,改名为libpspdebug.a放在X:\pspsdk\psp\sdk\lib
不过部分程序的界面需要手动去调整,因为每个字符的高度从8变成了12


下面是HELLO WORLD的MAKEFILE,如果你有源码,就可以轻松汉化,中文字库是ANSI编码(GBK),找到printf,修改成中文字符然后编译,汉化就完成了。之前的PSX解密器和PRX解密器,还有降级软件都是采用这个方法

Makefile
  1. TARGET = helloworld
  2. OBJS = main.o

  3. INCDIR =
  4. CFLAGS = -O2 -G0 -Wall
  5. CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
  6. ASFLAGS = $(CFLAGS)

  7. LIBDIR =
  8. LDFLAGS = -Wl
  9. LIBS = libpspdebug_ch.a

  10. EXTRA_TARGETS = EBOOT.PBP
  11. PSP_EBOOT_TITLE = Hello World

  12. BUILD_PRX = 1
  13. ENCRYPT = 1

  14. PSPSDK=$(shell psp-config --pspsdk-path)
  15. include $(PSPSDK)/lib/build.mak
复制代码


main.c
  1. #include <pspkernel.h>
  2. #include <pspdebug.h>
  3. #include <pspctrl.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <pspsdk.h>
  7. #include <psputility.h>

  8. PSP_MODULE_INFO("HelloWorld", 0, 1, 0);

  9. PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);

  10. #define printf        pspDebugScreenPrintf

  11. int exit_callback(int arg1, int arg2, void *common)
  12. {
  13.         sceKernelExitGame();
  14.         return 0;
  15. }

  16. int CallbackThread(SceSize args, void *argp)
  17. {
  18.     int cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
  19.     sceKernelRegisterExitCallback(cbid);
  20.     sceKernelSleepThreadCB();
  21.         return 0;
  22. }

  23. int SetupCallbacks(void)
  24. {
  25.     int thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
  26.     if (thid >= 0)
  27.                 sceKernelStartThread(thid, 0, 0);
  28.     return thid;
  29. }

  30. int main(void)
  31. {
  32.         pspDebugScreenInit();
  33.         SetupCallbacks();
  34.         printf("Hello World...\n");
  35.         printf("你好!世界...\n");
  36.         sceKernelSleepThread();
  37.         return 0;
  38. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

精华
0
帖子
889
威望
0 点
积分
1056 点
种子
5 点
注册时间
2005-11-21
最后登录
2022-10-3
发表于 2016-2-29 02:23  ·  福建 | 显示全部楼层




该用户已被禁言

精华
0
帖子
391
威望
0 点
积分
443 点
种子
5 点
注册时间
2009-11-9
最后登录
2020-2-14
发表于 2016-2-29 14:52  ·  上海 来自手机 | 显示全部楼层
lz真是对于小p太有爱了,16年了还在发小p的新软件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-5-2 16:20 , Processed in 0.153069 second(s), 14 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部