Título: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 10 Agosto 2012, 10:32 am Saludos a todos!
Tengo un programa que uso para leer un archivo .bin, lo convierto a binario y cambio bits de un lado a otro. Pero es necesario que el proceso se haga cada 16 bits, en total son 8 cambios de posicion. Necesito hacer esto cada 16 bits hasta el final del archivo: 12 al 2 15 al 4 9 al 13 5 al 10 11al 8 3 al 7 1 al 14 16 al 6 La manera que lo estoy haciendolo me da el resultado pero me tomaria una eternidad hacerlo asi Chunk = Text1.Text Bit1 = 12 Bit2 = 16 bChar = Mid$(Chunk, Bit1, 1) Mid$(Chunk, Bit1, 1) = Mid$(Chunk, Bit2, 1) Mid$(Chunk, Bit2, 1) = bChar Text2.Text = Chunk En otras palabras estoy haciendo esto 8 veces cada 12 bits, me muero... Hay alguna manera de automatizar los 8 cambios cada 16 bits hasta el final? 8 bit shift cada 16 bits independientemente... Gracias por su tiempo amigos! Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: MCKSys Argentina en 10 Agosto 2012, 21:18 pm No te entendi bien: Estas intercambiando los bits de cada WORD (2 bytes) del archivo?
Esto seria para cifrar la data? Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: $Edu$ en 11 Agosto 2012, 02:31 am No entiendo bien que es lo que haces, ya que si andas con manejos de bits y eso tendrias que saber mi respuesta, pero la digo por si a caso:
Cuando lees un archivo lo haces con un bucle While Not (EOF) que significa Mientras no sea el End Of File (Final del archivo), asi cuando llegue al final del archivo saldra del bucle y hara lo que siga. Pero dentro de ese bucle solo tendras que ir aumentando el valor de esas variables que usas. Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: BlackZeroX en 11 Agosto 2012, 07:09 am Chunk = Text1.Text Bit1 = 12 Bit2 = 16 bChar = Mid$(Chunk, Bit1, 1) Mid$(Chunk, Bit1, 1) = Mid$(Chunk, Bit2, 1) Mid$(Chunk, Bit2, 1) = bChar Text2.Text = Chunk Con mid$() NO vas a trabajar con bits de manera directa, necesitas usar las operaciones auxiliares de equivalencia... ya que o trabajas con bits o trabajas con bytes ambos son distintos... y me da la impresion que te refieres a bytes y no a bits... usando el array de bytes puedes hacer un cambio de bytes muy simple como este (NO ES LO QUE PIDES O ESO CREO... ya que no se te entendió realmente la idea): Código
La función bSwap() la encuentras aquí: Recopilacion de Funciones con operaciones Binarias. (http://foro.elhacker.net/programacion_visual_basic/recopilacion_de_funciones_con_operaciones_binarias-t329680.0.html) NOTA: Si vas a PROCESAR un archivo sin importarte que sea o no legible para un ser humano es mejor usar un array de bytes ya que mid$() es para strings y este ultimo tipo esta orientado para otros tipos de datos pero igual se puede ocuper pero en lo personal es menos recomendable... Dulces Lunas!¡. Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 11 Agosto 2012, 09:07 am Es que no se como expresrme al 100%... A ver si me explico... tengo un file cifrado, pero para decriptarlo necesito hacer esos 8 pasos cada 16 bits osea cada 2 bytes... Leo el fichero cpmpleto y lo voy proceando cada 16 bits... En fin, necesito un loop o algo parecido que lo haga...
Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 11 Agosto 2012, 09:08 am No te entendi bien: Estas intercambiando los bits de cada WORD (2 bytes) del archivo? Esto seria para cifrar la data? Si pero para descifrar... Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: BlackZeroX en 11 Agosto 2012, 20:06 pm .
Mira igual y necesita correcciones.. Código
La función bSwapBit() la encuentras aquí: Recopilacion de Funciones con operaciones Binarias. (http://foro.elhacker.net/programacion_visual_basic/recopilacion_de_funciones_con_operaciones_binarias-t329680.0.html) Dulces Lunas!¡. Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: BlackZeroX en 11 Agosto 2012, 20:10 pm Si tienes dudas del peso de los tipos de datos en bytes:
http://wiki.elhacker.net/programacion/vb/4---principios-basicos Dulces Lunas!¡. Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 11 Agosto 2012, 20:16 pm Y tengo que trabajar con bits obligatoriamente, el convertir a binario no es problema, donde me estanque es en trabajar cada word individual hasta el final... Hace mucho mucho no trabajo con vb6 y estoy perdido en esa area.
Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 11 Agosto 2012, 20:21 pm Ok voy a tratar, ya esto me da una idea mas clara...
Título: Re: Ayuda... Repetir funcion hasta el final del archivo Publicado por: apexseal en 19 Agosto 2012, 23:24 pm Muchas Gracias!!!!
|