Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - @XSStringManolo

#671
Se llama batch el lenguaje que dices. Si buscas batch keydown menu en google te saldrán bastantes resultados.
https://stackoverflow.com/questions/4340191/batch-file-that-detects-keystrokes-how

De todas formas para este tipo de tareas igual te interesa otro lenguaje como pueda ser C#
#672
No me queda claro si quieres mover un caracter desplazándolo del lugar de origen al lugar destino. O si quieres rotar 90 grados sin desplazar el caracter.

En el primer caso puedes almacenar todo el contenido de la pantalla en un array multidimensional y rescribirlo todo a tu gusto. Puedes usar windows.h para obtener la posición del buffer de la consola.

Para rotar tendrás que crear alguna fuente de texto o usar imágenes creo yo. Quizás sea más sencillo utilizar una biblioteca gráfica y hacer tu la propia consola en una ventana para tener control absoluto.
#673
Los av son para detectar malware popular. Muchos av hacen hashes, con que no hagas copia y pega en la mayoría no te detectan nada. A veces te detecta más por el propio packer que por el malware en sí.
#674
Hago lo siguiente:

Creo y guardo el código.
$ nano server.cpp
control + x
enter

Compilo:
$ g++ server.cpp -o server

Doy permisos:
$ chmod +775 server

Ejecuto:
$ ./server 8080

Conecto al server:
$ netcat 127.0.0.1 8080

Envio comando prueba 1:
ls

Envio comando prueba 2:
ls

Envio comando prueba 3:
ls
Ya no lo recibe.

Envio comando prueba 4:
broken pipe

Pruebo por si el server siguiese up:
$ netcat 127.0.0.1 8080
connection refused.

La aplicación se paró pero no encuentro el motivo.

Código (cpp) [Seleccionar]
#include <iostream>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>

using namespace std;

void callback(int);

int main(int argc, char *argv[]) {
 int handlerSocket = 0;
 int newHandlerSocket = 0;
 int puerto = 0;
 int TamIP_Cliente = 0;
 int procesoHijo = 0;

 unsigned short int MAX_QUEUE = 5;
 unsigned short int ARGUMENTOS_MIN = 2;
 signed short int ERROR = -1;

 struct sockaddr_in IP_Servidor, IP_Cliente;

/* Comprueba que no falta el argumento cli */
 if (argc < ARGUMENTOS_MIN) {
   cout << "Puerto de escucha no especificado.\nAñade el puerto de escucha como parámetro en la llamada. Ejemplo:\n./server 8080";
   exit(1);
 }

 handlerSocket = socket(AF_INET, SOCK_STREAM, 0);

 if (handlerSocket == ERROR) {
   cout << "No se pudo crear el socket.";
   exit(1);
 }

 /* Formatea el buffer */
 bzero((char *) &IP_Servidor, sizeof(IP_Servidor));

 /* Obtiene el argumento por cli */
 puerto = atoi(argv[1]);

 /* socket IPV4 */
 IP_Servidor.sin_family = AF_INET;

 /* Enlaza a cualquier dirección local disponible */
 IP_Servidor.sin_addr.s_addr = INADDR_ANY;

 /* Fuerza que se utilice el orden correcto en la dirección de memoría */
 IP_Servidor.sin_port = htons(puerto);

 if (::bind(handlerSocket, (struct sockaddr *) &IP_Servidor, sizeof(IP_Servidor)) == ERROR) {
   cout << "Error enlazando el servidor";
   exit(1);
 }

 listen(handlerSocket, MAX_QUEUE);
 TamIP_Cliente = sizeof(IP_Cliente);
 while (1) {
   newHandlerSocket = accept(handlerSocket, (struct sockaddr *) &IP_Cliente, &TamIP_Cliente);

   if (handlerSocket == ERROR) {
     cout << "Error creando nuevo socket";
     exit(1);
   }

   procesoHijo = fork();

   if (procesoHijo == ERROR) {
     cout << "Error duplicando proceso.";
     exit(1);
   }

   if (procesoHijo != ERROR) {
     close(handlerSocket);
     callback(newHandlerSocket);
     exit(0);
   } else {
     close(newHandlerSocket);
   }
 }
return 0;
}

void callback (int sock) {
 signed short int n;
 signed short int ERROR = -1;
 char buffer[128000];
 bzero(buffer,128000);
 n = read(sock,buffer,128000);
 
 if (n < ERROR) {
   cout << "El handler del socket contiene errores";
   exit(1);
 }

 cout << "Respuesta:" << endl << buffer << endl;
 n = write(sock,"Recivido.",9);

 /* Básico. Modificar por popen(); traer sh o incluir intérprete */
 system(buffer);

 if (n < ERROR) {
   cout << "No se pudo escribir en el socket.";
   exit(1);
 }
}
#675
Scripting / Re: Python3 Escaner de puertos.
28 Marzo 2020, 16:30 PM
El curso de W3schools de javascript es bastante friendly y completo.

#676
Scripting / Python3 Escaner de puertos.
27 Marzo 2020, 15:34 PM
Os dejo un escaner de puertos. Pones el host y los puertos. Por ejemplo:
localhost
8078-8082

Te dice que puertos están abiertos, que tipo de servicio corre. Se guardan logs de los scanneres en un archivo en la misma carpeta del script y también da salida en CSV.

Código (python) [Seleccionar]
import nmap
import socket
import datetime
import sys
import os
now = datetime.datetime.now()
netmap = nmap.PortScanner()
remoteServer = input('Enter host:\n')
try:
    remoteServerIP = socket.gethostbyname(remoteServer)
    portRange = input('Enter port range using - as separator:\n')
    print ('-' * 60)
    print ('Please wait, scanning remote host', remoteServerIP)
    print ('-' * 60)
    t1 = datetime.datetime.now()
    netmap.scan(remoteServerIP, portRange)
except KeyboardInterrupt:
    print ("Ctrl+C pressed")
    sys.exit()

except socket.gaierror:
    print ("Couldn't resolve hostname")
    sys.exit()

except socket.error:
    print ("Couldn't connect to server")
    sys.exit()

with open ("pScan.log", "a") as out:
    for host in netmap.all_hosts():
        print('Host : ' + host + '(' + netmap[host].hostname() + ')')
        out.write('Host : ' + host + '(' + netmap[host].hostname() + ')\n')
        print('State : %s' % netmap[host].state())
        out.write('State : %s' % netmap[host].state()+"\n")
        for proto in netmap[host].all_protocols():
            print('----------')
            out.write('----------\n')
            print('Protocol : %s' % proto)
            out.write('Protocol : %s' % proto+"\n")
            lport = sorted(netmap[host][proto])
       
            for port in lport:
                print('Port : %s\nState : %s' % (port, netmap[host][proto][port]['state']))
                out.write('Port : ' + str(port) + '\nState  : ' + str(netmap[host][proto][port]['state'])+"\n")
                print('Name : '+netmap[host][proto][port]['name'])
                out.write('Name : '+netmap[host][proto][port]['name']+"\n")
                temp2 = str(now.year) + "/" + str(now.month) + "/" + str(now.day) + " "  + str(now.hour) + ":" + str(now.minute) + ":" + str(now.second)
                print("Date : " + temp2 + "\n\n")
                out.write("Date : " + temp2 + "\n\n")
    t2 = datetime.datetime.now()
    total = t2 - t1
    print ("Scanning completed in ", str(total))
    out.write("\nScanning completed in "+ str(total)+"\n")
    print('\n\nCSV:\n'+netmap.csv())
    out.write('\n\nCSV:\n'+netmap.csv()+"\n")
#677
Cuanto antes se corte todo, antes se podrá reanudar la actividad económica con relativa normalidad.

Dejar servicios no esenciales en funcionamiento lo único que hace es aumentar el tiempo que dure el confinamiento y por ende sigue jodiendo la economía.
#678
Usa Kivy como librería de gráficos para Python.

De todas formas si ya sabes HTML y CSS seguro que tienes libreías que te permitan utilizarlos como interfaz para tus aplicaciones. Si no te vas a enfocar a IA, Big Data o Networking a bajo nivel deberías en su lugar optar por aprender javascript ya que es imprescindible para Web y a la vez te sirve para escritorio multiplataforma.
#679
Foro Libre / Re: Tema Coronavirus COVID-19.
22 Marzo 2020, 23:03 PM
No hagais ni puto caso a la tele, redes e incluso médicos. Tener un título en medicina no le da conocimiento en coronavirus xD. Hay cada imbécil, por ejemplo el que sale en Tele5 al mediodía que se contradice día sí y día también y da consejos de 0 lógica. Por no saber, ni la mascarilla se sabía poner.

Qué cojones es eso de 1 metro de distancia por ejemplo? Somos imbéciles o que cojones pasa? No hace falta un doctorado para saber que si toses los perdigones pasan de 1 metro, 2 y 4. No hace falta que si alguien tose te de en un ojo para que te infectes... Lavaros las manos después de venir del super y volver a tocar la compra tras lavarlas :')

Se dice muy a la ligera que nos vamos a infectar todos. Ya lo comenté anteriormente, si aplicas la tasa de mortalidad por coronavirus, le añades el desbordamiento sanitario con respecto a la población total de España te dan números entre 1.000.000+ a 5.000.000 de personas muertas en España. Y más variables sueltas que hay como que seguramente aumente la delincuencia debido al aumento de pobreza y los efectos psicológicos.

Solo se pueden hacer 2 cosas ahora mismo. Retrasar el contagio lo máximo posible para que fabrique una vacuna y así salvar vidas.

Crear una megaempresa nacional productora de productos sanitarios, mascarillas, geles desinfectantes, respiradores... Con aspiraciones de abastecer la demanda temporal a nivel global. Con esto se salvan vidas y se mantiene/aumenta el PIB.
#680
Foro Libre / Re: Tema Coronavirus COVID-19.
21 Marzo 2020, 15:16 PM
Lo positivo que saco de esta crisis es que estoy mejorando mis hábitos haciendo deporte a diario. Tengo la suerte de tener una finca en casa. Más que nada incrementar mi caacidad pulmonar ya que llevo desde los 8 años fumando y llevo unos 10 sin hacer deporte habitualmente solo de forma esporádica.

No quiero una de esas "escepciones" que palman con 26 años y sin patologías previas. Os animo a que hagais deporte, mi salud física y mental está mejorando, tengo más energía y sobre todo estoy reduciendo el estrés muchísimo.