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

#1921
Puedes usar la funcion kbhit() o _kbhit() para revisar el buffer en busca de la tecla. También tienes getasynckeystate()
Para algo sencillo te sirve, pero si en el futuro quieres un keylogger en C++ o algo así multiplataforma te va a ir horrible.

Hay burradas de maneras distintas de hacerlo. Las que mejor funcionan pasan por usar bibliotecas bastante grandes dependiendo de para que vayas a usar el software unas o otras. Por ejemplo los eventos de SDL2 son una marabilla pero tienes que tener la ventana al frente, por lo que para keyloggers chungo. En Qt también hay eventos de teclas, ni idea de si sirve para keylogger. Hay chorrocientas bibliotecas con sus implementaciones. También hay keyloggers codigo abierto en github para que veas que librerías suelen usar y para que plataformas.

Para windows tienes windows.h y hay varias formas de hacerlo.

Si te da todo igual y quieres algo que te funcione y ya, la manera más cutre y sencilla de hacerlo que de me ocurre:
Código (cpp) [Seleccionar]
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
bool mantenerseEnBucle = true;

  while(mantenerseEnBucle)
  {

   if(GetAsyncKeyState(VK_ESCAPE))
     {
      mantenerseEnBucle = false;
      cin.ignore();
      }
   }

return 0;
}

Puedes meterle un sleep entre cada iteración del bucle para reducir la carga en el procesador pero igual no te registra la tecla si coincide con el sleep. Por eso se suele usar _kbhit() y comprobar el buffer, pero también tiene sus problemas de no registrar teclas. Mi primer keylogger lo hice con _kbhit() y era una patata, no pillaba ni el 60% de las pulsaciones por mucho que lo ajustaba.
Entre otras formas puedes consultar la documentación oficial de microsoft con winapi para buscar una manera funcional y práctica de hacerlo. O lo que te comenté de revisar keyloggers código abierto y probar alguno que te funcione guay para mirar la documentación de las funciones y librerías que usan. Los código de botnets y rotkits suelen tener también módulos de keyloggers totalmente funcionales.

El std no recoge forma std de hacerlo.  

Tu código no hace nada porque no tienes nada que revise el buffer, o capture teclas, solo el virtual code de la tecla, pero no lo comparas con nada.

Pd: stdlib.h te sobra, no la estás usando. Y si en otros códigos no vas a usar window.h para nada extra que no sea system, tienes la alternativa de cin.get(); que viene incluida en iostream.

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;
int main()
{
cout << "Ejemplo" << endl << "xD" << endl;
cin.get();
return 0;
}
#1922
Hardware / Re: Cable USB vs Cable USB
4 Agosto 2019, 10:14 AM
Buena info EdePC, tengo un ratón tope de gama para competitivo con 48.000 dpi, buen polling rate, software para ajustar el desplazamiento sin hacer pixel skips hasta 24.000 dpi, parecido a la sensibilidad de windows pero multiplataforma y sin problemas de movimientos inestables para que respete la memoria muscular orientado a juegos y trae cable USB de oro. Es el oro el mejor conductor? Me suena que había otro mejor que estudiara en tecnología en bachiller que había en minas del cañón de no sé dónde en America.
Por qué se usa el oro entonces en estos dispositivos?
También uso el smartphone por usb como teclado debido a que la táctil tiene menos retardo que la bajada de tecla de un tecládo mecánico aunque le tantes los gramos y estes rozando el switch de la tecla. Probé con servers en local por wi-fi pero va como el ojete. Tiene cerca de 100ms de retardo y no siempre es constante.
#1923
Cita de: MinusFour en  4 Agosto 2019, 02:41 AMPero si vas a hacer el cambio a javascript, vas a tener que dejar PHP atrás. Y no me refiero a que te olvides de todo lo que sabes de PHP, sino que vas a tener que dejar de pensar en PHP y pensar en javascript. Si intentas escribir javascript en PHP vas a tener muchos problemas. javascript toma de muchos lenguajes y es su propia bestia.
Estoy de acuerdo, según el libro que leas o el lenguaje del que procedas javascript es un lenguaje totalmente distinto. Prácticamente tienes que pensar como si fuesen 3 o 4 lenguajes distintos convinados en uno. Así alguien que venga de html/html5, C/C++, python o php entre otros, van a programar de forma totalmente distinta con javascript. Yo personalmente lo veo como 3 lenguajes distintos cuando programo, uno para aplicaciones, otro para diseño web, y otro como un Css 2.0 con sus animaciones y su modificación de webs. Y todo va junto en el mismo documento. Pero no deja de ser javascript. Dependiendo del libro que pilles te das cuenta del background del autor por la forma de programar.
#1924
Cita de: EdePC en  4 Agosto 2019, 03:05 AM
Saludos,

- A mi me funciona bien:

- Solo tienes que considerar que el margen es la distancia máxima que puede haber antes de bajar el Scroll al máximo, es decir, puede ser el tamaño en pixeles de tu pie de página.

- El margen debería de ser 0, pero no es así debido a los cálculos previos [ $(document).height() - $(window).scrollTop() - $(window).height() ] lo cual devuelve un decimal muy cercano a cero pero no cero.

- Puedes tener problemas en el funcionamiento debido a que usas alert(), ya que este toma el foco y deja desconcertado al scroll, este scroll podría seguir moviéndose o quedar en stand by. Además debes considerar de que el evento scroll se realiza cuando el scroll se mueve/cambia, y esto sucede cuando se cambia de tamaño la ventana, el usuario lo mueve, se hace zoom, etc. Por esto es que se te ejecuta varias veces si el scroll se encuentra tocando el "margen" y se produce alguno de estos eventos.
La explicación del alert no es correcta. El scroll no se vuelve loco tras un alert. Se ejecuta múltiples veces por como está implementada la función en Jquery, no porque el cambio de foco afecte de ninguna forma al scroll o se vuelva a detectar un evento debido al cambio de foco. Es importante aclararlo porque se puede registrar prácticamente cualquier evento, cambio de foco incluido.

La función del scroll en Jquery no es más que un bindeo de un handler a un evento en javascript. Cada vez que el scroll se mueve se hace una llamada al handler del evento.

Puedes desbindear el handler justo antes del alert o el prompt y el trigger del evento no hace nada ya que el handler esta desbindeado de la funcion tras el evento y lo vuelves a bindear con un click del mouse, una pulsación del teclado, un movimiento en la rueda del ratón o un timer para que no haga trigger al mostrar el alert entre otras opciones.
https://plainjs.com/javascript/events/binding-and-unbinding-of-event-handlers-12/
Puedes usar .removeEventListener('evento', nombreDelHandler)

Otra opción es bindear el handler solo al scroll principal como lo harías para un contenedor en html y no a todo el documento, por lo que así no detectaría nuevos objetos ni eventos relacionados con otros scrolls en la página. Ya que tal y como está, si metes 20 scrolls y el tamaño coincide o excede el ejemplo para por ejemplo mostrar ejemplos de un código, imagenes desplazables, etc todos te van a hacer trigger, incluyendo los alert y prompt y no solo al llegar al pie de página como se requiere.

Tema a parte, el performance se reduce mucho ya que la llamada al handler se hace continuamente al ir desplazando el scroll independientemente de que haga trigger o no del alert, por lo que lo más lógico es ponerle un delay tras detectar cada evento.
Lo haces de forma muy simple añadiendo un booleano para que no se llame a la función scroll tras ser comprobada, y al pasar X milisegundos vuelves a cambiar el valor del booleano para que se vuelva a comprobar.

Usando vanilla:
https://developer.mozilla.org/es/docs/Web/API/Document/scroll_event

Usando Jquery:
Código (javascript) [Seleccionar]
var scrollEnMovimiento = false;
$(window).scroll(esperaScroll()
{
scrollEnMovimiento = true;
});
setInterval(esperaScroll()
{
if (scrollEnMovimiento)
{
scrollEnMovimiento = false;
//Lo que quieras hacer.
}
}, 200 );

200 es el tiempo de delay en milisegundos.

En la mayoría de navegadores también puedes usar capture con pasive y active para settear true y false.
#1925
Hardware / Re: Cable USB vs Cable USB
3 Agosto 2019, 23:50 PM
Cual es tu pregunta? Para que sirve el hembra de USB? Para adaptadores. Yo lo uso de alargador por ejemplo para enchufar el cabezal macho a la placa y tener un conector hembra al que meterle un pendrive sin necesidad de abrir el gabinete. Puedes poner varios en una chapa atornillada a la mesa al lado de donde tengas el teclado y así conectas los pendrives pinchándolos en la mesa sin moverte.  Muy cómodo!

Pd: Si piensas que los dos cabezales de la foto son hembras, no son 2 cables distintos. Uno es el cabezal macho y el otro el hembra.
Los machos no tienen espacio debajo del plástico (color azul en la foto que posteas) Los cabezales hembra si tienen hueco para que pueda entrar el macho y quede sujeto sin tambalearse. En la foto es un solo cable doblado para que veas los 2 cabezales del cable y sepas que es un macho-hembra.

Pd2: No me cargara la otra foto. Es solo una cobertura de plástico. Será por si te toca con algo métalico al soltársete no te carges nada, evitar suciedad y humedad, interferencias, lo típico.
#1926
Si realmente quieres cambiar, node.js es la mejor alternativa con diferencia. Programas en servidor, cliente, escritorio, movil, web y todo lo que se te ocurra. No es para nada complejo. Complejo es algo de lo que no hay documentación y tienes que reinventar la rueda. Hay 50.000 tutos, guias y libros de calidad para aprender desde 0.
https://www.hongkiat.com/blog/node-js-server-side-javascript/amp/
https://www.w3schools.com/nodejs/
https://blog.bitsrc.io/a-beginners-guide-to-server-side-web-development-with-node-js-17385da09f93
https://www.sitepoint.com/learn/nodejs-tutorials/
https://www.amazon.es/Learning-Node-js-Development-Andrew-Mead/dp/1788395549
https://www.amazon.es/Advanced-Node-js-Development-Andrew-Mead/dp/1788393937
https://www.amazon.com/Node-js-Web-Development-Server-side-development/dp/1788626850
https://www.pdfdrive.com/search?q=node.js&r=1

A parte de los lenguajes listados tienes Java como otra alternativa de las más usadas.
https://es.m.wikipedia.org/wiki/Java_Servlet

De todas formas PHP está lejos de extingirse, sigue siendo el lenguaje prioritario usado a diestro y siniestro. Esto implica muchos tutos y libros de calidad. Si te gusta y te parece más sencillo no tienes necesidad de cambiar.
#1927
Usa addeventlistener de js vanilla. El 13 es el número de píxeles desde el final del scroll hacia arriba por si quiere realizar algo antes de llegar al pie de página:
Código (javascript) [Seleccionar]
(DetectarFinalDeScroll( x, y ) {
x.addEventListener( 'scroll', DetectarFinalDeScroll() { if ( x.innerHeight x.scrollY > y.height - 13) { //Aqui el codigo a ejecutar.
} } ); })( window, document );
#1928
Está chulo! Puedes añadirle más funciones, es lo más sencillo.
Estoy yo con un proyecto parecido pero en C++ con Winapi. Empezó como cifrado cesar para conocer la biblioteca y le voy metiendo más funciones y añadiéndolas al menú desplegable. Le metí un menú desplegable con opciones del tipo:
Cesar (ANSI)
Cesar (UTF-8)
Base64
Base64 (descifrar)
Serpent
Serpent (descifrar)
Vigenere
Vigenere (descifrar)

Al maximizar se descubre una interfaz con checkboxes con opciones del tipo:
Crear log al salir
  • Reverso del texto

  • Crear Nuevo Perfil (Introduzca nombre de su nuevo cifrado) [___________]
    Exportar perfil

  • Cargar perfil guardado: [SELECCIONAR ARCHIVO]

    Cuando le meta todo lo rescribiré en javascript para ponerlo online.
#1929
Foro Libre / Re: Empleo
3 Agosto 2019, 07:32 AM
Quien me diera a mi. Siempre se me dieron bien las mates de operaciones rápidas y mentales y resolución de problema de formas ingeniosas. Pero en el momento que las mates dejaron de ser números y pasaron a ser letras y fórmulas, junto a mi creciente desinterés total por ser una oveja que estudiaría 20 años de derecho para acabar en un Macdonals...

Si al final la uni es para el título no para aprender. A mi me parece que el sistema educativo después de la primaria cuando ya tienes bases para poder empezar a tu rollo leyendo libros para dedicarte a cualquier cosa, no hace más que limitarte, hacerte perder el tiempo, memorizar cosas inútiles que podrías resolver en 10 segundos desde google.com si te hacen falta, etc.
La educación avanzada te dará muchas herramientas, sí. Pero para que quiere un jardinero una lanzadera espacial? Un arquitecto un cortacesped, un cirujano una motosierra o un pintor un llave inglesa?
Eso bajo mi punto de vista es la educación a partir de los 7 años. Clases de música y religión para futuros astrofísicos.

Sistemas educativos que alejan del camino del conocimiento a gente que podría revolucionar el mundo para mejor y acaba de sirvecopas en un after para pagarse el desayuno.

Parece como si no interesase. Está claro que no todos podemos ser lo que queramos, tiene que haber matapollos. Pero quien lo decide?
Quien mete la mano y dice; no mejores el fácilmente mejorable sistema educativo?

Si desde pronto se orientase a los niños para que eliguiesen una senda que les pudiese llevar a una intersección como muchas salidas afines a sus inquietudes, podría prepararse muy fácilmente. Hay millones de libros, así como múltiples profesores, familiares, trabajadores sociales, psicólogos, etc.

Básicamente si odias el sistema educativo (que es una ***** a más no poder) y no quieres seguirlo, te cierras un montón de salidas profesionales.

Después un mono te dirá lo que tienes que hacer porque su agudo retraso mental, su falta de inquietudes, y su hacer lo que le dicen sin pensar por si mismo le permitió tirarse 40 años leyendo libros y memorizando palabras. Aún incapaz de resolver problemas del tipo qué pesa más, un kilo de arroz o un kilo de metal?

Al final te queda destruirte a ti mismo y hacer algo que odias durante años para con suerte trabajar unos cuantos años con gente que odias bajo las órdenes de quien llegó antes y se dedica a pisotear talentos para mantener su puesto y que prevalezcan sus inaptitudes en forma de burlas hacia los de abajo.
Para que cuando vayas a jubilarte te encuentres con una estafa de un banco y te pete la patata antes de cobrar un duro.

Casos como estes no hay pocos.

Después nos estraña que paises y sectores antes prósperos se vayan a la *****, crisis, etc.

La mayoría son robots programados para X que en cuanto les surge Y se cagan encima.

Si eres capaz de finalizar la Uni te aplaudo, el papelito es una llave para un montón de puertas. Ahora, para aprender si te interesa o gusta algo, mejor por tu cuenta. Puedes consultar material universitario. Yo me leí un montón de libros de Unis de programación de videojuegos con SDL/SDL2 y fueron para la basura por estar desactualizados y enseñarte a usar una biblioteca y hacer un juego tipo texto que cualquieran que sepa imprimir un texto en pantalla, usar arrays y obtener la entrada por consola podría hacer, en vez de enseñar a programar videojuegos. En cambio otros de autores independientes y dirigidos a todos los públicos te enseñaban 100 veces más en 4 parrafos que 400 página para hacer un juego en texto con una librería gráfica. En plan, wtf.

Me encontré muchísimo material que se utiliza en Unis y creado por el propio profesorado para que otros impartiesen clases siguiéndolo. Pura basura.
En cambio tienes libros de desarrolladores profesionales que no saben ni lo que es magisterio y te quedas tonto con la cantidad de conocimientos que aportan en sus libros.
#1930
Puedes desarrollar apps para hacking en android. Hay pocas y muchas son realmente sencillas de desarrollar o de portar. O multiplataforma y las cuelgas en la web con versión descargable como .apk

No necesitas más. De sistemas operativos para smartphones ni idea. Había el ubuntu móvil, windows phone, etc. Pero no se si sirven para todos. Yo como suelo usar emuladores tipo bluestacks y el virtualizador que viene recomendado en el sdk studio no sabría decirte. Me suena que el ubuntu mobile lo dejaron tirado.