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 - WHK

#211
CitarPara los curiosos, el password para el archivo "windows_xp_source.rar" es:
internaldev
Saludos.

Ohh genial, yo lo estuve buscando por varios dias y no lo pude encontrar xD
#212
Bases de Datos / Re: Disparador
2 Octubre 2020, 00:08 AM
Normalmente lo que debes hacer es tener un registro de última conexión, entonces, en ves de saber con numeros los que estan conectados debieras tener un registro de servidores junto a una columna que indique la fecha de última conexión, luego calculas si esa fecha tiene mas de 30 segundos de antiguedad.

Por ejemplo, cada servidor envía una solicitud a un servidor, el servidor toma la dirección ip de procedencia y actualiza la tabla de servidores, algo así:

UPDATE servers SET last_connection = NOW() WHERE address = %s;

según sea tu tipo de base de datos, tendrás que usar una función de SQL que obtenga el año, mes, dia, hora, minuto y segundo, algo como YYYY-MM-DD HH:MM:SS. La comparación de campos de tipo TIMESTAMP en Mysql o similares en otros motores, tienen la ventja de que puedes buscar por rangos o realizar calculos de tiempos directamente sobre la base de datos, entonces, para saber si un servidor está en linea o no haces una consulta similar a esta:

SELECT 1 FROM servers
WHERE address = %s AND
last_connection > DATE_SUB(NOW(), INTERVAL 30 second)


Entonces, la última conexión debe ser mayor al tiempo actual menos 30 segundos, o sea, retornará un 1 si el servidor tuvo una conexión hace menos de 30 segundos.

Para saber todos los servidores conectados reemplazas el 1 por la dirección ip o nombre del servidor y listo. No necesitas procedimientos almacenados o un cron para eso, de hecho no es buena práctica porque escapa de la lógica de tu capa de negocio o capa de datos, si pones tus procedimientos en la base de datos no podrás crear una aplicación escalable ni de uso transaccional.

Saludos.
#213
Los videos están borrados, no alcancé a verlo y tampoco encuentro mirrors.

Edito: acá un mirror:

http://web.archive.org/web/20200926230319oe_/https://r2---sn-n4v7sn7s.googlevideo.com/videoplayback?expire=1601182973&ei=nMhvX6qnO4TSD8H4j_gG&ip=207.241.229.34&id=o-AG4_4MMPEXD3QiOxOOvrIzjWsb9eLEdBg5b45t98KzdP&itag=22&source=youtube&requiressl=yes&mh=ES&mm=31%2C26&mn=sn-n4v7sn7s%2Csn-a5mlrn76&ms=au%2Conr&mv=m&mvi=2&pl=20&initcwndbps=3778750&vprv=1&mime=video%2Fmp4&ratebypass=yes&dur=593.455&lmt=1601141926672733&mt=1601161227&fvip=2&fexp=23915654&c=WEB&txp=5316222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgRl54_iwdS2Nd9uE8RwhDoKF-WqZzJumW3TNC6v8hITUCIQC_u027_q7ZhlivFQB10T3wMYVYrl-JpGnLcIfi1hUjQA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgedqRL_AZEnwhlcN2QOvdJJttv4NaRKkXFRdeGcri3IkCIQCqKewNAfdaxEKegV5bxchfZ9zKDolEKRStpODTfsTVCA%3D%3D&video_id=8IyW-bwGQTQ
#214
Cuando veremos mspaint para linux? xD
#215
Hacking / Re: Incinera tu sitio WEB!
25 Septiembre 2020, 05:30 AM
warcry. , en su momento vi tu sitio web y me gustó mucho, de hecho se lo mostré a un amigo, nos recordó bastante a los sitios webs que haciamos antiguamente, solo que era totalmente estático y casi no tenia secciones, entonces no hubo mucho que revisar.

colcrt he revisado tu sitio y no se ve mal, no es mucho lo que tiene pero si se ve que tiene un wordpress bien actualizado y no hay mucho por donde buscarle salvo la captcha en la pagina de contacto que se ve bien facil de evadir y automatizar, pero ya es otro tema. Lo que si se es que revisando tu sitio web aprendí muchas cosas sobre los gatos que no sabía y estuvo bien interesante xD

Bienvenido Xyzed :)

Saludos.
#216
CitarLo mejor fue cuando Microsoft dijo en agosto algo así como que era muy difícil de explotar xD

Claro, tienen que proteger su dinero, imagina el dineral que gastan en intentar meter windows server en las empresas, bancos y demás instituciones metiendoles el dedo en la boca con temas de seguridad.

En su momento también dijeron que el sistema aticrackeo de pubg iba a tardar años en romper y al otro día de la publicación se lanzó el crack para el juego xD, lo mismo decian de themida y a las semanas después se lanzó unthemida.

Cuando existe un riesgo no te puedes fiar del tiempo en que alguien tardará en explotarlo, eso es totalmente ilógico.
#217
Como dice randomize, tienes dos opciones:

1. Utilizas la tecnología ya existente con el protocolo de conexión de las gafas hacia el software y este que sea multiplataforma, o sea java y desde el mismo sistema operativo restringes los permisos de ejecución.

2. Creas tu propia tecnología intentando reinventar la rueda a traves de un hardware personalizado que tenga embebido su propio software y que haga uso de su propio protocolo de comunicación y que este a su ves se integre con algun equipo que quieras hacer compatible.

Saludos.
#218
Programación General / Re: Tiempo de ejecucion
22 Septiembre 2020, 19:08 PM
Haz un benchmark desde una función interna y calcula el promedio de tiempo por x cantidad de datos entre a y b longitud y luego traspasa ese valor a tu código para determinar cuanto tiempo tardará ej procesar un conjunto de datos dependiendo de la longitud promedio. Pero creo que este proceso tardará más que el mismo intercambio de tamaño de memoria asignada para las variables xD
#219
Programación General / Re: Tiempo de ejecucion
22 Septiembre 2020, 06:15 AM
Pueso eso va a depender del lenguaje de programación que estés usando, principalmente si el lenguaje utiliza memoria reservada de manera fija para almacenar contenido de bytes como c, pero en casos como Java, Python, etc no necesitarás calcular el tamaño asignado porque realmente no existe un tamaño como tal ya que cada variable se guarda en memoria de manera dinámica según el caso a excepción de los arrays primitivos.

En el caso de c++ debes reemplazar la entrada por std::string ya que este es de almacenamiento dinámico automático, en el caso de c debes contar la cantidad de bytes y modificar el tamaño asignado de la variable y reasignar el contenido copiandolo directamente desde la memoria, el problema es que esto da un gran problema y es que pierde integridad de datos de entrada ya que si tienes una variable de n espacios reservados, entonces no deberías permitir una entrada mayor a esa cantidad de bytes y copiar unicamente desde el primer byte hasta la posición de n con memcpy() y malloc(), intentar designar un espacio constante a una variable que modificará su tamaño con el tiempo es antinatural, en ese caso utiliza directamente una variable de espacio dinámico con un puntero en memoria.

Imagina que crear variables es algo así como crear columnas en una tabla de una base de datos, puedes asignar longitudes cortas o muy largas reservadas, pero esto puede impactar de manera negativa o positiva ya que si tienes pocos registros largos en columnas con longitud reservada muy alta tendrás mucho espacio inflado con bytes nulos y aumentarás el uso de memoria ram, y si tu columna es muy corta entonces puedes tener problemas de integridad de datos de entrada, por lo que asignar un valor certero para cada cosa es indispensable. Toma como ejemplo los RFC de estándares de protocolos, cada dato en general tiene su longitud máxima para no abusar de la memoria y poder reservar espacios estrictamente estáticos como por ejemplo la longitud máxima de una dirección url aceptada por el protocolo http, una cabecera, un nombre de dominio, un correo electrónico, una dirección ip, un mensaje, un id, etc.

Si el proyecto es tuyo, te recomiendo mantener las variables con longitud estática y ser estricto en sus controles para evitar su desbordamiento, eso aumentará drásticamente el performance en el uso de memoria y cpu o utilizar directamente std:: pero impactará directamente en el consumo de memoria y cpu y la velocidad de ejecución, lo mismo sucede con lenguajes interpretados y semicompilados que necesiten de una máquina virtual como java, c#, cpython, etc.

CitarDigamos que para un determinado n el tiempo puede variar en el rango de dos funciones

En tu caso específico que neceistas que en x tiempo la longitud sea modificada deberás designar una variable numérica y actualizarla con pthread donde según ese valor numérico calculas cual tiene que ser la longitud deseada y modificas el tamaño de la entrada y de la variable que lo almacena, para lograr esto debes separar la funcionalidad del main() y pasarle como argumento a una función el valor máximo que soportará en memoria tus datos de entrada, con eso ya podrás hacerlo dinámico y cíclica. Sólo necesitarás unas 3 funciones nada más, el main, el hilo de proceso con el timer y la función que solicita el valor de entrada y listo. Si la aplicación no es persistente (solo se ejecuta una ves) entonces no necesitas el thread ni el timer, simplemente calculas el tiempo actual y en base a eso calculas la longitd dinámica de tu variable, luego copias de la memoria de argv y se lo pasas a la nueva variable teniendo cuidado del desbordamiento.

Mira esto:

https://en.wikipedia.org/wiki/Variable-length_array
https://www.geeksforgeeks.org/variable-length-arrays-in-c-and-c/

Saludos.
#220
Yo lo veo desde acá:

http://dragonball.sullca.com/
https://supergoku.com/ (buscas en la letra D)

Saludos.