Advertising (This ad goes away for registered users. You can Login or Register)

Calling developers for help on native Vita loader...

VHBL (Vita Half Byte Loader) is an open source tool to load PSP homebrews on the Playstation Vita.
VHBL can be downloaded at http://wololo.net/vhbl
yifanlu
Guru
Posts: 760
Joined: Sun Mar 11, 2012 6:42 am
Contact:

Calling developers for help on native Vita loader...

Post by yifanlu »

So I'm trying to write a Vita loader which I codenamed UVL (userland vita loader). The goal is basically what HBL is for PSP, an ELF loader that can resolve NIDs and syscalls.

Source -> https://github.com/yifanlu/UVLoader
Documentation -> http://yifanlu.github.com/UVLoader/modules.html

As of right now, I have not tried compiling the code yet. It's mostly just pieces of code for things like the ELF parsher, resolving NIDs using module exports and syscalls from both imports and exports and etc. I am basically looking for people with experience in HBL to help me finish this. Currently, I am missing code to clean the memory (releasing heap pointers, unloading all modules, deleting threads, etc). But mostly, I want critiques on the current code and how things could be improved or if any of my assumptions in the code could prove false. I have tried to make the loader very portable (for other future exploits) by having lots of error checks and only using functions imported from sceLibKernel (if you want more information, PM me). If you want to help, just fork the code and send me a pull request when you're done.

EDIT: Progress update, everything compiles now, but I have yet "tested" it on a Vita. The main problem right now is that the base address 0x81000000 is read only by the game that's loaded. If someone knows how to free that memory or set it to be writeable, contact me.

EDIT 2 (9/14/12): Latest progress: viewtopic.php?f=53&t=13841&start=20#p169201

P.S: If you want to help, it would be awesome if you take a look at this! http://yifan.lu/coding_standard.html

(also, please keep discussion technical. thanks!)
Advertising
Last edited by yifanlu on Sat Sep 15, 2012 1:27 am, edited 3 times in total.
rafael707
Posts: 1271
Joined: Thu Sep 30, 2010 6:10 pm
Location: VITA/PS4 section

Re: Calling developers for help on native Vita loader...

Post by rafael707 »

yifanlu wrote:So I'm trying to write a Vita loader which I codenamed UVL (userland vita loader). The goal is basically what HBL is for PSP, an ELF loader that can resolve NIDs and syscalls.

Source -> https://github.com/yifanlu/UVLoader
Documentation -> http://yifanlu.github.com/UVLoader/modules.html

As of right now, I have not tried compiling the code yet. It's mostly just pieces of code for things like the ELF parsher, resolving NIDs using module exports and syscalls from both imports and exports and etc. I am basically looking for people with experience in HBL to help me finish this. Currently, I am missing code to clean the memory (releasing heap pointers, unloading all modules, deleting threads, etc). But mostly, I want critiques on the current code and how things could be improved or if any of my assumptions in the code could prove false. I have tried to make the loader very portable (for other future exploits) by having lots of error checks and only using functions imported from sceLibKernel (which should be loaded by every game). If you want to help, just fork the code and send me a pull request when you're done.

P.S: If you want to help, it would be awesome if you take a look at this! http://yifan.lu/coding_standard.html

(also, please keep discussion technical. thanks!)
get on irc: #pspcommunity im sure someone can help you, good luck too you
Advertising
Add me, I got a ps4 ;)

IRC
#pspcommunity
#vitadev

PS4/PS VITA IGN: raff_da_don
yifanlu
Guru
Posts: 760
Joined: Sun Mar 11, 2012 6:42 am
Contact:

Re: Calling developers for help on native Vita loader...

Post by yifanlu »

I thank all of you for your support, but please let us focus on this loader and nothing else at this time. Thank you. (I was going to post this in the development section for HBL but there doesn't seem to be much activity there).

EDIT: Thanks Davee for spreading the word http://lolhax.org/2012/09/02/psvita-nat ... cmon-devs/
febag
Posts: 11
Joined: Thu Mar 15, 2012 9:36 pm
Location: Brazil

Re: Calling developers for help on native Vita loader...

Post by febag »

This is some interesting news. I have class really early tomorrow, but I will take a look at the code later.

Been doing some PSP homebrew for fun. Maybe I can use what I learned to do something more interesting.

Nice work man, thanks for sharing.
wuldorf1975
Posts: 4
Joined: Fri Aug 03, 2012 3:01 pm

Re: Calling developers for help on native Vita loader...

Post by wuldorf1975 »

I haven't done much hardware programming since the classic Game Boy (mix of C and assembly), but I have been hoping to get involved with understanding the Vita better (if only to understand a modern machine with an OS) and I'm happy to help keep this alive in whatever small way I can, even if just as a sounding board or code review.
yifanlu
Guru
Posts: 760
Joined: Sun Mar 11, 2012 6:42 am
Contact:

Re: Calling developers for help on native Vita loader...

Post by yifanlu »

An update on the progress. UVL can now be compiled successfully. After polishing it some more, I'll try to run it. Still no memory cleanup code and no memory allocation code, but the comments are pretty, documentation is complete, and debug logging is verbose.
poettlr
Posts: 38
Joined: Mon May 14, 2012 2:10 pm

Re: Calling developers for help on native Vita loader...

Post by poettlr »

I am not an expert in c/c++ but in java;
If i can help let me know :)
dridri
VIP
Posts: 169
Joined: Wed Oct 27, 2010 5:21 pm

Re: Calling developers for help on native Vita loader...

Post by dridri »

@kenzodragon :
First I'm back to finish my OpenIdea CMA, then after that I'm thinking about an USB Mass Storage program on the UVL, I don't know if there are USB raw functions usable in user-mode but I'll take a look at this.
Sorry for my English :mrgreen:
OpenIdea team support: open.idea.team at gmail.com
LibGE
Xeeynamo
Posts: 25
Joined: Fri Feb 24, 2012 6:33 pm
Location: Italy
Contact:

Re: Calling developers for help on native Vita loader...

Post by Xeeynamo »

What type of developer are you searching? I have a bit of experience on PRX and EBOOT developing, I code from 4 years and currently I'm working on a OpenGL 2D game. I did a bit of programming with 65C816 for SNES, Motorola 68K for Sega MD and x86. I have no exprience with ARM and MIPS. Never tried to put myself into psp/psv hacking scene because I don't know where to start... If you want a C programmer that can fix the code, add some features or debugging code I can give you my help.
dridri
VIP
Posts: 169
Joined: Wed Oct 27, 2010 5:21 pm

Re: Calling developers for help on native Vita loader...

Post by dridri »

If you want to compile your own elfs/binaries (for example UVLoader) here a simple way to compile basic ARM (without any headers) :
Download binutils => http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.gz
and gcc-core => http://ftp.gnu.org/gnu/gcc/gcc-4.6.3/gc ... 6.3.tar.gz (I didn't find gcc-core of the last version)

You need a linux or cygwin installation that can compile gcc, then just follow these steps :
Build binutils :
./configure --target=arm-elf --prefix=/usr/local/arm --program-prefix=arm-
make
make install

Build GCC-Core :
mkdir build
cd build
../configure --prefix=/usr/local/arm --program-prefix=arm- --target=arm-elf --with-gcc --with-gnu-ld --with-gnu-as --disable-threads --disable-nls --enable-languages=c --disable-shared --without-x --enable-interpreter --without-stdlib --without-headers --enable-bootstrap --disable-libmudflap --disable-libssp --disable-libgomp
make all-gcc
make install-gcc
Your ARM toolchain will be installed in /usr/local/arm (you can change this in the ./configure commands)
The binaries will have 'arm-' prefix (ex arm-gcc)

When linking your programs, use flag -nostdlib (otherwise it will make a not found error on crt0) and a void start() function as entry point
The only available headers are basic ones : float.h, std{arg/def/bool/int/...}.h, limits.h, arm_neon.h (SIMD engine), ...
Sorry for my English :mrgreen:
OpenIdea team support: open.idea.team at gmail.com
LibGE
Locked

Return to “Vita Half Byte Loader”