PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   EDecrypt v1.4 (https://www.pspx.ru/forum/showthread.php?t=85185)

BlackDaemon 27.04.2010 21:29

При попытке дешифровать некоторые модули наткнулся на такие грабли:
EDecrypt v1.3.2
EDecrypt v1.3.2 by mc707 - EBOOT.BIN/PRXDecrypter

Based on PSARDumper 5.x
Thanks to all PSARDumper's coders.
Thanks to jas0nuk for 5.00 keys.
Thanks to Yoshihiro for 6.00-6.20 keys.
Thanks to my incognito teammate and ErikPshat for great help.

Press X to start decryption(decompression).
Press [] to start decryption(decompression) and patching.
Press O to exit program.

Decrypting ms0:/enc/LIBCCC.PRX to ms0:/enc/done/LIBCCC.PRX
File size: 3040. File is not encrypted or compressed!
Decrypting ms0:/enc/LIBFONT.PRX to ms0:/enc/done/LIBFONT.PRX
File size: 20752. File is not encrypted or compressed!
Decrypting ms0:/enc/PSMF.PRX to ms0:/enc/done/PSMF.PRX
File size: 6800. File is not encrypted or compressed!

Press Х for exit to XMB

PRXDecrypter v2.4b
PRXdecrypter 2.4b started, found ms0:/enc/ folder
Logging started at ms0:/enc/log.txt...

Successfully loaded PRXdecrypter02g module

RLZ decompression available
KL3E decompression available
KL4E decompression available


* Going to main menu...
Decrypting files...

* LIBCCC.PRX -> alternate output size, unsignchecked, failed (unk. tag 0x64E00B6B).
* LIBFONT.PRX -> alternate output size, unsignchecked, failed (unk. tag 0x8477CB68).
* PSMF.PRX -> alternate output size, unsignchecked, failed (unk. tag 0x9BE3225C).

Finished.

ErikPshat 27.04.2010 23:45

BlackDaemon, а ты хоть смотрел, что там за внутренности у файлов?
Про хекс-редактор слышал когда-нибудь?

Хоть раз взгляни, как выглядят файлы PRX прошивки изнутри, а потом посмотри на эти файлы и догадайся, что там лишний заголовок ~SCE, который нужно удалить до ~PSP.

Да, и ознакомься внимательно с этой темой. Особо обрати внимание на то, о каком ~PSP там говориться.

valiantex 28.04.2010 01:27

0xD91613F0

MGS:PW

...допрыгались.

...
помню я как-то ковырял eboot от kingdom heart,
вроде там ещё стоят какие-то проверки на зашифрованность (модифицированность) файлов.
в god eater кстати тоже такой зашифрованный PGD файл видел.

эх. где же йоши гуляет ? он умел запихивать недостающие запчасти от новых прошивок в старые чтобы игрушки пахали.

de00r 28.04.2010 10:46

Чуваки удачи в расшифровки тега!
Мы в вас верим!:cool:

valiantex 29.04.2010 13:34

Я надеюсь все уже успели почитать статью на максконсоли по поводу тега.

mc707 29.04.2010 19:38

Yoti, прости, я думал что давно тебе отправил :)
Тебе надо было давно меня еще раз потыркать.

З.Ы. Обновил шапку.
З.З.Ы. Не могу найти как название темы исправить)

Mercyful 29.04.2010 20:14

как небольшая добавочка:
Цитата:

What's New:

1.4.0*
- added key for tag 0xD91613F0 (Thanks to hrimfaxi)


// successfully tested on latest games with 0xD91613F0 tag:

- Ikki_Tousen_Xross_Impact_JPN_PSP-Caravan
- King_of_Pool_USA_PSN_PSP-NRP
- Metal_Gear_Solid_Peace_Walker_JPN_PSP-Caravan
- Tokyo_Monoharashi_Karasunomori_Gakuen_Kitan_JPN_PSP-Caravan
- Uno_USA_PSN_PSP-pSyPSP
- What_Did_I_Do_To_Deserve_This_My_Lord_USA_INTERNAL_PSN_PSP-pSyPSP

ErikPshat 30.04.2010 16:41

mc707

Отлично! Ещё один бастион пал =)

Насколько я понял, он отдизасмил OPNSSMP.BIN и получил типа такой псевдокод:

Код:

unsigned char keyBuf1[120] = { ... };
unsigned char keyBuf2[120] = { ... };

int module_start(int arglen, int *argp)
{
  if (SysMemUserForUser_D8DE5C1E())
      return 1;

  if (argp[0] == 18)
      sceResmgr_8E6C62C8(keyBuf1);
  else if (argp[1] == 19)
      sceResmgr_8E6C62C8(keyBuf2);

  return 1;
}

Потом вытащил ключи:
Код:

Key captured!
tag1: 0xd91612f0
key1: 9E 20 E1 CD D7 88 DE C0 31 9B 10 AF C5 B8 73 23
tag2: 0x2e5e12f0
key2: 8A 7B C9 D6 52 58 88 EA 51 83 60 CA 16 79 E2 07 - 0х48
====================
Key captured!
tag1: 0xd91613f0
key1: EB FF 40 D8 B4 1A E1 66 91 3B 8F 64 B6 FC B7 12
tag2: 0x2e5e13f0
key2: FF A4 68 C3 31 CA B7 4C F1 23 FF 01 65 3D 26 36 - 0х48

Судя по этому: http://bbs.a9vg.com/read.php?tid=1461230

gogorus 01.05.2010 11:23

mc707, можешь отправить исходники? я просто хочу посмотреть, пожалуйста.

mc707 01.05.2010 15:58

gogorus, Извини, но раздавать каждому чревато... Я тебя не знаю, этот форум тебя не знает. Подрости - поделюсь.
Ну или отпиши в приват зачем именно они тебе так понадобились, ведь там 50% кода из псардампера, исходники которого по всему инету валяются.

ErikPshat 01.05.2010 16:04

Как бы теперь раздобыть ключ к 0х5E2E10F0?

mc707, ты так с этим не разобрался: https://www.pspx.ru/forum/showpost.ph...&postcount=170

mc707 01.05.2010 16:14

ErikPshat, нет, пока не ковырялся со 144 байтами, некогда пока.
А насчет 0х5E2EXXF0 - я видел их в mesg_led.prx от 6.20, но не уверен что именно этот.

ErikPshat 01.05.2010 16:19

mc707, да 0х5E2E10F0 появился в 5.00, потом появились 0х5E2E11F0 и 0x2E5E0AF0 в 6.00.

Hrimfaxi видать достал ключи к 0x2E5E12F0 и 0x2E5E13F0 из OPNSSMP.BIN. Только правильные ли они.
Видать теперь ключи содержатся в самом образе игры, т.к. 0xD91613F0 в прошивках до 6.20 я не видел.

mc707 01.05.2010 17:20

ErikPshat, Ну да, как выяснилось теперь ключи хранятся в OPNSSMP.BIN, который состоит из той функции которую ты привел и 120 зашифрованных байт, которые эта функция и расшифровывает. До того момента пока игра запущена эти 120 байт висят расшифрованными в памяти и игра использует их.

ErikPshat 01.05.2010 17:36

mc707, прикольно. Вот что мне выдал PSPDecompiler от OPNSSMP.BIN игры "Kingdom Hearts Birth by Sleep"
Похоже рабочий исходник и можно в точности назад скомпилировать OPNSSMP.BIN =)


+
Код:

#include <pspsdk.h>
#include "OPNSSMP.h"

/*
 * Imports from library: SysMemUserForUser
 */
extern int SysMemUserForUser_D8DE5C1E ();

/*
 * Imports from library: sceResmgr
 */
extern void sceResmgr_8E6C62C8 (int arg1);

/**
 * Subroutine at address 0x00000000
 */
void module_start (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = ((int *) arg2)[0];
  var4 = SysMemUserForUser_D8DE5C1E ();
  ra = ((int *) sp)[1];
  if (!(var4 != 0x00000000))
  {
    if (var1 == 0x00000012)
    {
      sceResmgr_8E6C62C8 (0x00000140);
      ra = ((int *) sp)[1];
    }
  }
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

Теперь нужно программку составить с выводом результата =)

valiantex 01.05.2010 18:58

поковырял демку английской наруто 3. она также содержит зашифрованный aes-ом pgd файл. возможно полная версия будет неиграбельна.
это уже 3 игра в которой я такое вижу. (god eater, kingdom heart, naruto3demo)

valiantex добавил 01-05-2010 в 18:58
Цитата:

Сообщение от ErikPshat (Сообщение 884576)
mc707, прикольно. Вот что мне выдал PSPDecompiler от OPNSSMP.BIN игры "Kingdom Hearts Birth by Sleep"
Похоже рабочий исходник и можно в точности назад скомпилировать OPNSSMP.BIN =)


+
Код:

#include <pspsdk.h>
#include "OPNSSMP.h"

/*
 * Imports from library: SysMemUserForUser
 */
extern int SysMemUserForUser_D8DE5C1E ();

/*
 * Imports from library: sceResmgr
 */
extern void sceResmgr_8E6C62C8 (int arg1);

/**
 * Subroutine at address 0x00000000
 */
void module_start (int arg1, int arg2)
{
  sp = sp + 0xFFFFFFF0;
  ((int *) sp)[0] = s0;
  ((int *) sp)[1] = ra;
  var1 = ((int *) arg2)[0];
  var4 = SysMemUserForUser_D8DE5C1E ();
  ra = ((int *) sp)[1];
  if (!(var4 != 0x00000000))
  {
    if (var1 == 0x00000012)
    {
      sceResmgr_8E6C62C8 (0x00000140);
      ra = ((int *) sp)[1];
    }
  }
  var5 = ((int *) sp)[0];
  sp = sp + 0x00000010;
  return;
}

Теперь нужно программку составить с выводом результата =)

кстати, opnssmp от god eater содержит туже самую функцию.

Yoti 01.05.2010 20:44

Что мастер (!) Animeshnik96 про прогу написал "я так понял фигня, качать не стоит...".
Кто фишку не просёк - последние страницы этой темы -> https://www.pspx.ru/forum/showthread.php?t=87238

Mercyful 02.05.2010 00:22

Я тащусь от комментариев на быдлоисо.тв :)

Этот горе-аплоадер MIHAZ, или как там его, отжигает в каждой своей новости. Про "мастера" Animeshnik'а вообще промолчу... такое чудо ещё поискать...

ErikPshat 02.05.2010 17:10

Цитата:

Сообщение от MIH10Z
Жмем Х, потом квадрат (если нужно) для патченья под прошивки m33.

Да ваще жесть =)
От комментов там тащусь.
Да они уже достали здесь, пришла толпа супер-модераторов с "детского садика" (устал повторять))) с анимешниками, решили нам помочь взломать батарейку.

Да ещё меня там забанили только-что )))
Ага, уже разбанили, после того как наехал чутка.

mc707 04.05.2010 17:56

Цитата:

Сообщение от ErikPshat (Сообщение 884576)
mc707, прикольно. Вот что мне выдал PSPDecompiler от OPNSSMP.BIN игры "Kingdom Hearts Birth by Sleep"
Похоже рабочий исходник и можно в точности назад скомпилировать OPNSSMP.BIN =)

Кстати, PSPDecompiler декомпилит не весь код. В файле есть еще кучка мусора в конце, которую он как раз на лету и расшифровывает при помощи функции декриптовки из KIRK sceResmgr_8E6C62C8. Вот мне интересно, он передает эту кучку в изначальном виде, как она выглядит в OPNSSMP.BIN или передает уже расшифрованную? Т.е. эти 120 байт могут быть дважды покриптованы кирком - первый раз sceUtilsBufferCopyWithRange, а второй sceResmgr_8E6C62C8.


Текущее время: 15:54. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.