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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


  Mostrar Mensajes
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35
311  Programación / Java / Re: proyecto arrays, código corregido. en: 10 Febrero 2017, 23:00
Un array es una lista de datos del mismo tipo, que en principio están contiguos en memoria.
Si tengo una lista de 10 números que luego a la lotería (0 a 9), y quiero cambiar el 5º (el índice 4), por este valor: 34567... lo asignaría así:

NumLoteria(4)= 34567

Los arrays es una forma de almacenar muchos datos que son del mismo tipo. Con una sola variable, puedes contener muchos datos, en vez de usar una varible para cada uno, además si necesitas hacer algo con todos ellos, puedes usarlos en un bucle:

Hace con cada día en el array Semana
     print Semana(3)   \\escribe Miércoles, sponiendo que hemos creado y rellenado el array Semana.
fin hacer

Cuando tienes que pasar datos a una función, también es cómodo, porque pasas el array entero (en realidad la dirección en memoria del array), en vez de tener que pasar cada elemento individualmente...

Un subprograma, no es otra cosa que un trozo de código circunscrito. imagina un problema x, para resolver el problema, lo subdivides en pequeñas tareas, y cada tarea se le asigna un cometido específico... un subprograma entonces sería cada una de esas tareas, con la salvedad que queda encerrado en el código, aislado en funciones, propiedades, incluso clases... de hecho a cada una de estas pequeñas estructuras se le puede llamar también subprograma, aunque n en un sentido estricto, la idea es la misma. Una cantidad de código que tiene por iobjetido hacer determinada/s tarea/s... Imagina una máquina que expende latas de cerveza, un subprograma se encarga de revisar que las momendas sean legítimas y de ver qué cantidad se ha introducido, otra tarea puede comprobar si esa cantidad es adecuada para la cerveza, si no es así, señala que falta dinero o que se devuelve. Y otro subprograma podría tener encomendada la tarea de preparar las monedas que ha de devolver en el cambio, conforme a las que haya disponibles en la caja... en fn el reparto de tareas entre uno o más subprogramas, ya es cosa del diseño...
312  Foros Generales / Foro Libre / Re: Emule caido ? en: 10 Febrero 2017, 22:42
También van Peerbooter y PEERATES.NET...
A mi tampoco me van los eMule Security...
313  Programación / .NET / Re: Ayuda con Copiador de USB en: 10 Febrero 2017, 19:09
No he mirado en profundidad... pero creo que el problema podría estar por la parte que te señalo:

- Tu quieres copiar el contenido del USB, así sean 3 archivitos de 4kb. ó 25.000 con 500Gb.
- Sin embargo tu operas dentro del sistema de subclasificación. Como quiera que copiar 500Gb. no lo vas a hacer en 2sg. asumo que no devolviendo la llamada, el siguiente mensaje se queda en cola, hasta que se temrine de procesar el previo, o peor aún, que la cola (o el mensaje en la cola) acabe siendo 'descartada' si la tardanza lo hace necesario...

Posible solución:
- Cuando detectes que se conecta, invoca una función que empaquete los datos precisos para realizar la tarea y lo meta en una colección disponible... y (por ejemplo) activas un timer, a pongamos 300-1000ms.
- De modo inmediato (tras el paso anterior), devuelves la llamada para que quede libre y dispuesto a recibir más mensajes.
- Probablemente con la ayuda de un timer u otro modelo, examinas peródicamente (o bien cuando vence la cuenta atrás del temporizador, comentado en el punto 1), si la colección contiene algún 'paquete' porceder con él, esto es copiar del USB, que señala el ítem en la colección. Y eliminar este ítem de la colección.
- Cuando termine la copia, (me salto el asunto de posibles errores en el proceso), si no más ítems en la colección parar el temporizador. Si se conectó un segundo USB, se supone que habrá otro ítem en la colección.

En fin es una cuestión (creo) de sincronicidad. aplica un mñétodo asíncrono para el procesado de copia y seguramente funcione (esto es, que detectes que recibes informe de otro dispositivo añadido)...

p.d.: Por si no acabas de quedarte claro... el método 'Copiar', debiera ser el encargado de empaquetar los datos en una clase y meterlo en una colección y activar un timer. y acto seguido que fluya el código del WndProc... luego que venza el timer, accedes a la colección, extrae la clase (ítem), allí y es donde invocas el método 'copiar' que ahora mismo tengas... de hecho ese método sería conveniente que estuviera contenido en la misma clase que conteien los datos:

en pseudocódigo, algo Así:

Código:
sub wndProc(...)
  ...
  ...
  Si USB entonces
     Item = nuevo clsCopyUSB
     Item.RutaOrigen = "E:" ' por poner algo de ejemplo
     Item.RutaDestino = "C:\TresTbLibres\E\"
     colCopy.AddItem(Item, Ultimo)
     Timer.enabled = true
  fin si  
end sub

sub Timer_Elapsed
   It as clsCopyUSB
  
   Si (colCopy.Items > 0) luego
        it= colCopy.item(primero)
        it.Copiar
        it= nothing
   en otro caso
      Timer.enabled=false
   fin si
end sub

Class clsCopyUSB
   public property RutaOrigen as string
   public property RutaDestino as string

   public function Copiar
     ' la tarea de copia desde origen a destino
   end function
end class
314  Foros Generales / Noticias / Re: ¿Exageran las empresas de antivirus las habilidades de los hackers? en: 10 Febrero 2017, 18:49
Totalmente de acuerdo...

Que a una empresa le entr eun ramsonware y luego nadie sea capaz de arreglarlo, no supone que haya una mente privilegiada tras ello.
La dificultad en el acceso vendrá por la carencias de seguridad de la empresa y sus software-hardware, pero que sea complejo revertir el daño, no requiere mentes privilegiadas, un cifrado xor extremadamente sencillo lo bloquea y punto, si no tienes clave, da igual y poco importa lo inteligente o lamer que sea el atacante.

En general, destruir es extremadamente fácil, el misterio y la admiración debe quedar para quien construye. Una casa se destruye con una bonba en unos segundos, un coche tirado por un precipio, lo mismo y un hombre por una bala, lo mismo... destruir lleva unos segundos, pero construir una casa lleva mucha ingeniería y mucho tiempo y esfuerzo, lo mismo para el coche, y lo mismo para que un bebé llegue a adulto...

Sería adecuado que la juventud aprendiera a valorar a quien construye y no a mitificar a quien destruye (que eso está al alcance de cualquiera).
315  Foros Generales / Noticias / Re: WhatsApp mejora su seguridad: llega la verificación en dos pasos en: 10 Febrero 2017, 18:42
El sistema es necesario, para esos casos de gente que vive en pareja y donde uno espía o se introduce en el terminal del otro  :silbar: sin su permiso  :silbar:

Será útil en más casos, pero en esos creo que es donde se usará y apreciará más...
316  Programación / .NET / Re: Division Silabas Texto en: 10 Febrero 2017, 18:30
Exacto... Desde el momento que pide cortar sílabas, parece querer indicar que quiere cortar sílabas tal y como es en español, y se supone que para mostrar textos correctamente cortados, por sílabas y no entre medias. Sin embargo, al poner luego un texto en latín, ya hay una contradición, aunque quizás sea una ocurrencia de ejemplo de última hora, y que no ha caído en cuenta, lo nefasto que deja entonces, el texto de ejemplo, su cuestión.

En cualquier caso, es muy complejo separar los textos en sílabas correctamente, por contra, hacerlo en palabras  :silbar: es extremadamente  :silbar: fácil  :silbar: ...
...luego si quiere perder tiempo, en algo que nadie va a agradecerle nunca lo suficiente es esfuerzo empleado...  ::)
317  Programación / .NET / Re: Division Silabas Texto en: 10 Febrero 2017, 17:29
Es complicado, mucho...

...por que para partir por sílabas en castellano (de entrada da igual el lenguaje de programación que uses), lo primero que debes hacer es determinar las reglas que rigen lo que es una 'sílaba'...

A - Puedes recurrir a la gramática y empaparte de todas las reglas gramaticales, y 'programarlas' para que el programa lo entienda.
B - Puedes recurrir por fuerza bruta a construir todas las sílabas (las sílabas más largas en castellano, son la forma: "11011", donde cada 1 representa una consonante y un 0 una vocal, y un ejemplo sería: "trans", "prons", pero no "trucc" (porque es fijo que tras la última 'c', le sigue otra vocal, que rompería la sílaba por "tru" + "cc0..."). Pero con combinatoria...

1 - Es decir, primero creas todas las permutaciones de 2,3,4 y 5 letras (solo las de 5 letras serían 27^5 permutaciones distintas, algo más de 14'3millones)  
2 - Luego filtra las absurdas. Por ejemplo:
------ Descartar haya 3 o más consonantes seguidas.
------ Descartar las que tengan 3 veces seguidas una misma letra.
------ Descartar las que tengan dos veces seguidas la misma vocal.
------ Descartar las que tengan dos veces seguidas la misma consonante (excepto algunas que si se admiten, como la rr, ll).
------ Descartar...
3 - Finalmente cuando solo queden unas pocas miles que, no sea capaz de filtrar con más reglas programables, las repasas a ojo, y eliminas las que no existan. por ejemplo "mne", existe aunque parezca extraño, como en la palabra: "mnemónico". Esto es, algunas aunque te suenen raro, si eres capaz de pronunciarlas, es fijo que existen o que pueden crearse una palabras con esa sílaba (aunque sea rara, la dejas, pero si eso elevará a una cantidad demasiado grande de sílabas, quizás prefirieras excluirla)...


- En cuanto al programa, yo construiría una clase, la primera tiene la función que se invoca, recibe el texto y va cortando palabras que pasa a una función privada. Esta toma la palabra, extrae la primera sílaba, y se invoca recursivamente a sí misma, pasando como palabra el texto recibido al que se la ha extraído la sílaba hallada. La recursividad acaba cuando ya no quedan caracteres para reinvocar, en ese momento se sabe cuantas sílabas forman la palabra, entonces se dimensiona un array con ese valor y en cada retorno, se va introduciendo la silaba tomada en cada llamada, cuando finalmente devuelve el control a la función publica que llamó a la privada, aquella recibe el array con las sílabas que forman la palabra.
- Cuando la función reciba de vuelta el array con las sílabas d ela palabra, deberá poner el guión en la sílaba que proceda, y pondría el resto de la palabra en otra línea...

La parte compleja está en construir ese diccionario de sílabas (generado con combinatoria, tal vez exista ya un diccionario así que se haya publicado, l odesconozco), o bien que en tiempo real, con las reglas gramaticales, vas extrayendo, (es decir no usa ningún diccionario, se va calculando sobre la marcha)...

También tendrías que decidir que pasa con palabras que contiene números o caracteres raros, ya que las reglas gramaticales no las contemplan como palabras 'per se', como en tu alias modificado así: 3RX3T3...

Y también que pasa si hay una palabra con sílabas no contempladas... (una opción sería considerarla como otra sílaba y añadirla al diccionario, pero claro, si te topas con un texto aleatorio... podrías añadir excesivas sílabas de este tipo. De hecho esta sería una prueba adecuada para determinar si el oprograma opera bien (no solo con un texto claro).

Sobre lo de añadir el - al final de sílaba, eso es obvio, tu céntrate en 'enseñarle' a tu programa a saber qué es una silaba, o en decirle "estás son todas las sílabas quye tenemeos en español",  ...que es lo que te dará trabajo, el resto es superfluo en dificultad y tiempo...

p.d.: OJO: si se trata de otro idioma, podría no valerte, ya que cada idioma tiene sus propias sílabas, en español, no existe la sílaba "lit", como sugeriría la palabra "elit", que procede del latín..., en español es eguro que ninguna palabra acaba en lit, es seguro que la palabra se dividiera en "li" + "t0" (el 0 indica vocal). Luego, si es el caso de tener que admitir otros idiomas, quizás las reglas gramaticales no sean la opción adecuada y debas recurrrir si o si, a la combinatoria, para obtener un diccionario de sílabas. En tal caso, sería acertado meterlas en una tabla hash, para un rápido acceso en las búsquedas. Incluso en combinatoria, tendrás que añadir ciertas reglas 'gramaticales' (pero ya de tu programa), como que no hay sílabas mayores de 5 letras... etc...
318  Foros Generales / Dudas Generales / Re: Insertar los mismos bytes en muchas direcciones diferentes de un mismo archivo en: 10 Febrero 2017, 16:52
De entrada, esto es más sencillo de hacer, no requier consumir memoria extra para almacenar un array y es mucho más rápido de aplicar que proceder con el csv, que a fin de cuentas es un fichero de texto, que hay que procesar...
abrir el fichero y buscar coincidencias, permite al mismo tiempo abrir el otro y desplazarse al punto de escritura, donde en el otro se ha hallado...

Hay 4 detalles colgando en el aire que es preciso aclarar (tu los tienes claro en tu cabeza, pero no dejas que salgan, asumes que uno 'te lee' la mente  :laugh: ), los señalo.

No queda claro, cuando dices: "los bytes 01 04 20 00"
1 - No queda claro,  si los bytes son individuales, cada aparición del 01.. cada aparición de 04, cada aparición del 20... o si es requisito que aparezcan los 4 juntos, como un único número?.

2 - También te falta señalar si los fichero de destino serán como mínimo tan largos como los de origen o no... (si son más cortos, habrá que poner un control de errores previo y no quedaría claro que hacer con el resto de apariciones halladas en origen, pero que quedan fuera del tamaño del fichero de destino).

3 - Es preferible, no acudir a ningún fichero CSV, si los datos proceden de un fichero también en binario (como binario es el destino), pero si al final no pudiera ser... creo entender que los valores terminados en 'h' son hexadeciamles, pero y este valor? 01-04-20-00. parecen hexadecimales si son bytes de 2 caracteres, pero al no tener el sufijo 'h', no es congruente, con los campos previos del fichero... Y otra cosa, serán siempre 4 bytes?. El valor es lo de menos, porque se puede poner una casilla para especificar el valor y puede ser distinto cada vez, o siempre el mismo.

4 - Por último, tampoco señalas nada sobre la alineación de los bytes, si deben tomarse los 4 juntos, y no como bytes sueltos, se acepta su aparición en cualquier posición, o solo en posiciones múltiplo de 4?.
supongamos que el fichero empieza con dos bytes y luego los 4 de la secuencia:
35-22-01-04-20-00-fa-e7
Si los datos son alineados de 4 en 4, no podrían tomarse como coincidencia, si no solo aquellos que comiencen en un byte cuya posición sea múltiplo de 4, ejemplo:
35-22-01-04-20-00-fa-e7-01-04-20-00
Como se puede ver, la secuencia aparece 2 veces, una en el byte 2 y otra en el byte 8 (se considera el primero como 0º)

En fin, deja claro esos 4 puntos...

 
319  Foros Generales / Dudas Generales / Re: Insertar los mismos bytes en muchas direcciones diferentes de un mismo archivo en: 10 Febrero 2017, 01:58
Pero define con exactitud qué es lo que necesitas...

Por que según creo entenderte, lo que necesitas es tomar un fichero y colocar en determinadas posiciones ciertos valores, sintocar el resto... y será esto lo que haga el programa y nada más...
320  Foros Generales / Dudas Generales / Re: Insertar los mismos bytes en muchas direcciones diferentes de un mismo archivo en: 10 Febrero 2017, 01:21
Complicado no es, pero piensa que las posibilidades son infinitas. Así un editor es eso un editor (generalmente esto implica que se edita a mano). 010 Editor, permite crear scripts, para ampliar sus capacidades... usa una sintaxis similar al C++, si supieras programar un poquito te empollarías el manual y podrías hacerlo...

Dame un tiempito (para el fin de semana), y miro de hacerte algo rápido... (yo no quiero perder tiempo en leerme el manual... hacer un programa que permita hacer lo que quiere lleva solo unos minutos).
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines