안녕하세요. 다크아이리스 입니다.
DEX 펌웨어 작업 관련하여 몇일간 많은 자료와 튜토리얼이 공개되고 있습니다.
국내 PS3 유저에게는 다소 생소한 Other OS 라던지 리눅스 설치 또는 사용방법 등의
어려움으로 DEX 펌웨어를 테스트 하고 싶지만 못하고 계신분들이 많을꺼라 생각됩니다.
우선 리눅스 설치 없이 플래쉬 파일 덤프와 metldr 의 암호화 복호화 적업등을 지원하는
홈브류가 공개 되었습니다.
이것은 JFW DH 펌웨어를 제작한 데몬하데즈 포럼에서 공개를 하였고,
JFW DH 3.56 , JBM 3.55, CFW 3.55 에서 설치 및 구동이 가능합니다.
그리고 CONF 파일의 수정이 가능한 홈브류 또한 릴리즈 되었습니다.
<<업데이트 내용>>
- eID0 Dumper
● START: To dump all EID0. ● SQUARE: To dump the first section of EID0 directly (eid0_1st_Section_CEX.bin). ● X (EQUIS): To dump metldr (Encryption) to USB and be prepared to exploit and get the dump of the decrypted metldr in subsequent steps.
- CONF 에디터
Options:
- Displays a list of flags - Displays list of patch-dynamic - Displays a list of plugins - Allows you to export to the root of the usb, the. Cfg file to test it before storing.
List of flags:
- Matheros (direct or normal) - dumper-ram - debug - dev_flash (dumper / restore) - sc35/36 +8 (more compatible) - 100% Fan speed (fan at 100%)
<<다운로드>>
- 원문 사이트 참조
metlr key sign
ldr.ld
ENTRY(_start)
SECTIONS
{
. = 0x25800;
.text :
{
*(.text)
}
.data :
{
*(.data)
*(.rodata)
}
.bss :
{
bss = .;
*(.bss)
}
}
types.h
#ifndef _TYPES_H_
#define _TYPES_H_
typedef char s8;
typedef unsigned char u8;
typedef short s16;
typedef unsigned short u16;
typedef int s32;
typedef unsigned int u32;
typedef long long int s64;
typedef unsigned long long int u64;
#endif
start.S
.text
/* Loader entry. */
.global _start
_start:
/* Setup stack pointer. */
ila sp, 0x3DFA0
/* Well... */
brsl lr, main
_hang:
br _hang
main.c
#include "types.h"
void *_memcpy(void *dst, void *src, u32 len);
void main()
{
//Copy eid root key/iv to shared LS.
_memcpy((u8 *)0x3E000, (u8 *)0x00000, 0x30);
//Hang (the PPU should copy the key/iv from shared LS now).
while(1);
}
void *_memcpy(void *dst, void *src, u32 len)
{
u8 *d = (u8 *)dst;
u8 *s = (u8 *)src;
u32 i;
for(i = 0; i < len; i++)
d[i] = s[i];
return dst;
}
|