Exemple #1
0
int _main(void) {
	// Init and resolve libraries
	initKernel();
	
	initLibc();
	initNetwork();


	// Connect to server and send message
	char socketName[] = "debug";

	struct sockaddr_in server;

	server.sin_len = sizeof(server);
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));

	int sock = sceNetSocket(socketName, AF_INET, SOCK_STREAM, 0);
	sceNetConnect(sock, (struct sockaddr *)&server, sizeof(server));

	debug(sock, "PID: %d", syscall(20));

	sceNetSocketClose(sock);


	// Return to browser
	return 0;
}
Exemple #2
0
int _main(void)
{
	// Init and resolve libraries
	initKernel();
	initLibc();
	initNetwork();
	initPthread();

	// Init netdebug
	struct sockaddr_in server;
	server.sin_family = sceNetHtons(AF_INET);
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));

	netdbg_sock = sceNetSocket("netdebug", AF_INET, SOCK_STREAM, 0);
	sceNetConnect(netdbg_sock, (struct sockaddr *)&server, sizeof(server));


	ftp_init(PS4_IP, PS4_PORT);

	//INFO("PS4 listening on IP %s Port %i\n", PS4_IP, PS4_PORT);

	while (1) {
		sceKernelUsleep(100 * 1000);
	}

	ftp_fini();

	return 0;
}
Exemple #3
0
int _main(void) {
	// Init and resolve libraries
	initKernel();
	
	initLibc();
	initNetwork();
	
	
	// Connect to server
	char socketName[] = "debug";
	
	struct sockaddr_in server;
	
	server.sin_len = sizeof(server);
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));
	
	int sock = sceNetSocket(socketName, AF_INET, SOCK_STREAM, 0);
	sceNetConnect(sock, (struct sockaddr *)&server, sizeof(server));
	
	
	// Get font path
	char path[256] = "/";
	int length = 11;
	getSandboxDirectory(path + 1, &length);
	strcpy(path + 11, "/common/font/DFHEI5-SONY.ttf");
	
	
	// Open for reading, and get size
	int fd = open(path, O_RDONLY, 0);
	
	struct stat s;
	fstat(fd, &s);
	
	
	// Allocate buffer and read
	char *buffer = malloc(s.st_size);
	
	read(fd, buffer, s.st_size);
	
	close(fd);
	
	
	// Send
	sceNetSend(sock, buffer, s.st_size, 0);
	
	free(buffer);
	
	sceNetSocketClose(sock);
	
	
	// Return to browser
	return 0;
}
Exemple #4
0
int _main(void) {
	// Pass address of a syscall gadget in rcx
	register f rcx asm("rcx");
	directSyscall = rcx;
	
	
	// Init and resolve libraries
	initLibc();
	initNetwork();
	
	
	// Connect to server and send message
	char socketName[] = "debug";

	struct sockaddr_in server;

	server.sin_family = sceNetHtons(AF_INET);
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));

	int sock = sceNetSocket(socketName, AF_INET, SOCK_STREAM, 0);
	sceNetConnect(sock, (struct sockaddr *)&server, sizeof(server));
	

	char buffer[512];
	struct dirent *dent;
	
	int dfd = open("/", O_RDONLY, 0);
	if(dfd < 0) {
		debug(sock, "Invalid directory.\n");
		return 1;
	}
	
	while(getdents(dfd, buffer, sizeof(buffer)) != 0) {
        dent = (struct dirent *)buffer;

        while(dent->d_fileno) {
                debug(sock, "%s\n", dent->d_name);

                dent = (struct dirent *)((void *)dent + dent->d_reclen);
        }
		
		memset(buffer, 0, sizeof(buffer));
	}
	
	
	// Return to browser
	close(dfd);
	sceNetSocketClose(sock);
	
	return 0;
}
Exemple #5
0
void blob_transfer_init()
{
    struct sockaddr_in server;
    memset(&server, 0, sizeof(server));
    server.sin_len = sizeof(server);
    server.sin_family = AF_INET;
    server.sin_addr.s_addr = BLOBS_ADDR;
    server.sin_port = sceNetHtons(BLOBS_PORT);

    blobs_sockfd = sceNetSocket("blobs", AF_INET, SOCK_STREAM, 0);
    sceNetConnect(blobs_sockfd, (struct sockaddr *)&server, sizeof(server));
}
Exemple #6
0
int _main(void) {
	// Init and resolve libraries
	initLibc();
	initNetwork();
	
	
	// Connect to server
	char socketName[] = "debug";

	struct sockaddr_in server;

	server.sin_len = sizeof(server);
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));

	int sock = sceNetSocket(socketName, AF_INET, SOCK_STREAM, 0);
	sceNetConnect(sock, (struct sockaddr *)&server, sizeof(server));

	
	// Read / directory
	char buffer[512];
	struct dirent *dent;

	int dfd = open("/", O_RDONLY, 0);
	if(dfd < 0) {
		debug(sock, "Invalid directory.\n");
		return 1;
	}

	while(getdents(dfd, buffer, sizeof(buffer)) != 0) {
		dent = (struct dirent *)buffer;

		while(dent->d_fileno) {
				debug(sock, "[%s]: %s\n", entryName(dent->d_type), dent->d_name);

				dent = (struct dirent *)((void *)dent + dent->d_reclen);
		}

		memset(buffer, 0, sizeof(buffer));
	}


	// Return to browser
	close(dfd);
	sceNetSocketClose(sock);

	return 0;
}
Exemple #7
0
int _main(void) {
	// Init and resolve libraries
	initLibc();
	initNetwork();
	initPad();
	
	
	// Connect to debug server
	char socketName[] = "debug";
	
	struct sockaddr_in server;
	
	server.sin_len = sizeof(server);
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = IP(192, 168, 0, 4);
	server.sin_port = sceNetHtons(9023);
	memset(server.sin_zero, 0, sizeof(server.sin_zero));
	
	int sock = sceNetSocket(socketName, AF_INET, SOCK_STREAM, 0);
	sceNetConnect(sock, (struct sockaddr *)&server, sizeof(server));
	
	
	// Browser /user/home/ to see all user IDs (in hex)
	int userID = 0x10000000;
	
	int pad = scePadOpen(userID, 0, 0, NULL);
	
	while(1) {
		scePadReadState(pad, data);
		sceNetSend(sock, data, 0x60, 0);
	}
	
	
	// Return to browser
	scePadClose(pad);
	sceNetSocketClose(sock);
	
	return 0;
}
Exemple #8
0
static void client_open_data_connection(ClientInfo *client)
{
	int ret;
	UNUSED(ret);

	unsigned int addrlen;

	if (client->data_con_type == FTP_DATA_CONNECTION_ACTIVE) {
		/* Connect to the client using the data socket */
		ret = sceNetConnect(client->data_sockfd,
			(SceNetSockaddr *)&client->data_sockaddr,
			sizeof(client->data_sockaddr));

		DEBUG("sceNetConnect(): 0x%08X\n", ret);
	} else {
		/* Listen to the client using the data socket */
		addrlen = sizeof(client->pasv_sockaddr);
		client->pasv_sockfd = sceNetAccept(client->data_sockfd,
			(SceNetSockaddr *)&client->pasv_sockaddr,
			&addrlen);
		DEBUG("PASV client fd: 0x%08X\n", client->pasv_sockfd);
	}
}
Exemple #9
0
/**
 * Init debugnet library 
 *
 * @par Example:
 * @code
 * #define LOGLEVEL 3  
 * int ret;
 * ret = debugNetInit("172.26.0.2", 18194, DEBUG);
 * @endcode
 *
 * @param serverIP - your pc/mac server ip
 * @param port - udp port server
 * @param level - DEBUG,ERROR,INFO or NONE 
 */
int debugNetInit(char *serverIp, int port, int level)
{
    int ret;
    SceNetInitParam initparam;
    SceNetCtlInfo info;
    struct SceNetSockaddrIn stSockAddr;
	debugNetSetLogLevel(level);
    if (debugnet_initialized) {
        return debugnet_initialized;
    }
    /*net initialazation code from xerpi at https://github.com/xerpi/FTPVita/blob/master/ftp.c*/
    /* Init Net */
    if (sceNetShowNetstat() == PSP2_NET_ERROR_ENOTINIT) {
        net_memory = malloc(NET_INIT_SIZE);

        initparam.memory = net_memory;
        initparam.size = NET_INIT_SIZE;
        initparam.flags = 0;

        ret = sceNetInit(&initparam);
        //printf("sceNetInit(): 0x%08X\n", ret);
    } else {
        //printf("Net is already initialized.\n");
    }

    /* Init NetCtl */
    ret = sceNetCtlInit();
    //printf("sceNetCtlInit(): 0x%08X\n", ret);
   

    /* Get IP address */
    ret = sceNetCtlInetGetInfo(PSP2_NETCTL_INFO_GET_IP_ADDRESS, &info);
    //printf("sceNetCtlInetGetInfo(): 0x%08X\n", ret);


    /* Save the IP of PSVita to a global variable */
    sceNetInetPton(PSP2_NET_AF_INET, info.ip_address, &vita_addr);
	
	/* Create datagram udp socket*/
    SocketFD = sceNetSocket("debugnet_socket",
        PSP2_NET_AF_INET , PSP2_NET_SOCK_DGRAM, PSP2_NET_IPPROTO_UDP);
   
    memset(&stSockAddr, 0, sizeof stSockAddr);
	
	/*Populate SceNetSockaddrIn structure values*/
    stSockAddr.sin_family = PSP2_NET_AF_INET;
    stSockAddr.sin_port = sceNetHtons(port);
    sceNetInetPton(PSP2_NET_AF_INET, serverIp, &stSockAddr.sin_addr);

	/*Connect socket to server*/
    sceNetConnect(SocketFD, (struct SceNetSockaddr *)&stSockAddr, sizeof stSockAddr);

	/*Show log on pc/mac side*/
	debugNetUDPPrintf("debugnet initialized\n");
	debugNetUDPPrintf("Copyright (C) 2010,2015 Antonio Jose Ramos Marquez aka bigboss @psxdev\n");
	debugNetUDPPrintf("This Program is subject to the terms of the Mozilla Public\n"
		"License, v. 2.0. If a copy of the MPL was not distributed with this\n"
		"file, You can obtain one at http://mozilla.org/MPL/2.0/.\n");
    debugNetUDPPrintf("ready to have a lot of fun...\n");

	/*library debugnet initialized*/
    debugnet_initialized = 1;

    return debugnet_initialized;
}