initial LibHB video and Unity Plugin this weekend PlayStation 4 developer @cfwprophet shared on Twitter a PS4 homebrewing library known as LibHomebrew alongside some LibHB Sample PKG's, another demonstration video and a usage tutorial below!
Download: LibHBSample.pkg (15.5 MB) / LibHBSample.pkg (Mirror) / LibHB_Sample2.pkg (20.5 MB) / LibHB_Sample2.pkg (Mirror) / libhb-master-master.zip / libhb-master.rar (82.0 MB) / samples_src.rar (67.9 MB) / SamplePkgs.rar (68.5 MB) / samples.rar (81.7 MB) / Latest Release / GIT
To quote from the README.md on the release: PS4 LibHomebrew
What's that ?
A Homebrew Library based on the Official ***. Auto Jailbreaks. No need to do anything here. If you want to change the FW version to compile for (needed for jb & kernel aka lv2 stuff), then set your consoles FW within fw.h like: FW_455 or FW_500 as example. Copy libhb Folder (not the -master one) and his samples into "/target/samples/sample_code/system" of your ***. Move the "controller.h" from the libhb-master folder to: "/target/samples/sample_code/common/include/sampleUtil/input" That's it your Set Up !
Thanks and used sources:
First of all for sure Sony and the PS4. Without, this wouldn't exists. Also thanks for giving me the chance to learn more about this planet and his machines before they gonna control us all. Then i crapped various sources which where already available like the one from f0f and ps4-kexec. The unjail patches for both 4.05 and 4.55 where also crapped from the Net. The File System Dumper i ported to use LibHomebrew is the one from wildcard. For sure also Credits goes out to flatz, querty and xerpi. For fpkg, fself, webkit exploit, kernel exploit,..... Oh and not to forget The DarkProgrammer for testing and pointing me onto bugs.
Basic Image class written. May not functional right now. Need to look into about the texter loading. Added a global accessible Application instance. This way all code can use the same instance working with overloads is much easier. Testing type definitions for better readability.
Added a basic console output stream to write messages to the screen rich text like, for our application code. For that i added a new form to the application main loop. Which let me come to the new Forms added: PictureBox, RichTextBox and a Image class to handle various images. So the Application got a RichTextBox form added, where all the messages will be drawn to screen. For that i added a static function called "Console::WriteLine(const char *message)" to write formatted strings into the global console output string stream "cout". A class called FileInfo to store various information about a file path.
Added definitions: std::string as 'String' | usage example: String test("This is a test string"); if (test.find("as a coding example") == -1) Console::WriteLine("Error: 'as a coding example' not found within this string."); unsigned char as 'byte' vecmath::Vector2 as 'Position' and 'Size' | usage example: Position(x, y); Size(x, y); vecmath::Vector4 as 'Color' usage is the same as above. tm as 'Time' DIR as 'DIR' vector of class FileInfo (std::vector<FileInfo *>) as 'FileInfoList'
Need to add
Added AV Player. Added Resource Manager. Added Fios2 and Sound Flag to the Application initialization process. Added Lua Script Support. Added psarc archive support. Added unjail.c source. Added Process Class.
Added libLV2. Added FW selector within fw.h. (set your FW to use there and libHB will use this setting) Automatically Jailbreak on App initializing. Broke Libc and Libkernel. Need to fix.
Fixed Clear screen finally. Fixed USB Resolving to use a totally unusual test name.
Fixed File Reading.
Added ReadLine(), ReadAllLines(), WriteLine() Fixed Logger.
Finished Application class.
Fixed misalign of the shader for the Banner. Added Ability to stop a video when running by pressing button X. Added Functions drawRect() and fillRect() to the applications class. You can now draw from outside the Application code. Wrote a 3 lines Button sample. Added Functions AddDraw() and RemoveDraw() to the App class. Added compiled samples for FW 4.55. Added a LineBreak() function to the static console class.
Samples, pre-compiled executeables and packed archives.
Fixed Console::LineBreak(). Added a sample "SaveDataMasterKeyDumper" on how to use libHB with your own kernel function. Moved the pkgs and the samples into the libhb-master.rar archive. Can be downloaded on the releases button. Will look into the FileSystem Dumper and fix it as next.
5.05 Support and more.
Fixed some lv2 offsets for FW 5.05. Merged commit. All Samples are back working now.
Added Functions GetSsid() & GetLanguage() to the SwissKnife class.
Fixed icc_nvs_read() and icc_nvs_write() offsets for 5.05.
Added Line highlighting abbility to the Console.
Added functions GetSelectedLine() & SetSelectedLine() as well as Clear() to the Console Class.
How to use LibHB with a new project
LibHB and Kernel Functions
PS4 Hello World Mini App
PS4 DumpFun Testing - Testing new Application. LibHB can now handle resources and got LibLUA embeded. LUA is compilled with the PS4 *** and works like a Charm.
LibHB Using Resources - Explanation of how to add and use Resources with libhb.
Libhb Update 18 - It's super easy now to work on the PS4. Just like on PC. Open a new project and start right away to print out stuff.
PS4 Libhb Visual Studio Integration - Create PS4 Graphical Homebrew in less then a minute.
Cheers to MeTheKing for passing along the news tip earlier today on the forums!