Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
PS4 Jailbreaking       Thread starter PSXHAX       Start date Feb 6, 2016 at 4:40 PM       101      
Status
Not open for further replies.
Following rumors of a PS4 Jailbreak USB Whistle & CFW, today juampa21 of ConsoleCrunch.com reports news of an upcoming PS4 Cobra USB Game Emulator (DRM Device) with details below.

To quote: "Hello dear crunchers its juampa21 and today I bring you some exciting news about the PS4 scene!

So according to the Cobra Team they are planning to announce and release the COBRA USB PS4 game emulator which will make PS4 users be able to enable homebrew applications and may allow play non-copyrighted downloaded games on their PS4 system!

Here i provide you some images about the post!"

That said, if anyone has an account there and can mirror the pictures elsewhere we'll add them to this article as well. ;)

:alert: PSA: For those considering such a DRM device, keep in mind the notorious history of ringleaders Max Louarn (aka MAXiMiLiEN of Paradox) and Gary Wayne Bowser (aka GaryOPA) of the Cobra Team... over the years they've profited from countless scene developers work wrapping it in their own digital rights management packages including the original PSJailbreak, TrueBlue dongle, etc instead of keeping the scene FREE and OPEN SOURCE.

Spoiler

Thanks @sEKTOR for the news tip! :)

Updated from Wololo, to quote: ''So is this a mutating rumor here? The author of the originating “news” does not point to any source for his information, and has been a member of the forum where the rumor was initially posted, for less than 2 month.

I contacted people close to the Cobra team who have told me Team Cobra is not currently working on the PS4. The only ongoing known project of Team Cobra is the Cobra Blackfin for PS Vita, which has been significantly delayed for unknown reasons (we’re following up on that). In other words, this new rumor is most likely the h3ck34 fake mutating into something slightly different."

Download: BF_manual.rar / Blackfin-1.0.rar / ADI Blackfin GNU Toolchain / Blackfin SDK / EVAL-ADICUP360
I add from myself: it seems all is not as it should be. although it was clear that the cobra has been psvita (by sEKTOR).
PS4_Cobra_USB.jpg
 

Comments

not smart, because the psx hax made to developers working on the coding, burglary. I can give you is to do my job.

relax man , im not arguing with you.all i can is to be thankfull if u provide as u cfw some time for ps4.i not know much , but i can understand ur a big person here like chaoskid.so , do your best.all the best.and im not saying in an irony kind of way.
 
relax man , im not arguing with you.all i can is to be thankfull if u provide as u cfw some time for ps4.i not know much , but i can understand ur a big person here like chaoskid.so , do your best.all the best.and im not saying in an irony kind of way.
you know how long it takes to find binaries code lv 1-0? more than 2-4 months, even more honest word
@SorenAlke very real that people can do without breaking. I could now go to sleep, relax instead I'm doing with freetype, ubuntu, c ++, and many others.
relax man , im not arguing with you.all i can is to be thankfull if u provide as u cfw some time for ps4.i not know much , but i can understand ur a big person here like chaoskid.so , do your best.all the best.and im not saying in an irony kind of way.
Code:
#include <stdio.h>
#include <string.h>
#include <fcntl.h>

#include "utility.h"

///////////////////////
// UTILITY FUNCTIONS //
///////////////////////

int fix_flags(int flags)
{
    int result = 0;


    // Fix the flags.
    if (!(flags & 0x0001)) { result |= O_RDONLY;           }
    if (flags & 0x0001) { result |= O_WRONLY | O_TRUNC; } // FIXME: Truncate is needed for some programs.
    if (flags & 0x0002) { result |= O_RDWR | O_TRUNC; } // FIXME: Truncate is needed for some programs.
 
#ifndef _WIN32
    if (flags & 0x2000) { result |= O_NONBLOCK;         }
#endif
    if (flags & 0x1000) { result |= O_APPEND;           }
    if (flags & 0x0100) { result |= O_CREAT;            }
    if (flags & 0x0800) { result |= O_TRUNC;            }

#ifdef _WIN32

    // Binary mode file access.
    result |= O_BINARY;

#endif

    // End function.
    return result;

}
int fix_pathname(char *pathname)
{
    int loop0 = 0;
    char *token;
    // If empty, set a pathname default.
    if (pathname[0] == 0) { strcpy(pathname, "."); }

    // Convert \ to / for unix compatibility.
    for (loop0=0; loop0<strlen(pathname); loop0++) { if (pathname[loop0] == '\\') { pathname[loop0] = '/'; } }

    char *aux=strdup(pathname);
 
    token=strtok(aux,":");
 
    if(strcmp(token,"host0")==0)
    {
        for(loop0=0; loop0<strlen(pathname)-6; loop0++) { pathname[loop0] = pathname[loop0+6]; }
        pathname[loop0] = 0;
        printf("aqui\n");
     
    }
    else
    {
        printf("Path received does not include host0: %s\n",pathname);
        pathname[0]=0;
    }

// End function.
    return 0;

}

int fix_argv(char *destination, char **argv)
{
    int loop0 = 0;

    // For each argv...
    for (loop0=0; argv[loop0]; loop0++) {

        // Copy the argv to the destination.
        memcpy(destination, argv[loop0], strlen(argv[loop0]));

        // Increment the destination pointer.
        destination += strlen(argv[loop0]);

        // Null-terminate the argv.
        *destination = 0;

        // Increment the destination pointer.
        destination += 1;

    }

    // End function.
    return 0;

}

int print_usage(void)
{

    // Print out the ps4client usage string.
    printf("\n");
    printf(" Usage: ps4client [-h hostname] [-t timeout] <command> [arguments]\n\n");
    printf(" Available commands:\n\n");
    printf("   reset\n");
    printf("   execps4 <filename> [arguments]\n");
    printf("   listen\n\n");

    // End function.
    return 0;
Code:
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <kernel.h>
#include <net.h>
#include <sys/socket.h>
#include <debugnet.h>

#include "ps4link.h"
#include "ps4link_internal.h"


/*int ps4link_initialized;
int ps4link_requests_port;
int ps4link_commands_port;
int ps4link_fileio_active;
int ps4link_cmdio_active;*/

ScePthread server_request_thid;
ScePthread server_command_thid;

ps4LinkConfiguration *configuration=NULL;

int external_conf=0;


/**
* Init ps4link library
*
* @par Example:
* @code
* int ret;
* ret = ps4LinkInit("172.26.0.2",0x4711,0x4712,0x4712, DEBUG);
* @endcode
*
* @param serverIp - server ip for udp debug
* @param requestPort - ps4  port server for fileio requests
* @param debugPort - udp port for debug
* @param commandPort - ps4  port server for commands
* @param level - DEBUG,ERROR,INFO or NONE
*/
int ps4LinkInit(char *serverIp, int requestPort,int debugPort, int commandPort,int level)
{
    int ret;
 
    if(ps4LinkCreateConf())
    {
        return ps4LinkGetValue(PS4LINK_ACTIVE);
    }
    configuration->ps4link_requests_port=requestPort;
    configuration->ps4link_commands_port=commandPort;
    configuration->ps4link_debug_port=commandPort;
 
 
 
    if(debugNetInit(serverIp,debugPort,level))
    {
        sleep(2);
     
        configuration->debugconf=debugNetGetConf();
     
        ret=scePthreadCreate(&server_request_thid, NULL, ps4link_requests_thread, NULL, "ps4link_request_server_thread");
     

        if(ret==0)
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server request thread UID: 0x%08X\n", server_request_thid);
         
        }
        else
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server request thread could not create error: 0x%08X\n", ret);
            scePthreadCancel(server_request_thid);
            ps4LinkFinish();
            return 0;
        }
 
        ret=scePthreadCreate(&server_command_thid, NULL, ps4link_commands_thread, NULL, "ps4link_command_server_thread");
     
        if(ret==0)
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server command thread UID: 0x%08X\n", server_command_thid);
        }
        else
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server command thread could not create error: 0x%08X\n", server_command_thid);
            scePthreadCancel(server_request_thid);
            scePthreadCancel(server_command_thid);
            ps4LinkFinish();
            return 0;
        }
 
     
 
        /*ps4link library initialized*/ 
        configuration->ps4link_initialized = 1;
     
    }
    else
    {
        configuration->ps4link_initialized = 0;
    }
    sleep(2);
    return ps4LinkGetValue(PS4LINK_ACTIVE);
}
int ps4LinkSetConfig(ps4LinkConfiguration *conf)
{
    if(!conf)
    {
        return 0;
    }
    configuration=conf;
    external_conf=1;
    return 1;
}
ps4LinkConfiguration *ps4LinkGetConfig()
{
    if(!configuration)
    {
        return NULL;
    }
    return configuration;
}
int ps4LinkInitWithConf(ps4LinkConfiguration *conf)
{
 
    int ret;
    ret=ps4LinkSetConfig(conf);
    if(ret)
    {
        if(debugNetInitWithConf(conf->debugconf))
        {
     
            debugNetPrintf(INFO,"ps4link already initialized using configuration from ps4link\n");         
            debugNetPrintf(INFO,"ps4link_fileio_active=%d\n",ps4LinkGetValue(FILEIO_ACTIVE));
            debugNetPrintf(INFO,"ps4link_cmdsio_active=%d\n",ps4LinkGetValue(CMDSIO_ACTIVE));
            debugNetPrintf(INFO,"ps4link_initialized=%d\n",ps4LinkGetValue(PS4LINK_ACTIVE));
            debugNetPrintf(INFO,"ps4link_requests_port=%d\n",ps4LinkGetValue(REQUESTS_PORT));
            debugNetPrintf(INFO,"ps4link_commands_port=%d\n",ps4LinkGetValue(COMMANDS_PORT));
            debugNetPrintf(INFO,"ps4link_debug_port=%d\n",ps4LinkGetValue(DEBUG_PORT));
            debugNetPrintf(INFO,"ps4link_fileio_sock=%d\n",ps4LinkGetValue(FILEIO_SOCK));
            debugNetPrintf(INFO,"ps4link_requests_sock=%d\n",ps4LinkGetValue(REQUESTS_SOCK));
            debugNetPrintf(INFO,"ps4link_commands_sock=%d\n",ps4LinkGetValue(COMMANDS_SOCK));
            return ps4LinkGetValue(PS4LINK_ACTIVE);
        }
        else
        {
            return 0;
        }
    }
    else
    {
        return 0;
    }
}
int ps4LinkCreateConf()
{ 
    if(!configuration)
    {
        configuration=malloc(sizeof(ps4LinkConfiguration));
        configuration->ps4link_fileio_active=1;
        configuration->ps4link_cmdsio_active=1;
        configuration->ps4link_initialized=0;
        configuration->ps4link_fileio_sock=-1;
        configuration->ps4link_requests_sock=-1;
        configuration->ps4link_commands_sock=-1;
        return 0;
    }
    if(configuration->ps4link_initialized)
    {
        return 1;
    }
    return 0;         
}


/**
* Get configuration values from PS4Link library
*
* @par Example:
* @code
* ps4LinkGetValue(PS4LINK_ACTIVE);
* @endcode
*/
int ps4LinkGetValue(ps4LinkValue val)
{
    int ret;
    switch(val)
    {
        case FILEIO_ACTIVE:
            ret=configuration->ps4link_fileio_active;
            break;
        case CMDSIO_ACTIVE:
            ret=configuration->ps4link_cmdsio_active;
            break;
        case DEBUGNET_ACTIVE:
            ret=configuration->debugconf->debugnet_initialized;
            break;
        case PS4LINK_ACTIVE:
            ret=configuration->ps4link_initialized;
            break;
        case REQUESTS_PORT:
            ret=configuration->ps4link_requests_port;
            break;
        case COMMANDS_PORT:
            ret=configuration->ps4link_commands_port;
            break;
        case DEBUG_PORT:
            ret=configuration->ps4link_debug_port;
            break;
        case FILEIO_SOCK:
            ret=configuration->ps4link_fileio_sock;
            break;
        case REQUESTS_SOCK:
            ret=configuration->ps4link_requests_sock;
            break;
        case COMMANDS_SOCK:
            ret=configuration->ps4link_commands_sock;
            break;
        case DEBUG_SOCK:
            ret=configuration->debugconf->SocketFD;
            break;
        case LOG_LEVEL:
            ret=configuration->debugconf->logLevel;
            break;
        default:
            ret=0;
            break;
    }
    return ret;
}
/**
* Finish PS4Link library
*
* @par Example:
* @code
* ps4LinkFinish();
* @endcode
*/
void ps4LinkFinish()
{
    if(!external_conf)
    {
        configuration->ps4link_fileio_active=0;
        configuration->ps4link_cmdsio_active=0;
        configuration->ps4link_initialized=0;
        ps4LinkRequestsAbort();
        while(ps4LinkRequestsIsConnected())
        {
     
        }
        debugNetFinish();
    }
}
I am man of his word, and I will ask divided material can even help. the first step is made.
 
you know how long it takes to find binaries code lv 1-0? more than 2-4 months, even more honest word @SorenAlke very real that people can do without breaking. I could now go to sleep, relax instead I'm doing with freetype, ubuntu, c ++, and many others.

Code:
#include <stdio.h>
#include <string.h>
#include <fcntl.h>

#include "utility.h"

///////////////////////
// UTILITY FUNCTIONS //
///////////////////////

int fix_flags(int flags)
{
    int result = 0;


    // Fix the flags.
    if (!(flags & 0x0001)) { result |= O_RDONLY;           }
    if (flags & 0x0001) { result |= O_WRONLY | O_TRUNC; } // FIXME: Truncate is needed for some programs.
    if (flags & 0x0002) { result |= O_RDWR | O_TRUNC; } // FIXME: Truncate is needed for some programs.
 
#ifndef _WIN32
    if (flags & 0x2000) { result |= O_NONBLOCK;         }
#endif
    if (flags & 0x1000) { result |= O_APPEND;           }
    if (flags & 0x0100) { result |= O_CREAT;            }
    if (flags & 0x0800) { result |= O_TRUNC;            }

#ifdef _WIN32

    // Binary mode file access.
    result |= O_BINARY;

#endif

    // End function.
    return result;

}
int fix_pathname(char *pathname)
{
    int loop0 = 0;
    char *token;
    // If empty, set a pathname default.
    if (pathname[0] == 0) { strcpy(pathname, "."); }

    // Convert \ to / for unix compatibility.
    for (loop0=0; loop0<strlen(pathname); loop0++) { if (pathname[loop0] == '\\') { pathname[loop0] = '/'; } }

    char *aux=strdup(pathname);
 
    token=strtok(aux,":");
 
    if(strcmp(token,"host0")==0)
    {
        for(loop0=0; loop0<strlen(pathname)-6; loop0++) { pathname[loop0] = pathname[loop0+6]; }
        pathname[loop0] = 0;
        printf("aqui\n");
     
    }
    else
    {
        printf("Path received does not include host0: %s\n",pathname);
        pathname[0]=0;
    }

// End function.
    return 0;

}

int fix_argv(char *destination, char **argv)
{
    int loop0 = 0;

    // For each argv...
    for (loop0=0; argv[loop0]; loop0++) {

        // Copy the argv to the destination.
        memcpy(destination, argv[loop0], strlen(argv[loop0]));

        // Increment the destination pointer.
        destination += strlen(argv[loop0]);

        // Null-terminate the argv.
        *destination = 0;

        // Increment the destination pointer.
        destination += 1;

    }

    // End function.
    return 0;

}

int print_usage(void)
{

    // Print out the psp2client usage string.
    printf("\n");
    printf(" Usage: ps4client [-h hostname] [-t timeout] <command> [arguments]\n\n");
    printf(" Available commands:\n\n");
    printf("   reset\n");
    printf("   execps4 <filename> [arguments]\n");
    printf("   listen\n\n");

    // End function.
    return 0;
Code:
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <kernel.h>
#include <net.h>
#include <sys/socket.h>
#include <debugnet.h>

#include "ps4link.h"
#include "ps4link_internal.h"


/*int ps4link_initialized;
int ps4link_requests_port;
int ps4link_commands_port;
int ps4link_fileio_active;
int ps4link_cmdio_active;*/

ScePthread server_request_thid;
ScePthread server_command_thid;

ps4LinkConfiguration *configuration=NULL;

int external_conf=0;


/**
* Init ps4link library
*
* @par Example:
* @code
* int ret;
* ret = psp2LinkInit("172.26.0.2",0x4711,0x4712,0x4712, DEBUG);
* @endcode
*
* @param serverIp - server ip for udp debug
* @param requestPort - ps4  port server for fileio requests
* @param debugPort - udp port for debug
* @param commandPort - ps4  port server for commands
* @param level - DEBUG,ERROR,INFO or NONE
*/
int ps4LinkInit(char *serverIp, int requestPort,int debugPort, int commandPort,int level)
{
    int ret;
 
    if(ps4LinkCreateConf())
    {
        return ps4LinkGetValue(PS4LINK_ACTIVE);
    }
    configuration->ps4link_requests_port=requestPort;
    configuration->ps4link_commands_port=commandPort;
    configuration->ps4link_debug_port=commandPort;
 
 
 
    if(debugNetInit(serverIp,debugPort,level))
    {
        sleep(2);
     
        configuration->debugconf=debugNetGetConf();
     
        ret=scePthreadCreate(&server_request_thid, NULL, ps4link_requests_thread, NULL, "ps4link_request_server_thread");
     

        if(ret==0)
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server request thread UID: 0x%08X\n", server_request_thid);
         
        }
        else
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server request thread could not create error: 0x%08X\n", ret);
            scePthreadCancel(server_request_thid);
            ps4LinkFinish();
            return 0;
        }
 
        ret=scePthreadCreate(&server_command_thid, NULL, ps4link_commands_thread, NULL, "ps4link_command_server_thread");
     
        if(ret==0)
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server command thread UID: 0x%08X\n", server_command_thid);
        }
        else
        {
            debugNetPrintf(DEBUG,"[PS4LINK] Server command thread could not create error: 0x%08X\n", server_command_thid);
            scePthreadCancel(server_request_thid);
            scePthreadCancel(server_command_thid);
            ps4LinkFinish();
            return 0;
        }
 
     
 
        /*ps4link library initialized*/ 
        configuration->ps4link_initialized = 1;
     
    }
    else
    {
        configuration->ps4link_initialized = 0;
    }
    sleep(2);
    return ps4LinkGetValue(PS4LINK_ACTIVE);
}
int ps4LinkSetConfig(ps4LinkConfiguration *conf)
{
    if(!conf)
    {
        return 0;
    }
    configuration=conf;
    external_conf=1;
    return 1;
}
ps4LinkConfiguration *ps4LinkGetConfig()
{
    if(!configuration)
    {
        return NULL;
    }
    return configuration;
}
int ps4LinkInitWithConf(ps4LinkConfiguration *conf)
{
 
    int ret;
    ret=ps4LinkSetConfig(conf);
    if(ret)
    {
        if(debugNetInitWithConf(conf->debugconf))
        {
     
            debugNetPrintf(INFO,"ps4link already initialized using configuration from ps4link\n");         
            debugNetPrintf(INFO,"ps4link_fileio_active=%d\n",ps4LinkGetValue(FILEIO_ACTIVE));
            debugNetPrintf(INFO,"ps4link_cmdsio_active=%d\n",ps4LinkGetValue(CMDSIO_ACTIVE));
            debugNetPrintf(INFO,"ps4link_initialized=%d\n",ps4LinkGetValue(PS4LINK_ACTIVE));
            debugNetPrintf(INFO,"ps4link_requests_port=%d\n",ps4LinkGetValue(REQUESTS_PORT));
            debugNetPrintf(INFO,"ps4link_commands_port=%d\n",ps4LinkGetValue(COMMANDS_PORT));
            debugNetPrintf(INFO,"ps4link_debug_port=%d\n",ps4LinkGetValue(DEBUG_PORT));
            debugNetPrintf(INFO,"ps4link_fileio_sock=%d\n",ps4LinkGetValue(FILEIO_SOCK));
            debugNetPrintf(INFO,"ps4link_requests_sock=%d\n",ps4LinkGetValue(REQUESTS_SOCK));
            debugNetPrintf(INFO,"ps4link_commands_sock=%d\n",ps4LinkGetValue(COMMANDS_SOCK));
            return ps4LinkGetValue(PS4LINK_ACTIVE);
        }
        else
        {
            return 0;
        }
    }
    else
    {
        return 0;
    }
}
int ps4LinkCreateConf()
{ 
    if(!configuration)
    {
        configuration=malloc(sizeof(ps4LinkConfiguration));
        configuration->ps4link_fileio_active=1;
        configuration->ps4link_cmdsio_active=1;
        configuration->ps4link_initialized=0;
        configuration->ps4link_fileio_sock=-1;
        configuration->ps4link_requests_sock=-1;
        configuration->ps4link_commands_sock=-1;
        return 0;
    }
    if(configuration->ps4link_initialized)
    {
        return 1;
    }
    return 0;         
}


/**
* Get configuration values from PS4Link library
*
* @par Example:
* @code
* ps4LinkGetValue(PS4LINK_ACTIVE);
* @endcode
*/
int ps4LinkGetValue(ps4LinkValue val)
{
    int ret;
    switch(val)
    {
        case FILEIO_ACTIVE:
            ret=configuration->ps4link_fileio_active;
            break;
        case CMDSIO_ACTIVE:
            ret=configuration->ps4link_cmdsio_active;
            break;
        case DEBUGNET_ACTIVE:
            ret=configuration->debugconf->debugnet_initialized;
            break;
        case PS4LINK_ACTIVE:
            ret=configuration->ps4link_initialized;
            break;
        case REQUESTS_PORT:
            ret=configuration->ps4link_requests_port;
            break;
        case COMMANDS_PORT:
            ret=configuration->ps4link_commands_port;
            break;
        case DEBUG_PORT:
            ret=configuration->ps4link_debug_port;
            break;
        case FILEIO_SOCK:
            ret=configuration->ps4link_fileio_sock;
            break;
        case REQUESTS_SOCK:
            ret=configuration->ps4link_requests_sock;
            break;
        case COMMANDS_SOCK:
            ret=configuration->ps4link_commands_sock;
            break;
        case DEBUG_SOCK:
            ret=configuration->debugconf->SocketFD;
            break;
        case LOG_LEVEL:
            ret=configuration->debugconf->logLevel;
            break;
        default:
            ret=0;
            break;
    }
    return ret;
}
/**
* Finish PS4Link library
*
* @par Example:
* @code
* ps4LinkFinish();
* @endcode
*/
void ps4LinkFinish()
{
    if(!external_conf)
    {
        configuration->ps4link_fileio_active=0;
        configuration->ps4link_cmdsio_active=0;
        configuration->ps4link_initialized=0;
        ps4LinkRequestsAbort();
        while(ps4LinkRequestsIsConnected())
        {
     
        }
        debugNetFinish();
    }
}
I am man of his word, and I will ask divided material can even help. the first step is made.

which about your down to earth estimations a cfw will come after lets say after 7 months?
 
I do not work in one direction ps4 among the site there are 4-5 people, will take time until I find binaries code lv1-0.
which about your down to earth estimations a cfw will come after lets say after 7 months?
I find the code, sooner or later - and then give it to other people and they decide to do something or not to you. but I think I will outstrip possibly can rebug team.
 
Status
Not open for further replies.
Back
Top