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

#42
Necesitas interceptar el evento del cierre de tu consola con SetConsoleCtrlHandler

https://stackoverflow.com/questions/474679/capture-console-exit-c-sharp

NOTA: Ten en cuenta que otro evento que no sea CTRL+C no es posible cancelarlo
#43
Seguridad / Re: Un Trabajo Para la escuela
21 Julio 2020, 20:23 PM
Les recomiendo a ambos que lean y busquen informacion de diferentes tipos de malware, troyano, rat, ransomware, keylogger y spyware, rootkits, bots, gusanos, infestores de ejecutables, etc, etc...luego hacen una sesion de brainstorming entre los dos y de seguro algo interesante les debe salir
Saludos y suerte
#44
Una infografia adicional  ;)



Saludos
#45
El codigo que pones solo esta manipulando la UI, nada de test de velocidad. Los ficheros que debes mirar son speedtest.js y speedtest_worker.js, pero en fin, si lo que quieres es hacer un test de velocidad (cualquier lenguaje), solo tienes que descargar algun fichero de un servidor en internet y hacer algunos calculos para determinar cuanto tiempo toma. Conociendo el tamaño del fichero y el tiempo que tomo la descarga puedes calcular la velocidad de tu conexion. Lo mismo aplica para la velocidad de subida.
Saludos
#46
RtlAdjustPrivilege  es la llamada a mas bajo nivel (ntdll) de AdjustTokenPrivileges. Su objetivo es el de habilitar y/o deshabilitar privilegios en un proceso o hilo, OJO, los privilegios solo pueden ser habilitados y/o deshabilitados, no añadidos. Una lista de posibles privilegios es:

Código (cpp) [Seleccionar]
SeCreateTokenPrivilege 0x2
SeAssignPrimaryTokenPrivilege 0x3
SeLockMemoryPrivilege 0x4
SeIncreaseQuotaPrivilege 0x5
SeUnsolicitedInputPrivilege 0x0
SeMachineAccountPrivilege 0x6
SeTcbPrivilege 0x7
SeSecurityPrivilege 0x8
SeTakeOwnershipPrivilege 0x9
SeLoadDriverPrivilege 0xa
SeSystemProfilePrivilege 0xb
SeSystemtimePrivilege 0xc
SeProfileSingleProcessPrivilege 0xd
SeIncreaseBasePriorityPrivilege 0xe
SeCreatePagefilePrivilege 0xf
SeCreatePermanentPrivilege 0x10
SeBackupPrivilege 0x11
SeRestorePrivilege 0x12
SeShutdownPrivilege 0x13
SeDebugPrivilege 0x14
SeAuditPrivilege 0x15
SeSystemEnvironmentPrivilege 0x16
SeChangeNotifyPrivilege 0x17
SeRemoteShutdownPrivilege 0x18
SeUndockPrivilege 0x19
SeSyncAgentPrivilege 0x1a
SeEnableDelegationPrivilege 0x1b
SeManageVolumePrivilege 0x1c
SeImpersonatePrivilege 0x1d
SeCreateGlobalPrivilege 0x1e
SeTrustedCredManAccessPrivilege 0x1f
SeRelabelPrivilege 0x20
SeIncreaseWorkingSetPrivilege 0x21
SeTimeZonePrivilege 0x22
SeCreateSymbolicLinkPrivilege 0x23


Saludos
#47
Programación C/C++ / Re: Hilos
9 Julio 2020, 13:56 PM
Asegúrate que estas compilando con -pthread
#48
Programación C/C++ / Re: Hilos
8 Julio 2020, 05:13 AM
Exactamente el objetivo que persiguen los hilos es lograr una ejecucion concurrente (varias porciones de codigo ejecutandose al "mismo tiempo"). std::thread::join es una funcion que se usa para bloquear el hilo en la linea desde la cual es llamada y esperar a que el hilo al que se esta "joining" termine la ejecucion antes de continuar con el resto de la funcion principal. En este caso creo que es lo opuesto a lo que deseas hacer, o sea ejecutar dos porciones de codigo simultaneamente.

En tu caso moviendo h1.join(); justo despues de h2.join(); garantiza que ambos hilos se ejecuten concurrentemente. La funcion main a su vez espera que ambos concluyan antes de terminar su ejecucion.

Si te vas a adentrar en el tema de la programacion concurrente te aconsejo empezar conociendo conceptos basicos como: secciones criticas, race conditions, deadlocks, livelock, exclusion mutua (semaforos, mutex, etc)
Saludos
#49
No lo tomes a mal, pero en mi opinion creo que necesitas esforzarte un poco mas en buscar respuestas por ti mismo a problemas sencillos con los que te encuentras, intentar entenderlos te ayudara a avanzar y obtener experiencia, no puedes pretender que todo te lo den hecho o que cada vez que tengas un minimo error recurrir al foro. En fin, como dije al principio, no lo tomes a mal, pero necesitas aprender a usar Google e intentar entender por ti mismo lo que te sucede.

Habiendo dicho lo anterior, si buscas el prototipo de la funcion getch() te daras cuenta de como usarla correctamente:

Código (cpp) [Seleccionar]

// por cierto getch esta obsoleto, debes usar _getch en su lugar
int _getch(void);


La funcion no toma parametros y devuelve un int que equivale al valor de la tecla presionada. En tu codigo intentas usar la variable "entrada" que esta definida como un arreglo de chars, por lo que evidentemente tendras ese error. Visual Studio te advierte de esta operacion "el tipo de matriz 'char [2]' no es asignable". El modo correcto de uso seria:

Código (cpp) [Seleccionar]
int key = _getch();
// o usando la conversion implicita a char
char key = _getch();


Saludos

#50
Los BP de software son muy ruidosos y modifican el codigo original por lo que son facilmente detectables, incluso pueden llegarte a romper un codigo automodificable. Intenta en su lugar usar Memory y/o Hardware Breakpoints y comprueba si no son detectados tambien
Saludos