![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
¿Hay algo como esto para buscar en el volcado del archivo binario?
https://poesiabinaria.net/2013/10/re...y-glibustring/ ¿Pero para un buffer y búsquedas en binaria? |
|
#2
|
||||
|
||||
|
De momento he conseguido esto:
Código PHP:
Cualquier ayuda me vendrá bien ya que estoy tocando algo que nunca había hecho antes. El tema de leer todos los archivos de un directorio no tengo problemas para hacerlo. |
|
#3
|
||||
|
||||
|
Buscar y reemplazar fragmentos binarios es relativamente sencillo. Quizás estos hilos te ayuden:
Cargar exe como texto plano Buscar y reemplazar Bytes Cambiar cadenas de un proceso en ejecución Leer el archivo lo puedes hacer como lo hacer en un stream o en un buffer de memoria localizada a bajo nivel del tamaño del archivo y leer sobre el también a bajo nivel (lread) Saludos. |
|
#4
|
||||
|
||||
|
El caso es que yo quiero que se pueda sustituir por cadena de diferentes largos y por eso uso dos TMemoryStream, primero porque creo que será más rápido que ir leyendo desde el archivo y segundo porque voy copiando a un TMemoryStream para poder cambiar el tamaño sin problema. Para el tema de que sea binario, ASCII o Unicode mi código valdría para todos pero la cosa está en el formato de los TEdits que en mi caso son WideString con lo que, si no estoy confundido es Unicode y si quiero buscar AnsiString tengo que convertirlo y lo mismo pasa con una cadena binaria, por ejemplo si meto "31323334" tendré que ir sacando substrings de dos en dos caracteres, colocando "0x" delante, uso ToInt y lo meto en un array de bytes y lo uso para buscar. Esa es la idea que tengo en mente.
Lo que me preocupa es que este metiendo la para en lo que tengo hecho o no. Si lo ves bien el siguiente paso será meter eso en una función donde reciba las dos cadenas y sus largos respectivos y el tema de binario, Unicode o ASCII se trabaja antes de llamar a la función. Para el tema de convertir la cadena Hex binaria a un array de bytes iría en otra función para que sea todo menos engorroso a la hora de seguirlo. Última edición por aguml fecha: 12-06-2020 a las 20:58:54. |
|
#5
|
||||
|
||||
|
Así quedaría mi función de reemplazo:
Código PHP:
|
|
#6
|
||||
|
||||
|
La principal duda que tengo es si Unicode, UTF-8 y WideString ().c_bstr() sería lo mismo o si no tiene nada que ver y si es así ¿Como paso de WideString a Unicode? Es para hacer búsquedas en Unicode.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Múltiples ejecuciones de una aplicación | Angel.Matilla | C++ Builder | 7 | 27-11-2015 19:35:49 |
| Eliminación de múltiples ficheros vía FTP (Indy) | JoysticK | Internet | 2 | 15-09-2015 13:14:51 |
| como relalizar una busqueda de ficheros con las api | bastardo10 | API de Windows | 1 | 18-06-2007 13:27:50 |
| Multiples Ventanas en una Aplicacion | Nomad | Varios | 7 | 18-05-2007 22:12:28 |
| multiples instancias de aplicación | nfrfabian | Varios | 3 | 09-12-2006 14:55:17 |
|