elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 112
121  Programación / Programación C/C++ / Re: Ayuda urgente #C en este ejercicio en: 19 Enero 2018, 00:40
Los includes sobran en el ayoub.h ya que no haces uso de ninguna función de ellas.
Implementación.c sobra, el ejercicio te pide el main y justo debajo, en el mismo archivo, la implementación de la función.
La firma de la declaración y de la definición de la función deben coincidir. Deben devolver el mismo tipo de dato y los argumentos deben ser del mismo tipo.
La función debe devolver una cadena, por lo que la declaración que hay en la cabecera debería ser char* y no void como tipo de dato devuelto por la función.
Si quieres una constante definida en la cabecera usa la palabra clave const. En main deberás declararla como extern.
strcpy còpia al principio de la cadena destino, lo que necesitas es concatenar cadenas y se hace con strcat.
El enunciado dice que debes separar con espacios las palabras pero al adquirir espacio con malloc no tienes en cuenta los espacios.
De igual forma tampoco los incluyes al formar la cadena.
122  Programación / Programación C/C++ / Re: Ayuda urgente #C en este ejercicio en: 18 Enero 2018, 21:19
¿Qué llevas hecho?
No te vamos a escribir todo desde cero, te resolveremos dudas puntuales o te lo explicaremos hasta que lo entiendas (a partir de lo que veamos en donde fallas).
123  Programación / Programación C/C++ / Re: errores compilacion visual studio 2017 en: 18 Enero 2018, 21:16
Debería generar antes de la llamada una variable vf::Vector con los datos y dársela como argumento a la función. Creo que así podría sortear ese fallo.
124  Programación / Programación C/C++ / Re: errores compilacion visual studio 2017 en: 18 Enero 2018, 17:24
No es que sepa de C++, pero parece ser que espera una variable de sf::Vector en vez de solo la generación in situ para tomar la referencia.
125  Programación / Programación C/C++ / Re: [C++] ¿Utilizar Windows.h es mala práctica? en: 18 Enero 2018, 16:15
No, en verdad no. Es más, es muy provechoso usar todos los recursos que te da el sistema. Para hacer el código multiplataforma ya está la compilación condicional, con el preprocesador.
126  Programación / Programación C/C++ / Re: Duda sobre letras convertidas a Hex en: 18 Enero 2018, 13:55
B0 es la clave elegida por el diseñador, podría haber elegido cualquier otra.
Para veas como fue:
Lo primero fue contar los elementos en gProtectString3 y ver que eran los mismos más uno que el tamaño de la cadena que hay en el comentario, muemu.pl. Sabiendo esto podía decir que el los bytes eran la cadena codificada y B0 tenía que ser la codificación a '\0', que es 0 (o 00 si se miran los dos nibbles).
Después me fijé si había repeticiones: m y u se repiten y tienen los mismos bytes codificados, por tanto la codificación es byte a byte y no tiene en cuenta los demás como hace base64.
Tenía que encontrar ahora como se transformaba 0 a B0. Así que busqué una tabla ASCII en Google, ahora sabiendo como era cada carácter en esa notación podría sacar la fórmula usada para la conversión.
Cotejando el byte codificado y el de la tabla me di cuenta que solo cambiaba el nibble de más peso, el otro permanecía igual, por lo que solo debía concentrarme en ese.
A lo fácil. Probé de sumar B al primer nibble, pero no daba el resultado esperado. Así que probé sumar 5 al nibble codificado para ver si me llevaba al nibble del carácter original, tampoco.
Visto que no llegaba a ningún sitio transcribí tanto los nibbles de los caracteres como los bytes codificados a binario y los puse lado a lado y esta es la tabla que conseguí (sólo nibble de más peso):
Código:
CAR     ASCII    CODIFICADO
m   : 6 (0110)    D (1101)
u   : 7 (0111)    C (1100)
e   : 6 (0110)    D (1101)
.   : 2 (0010)    9 (1001)
p   : 7 (0111)    C (1100)
l   : 6 (0110)    D (1101)
'\0': 0 (0000)    B (1011)
Un rápido vistazo se puede ver que el primer bit, el tercero y el cuarto se invierten mientras que el segundo sigue igual. La operación que hacer que un bit varíe, dentro de un grupo, es el XOR, y para que varíe el primer, el tercero y el cuarto debe el número a aplicar es el 1011 en binario o B en hexadecimal. Como el nibble de menos peso no varía se lleva XOR a 0 para ése, así que el byte entero a aplicar para la operación a todo el caracter codificado es B0.
127  Programación / Programación C/C++ / Re: Duda sobre letras convertidas a Hex en: 18 Enero 2018, 02:09
Con un poquito de trabajo a nivel de bits he conseguido descubrir que el primer nibble está cifrado, por así decirlo. Para deshacerlo lo que debes hacer es un xor del byte entero con 0xB0.

P.ej.
DD XOR B0 = 6D (m)
C6 XOR B0 = 76 (u)

y así.
128  Programación / Programación C/C++ / Re: Duda sobre letras convertidas a Hex en: 17 Enero 2018, 22:30
Hazlo como cadena en vez de complicarte con una array. Si el fuente no lo has escrito tú, no es tuyo, tal vez no tenga o no sea eso el dominio; puede que sea la clave o puede que esté cifrado. Sin ver el fuente no se puede decir.
129  Programación / Programación C/C++ / Re: [C] Problema con fracciones en: 11 Enero 2018, 00:50
Ya que la variable num no forman parte de la función, por el comportamiento son globales, pues sí, mantendrán los datos que la función no modifica.

Ahora, cuando arregles eso, me gustaría ver unos ejemplos con denominadores a 0.
130  Programación / Programación C/C++ / Re: [C] Problema con fracciones en: 10 Enero 2018, 21:46
Puedes poner un ejemplo del caso dónde solo se escribe el numerador?
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 112
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines