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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  funcion ExtractString [pascal].
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: funcion ExtractString [pascal].  (Leído 1,729 veces)
WarZ0n3

Desconectado Desconectado

Mensajes: 22


Ver Perfil
funcion ExtractString [pascal].
« en: 26 Abril 2013, 11:56 am »

Saludos!
Bueno hace no mucho empece a programar un troyano bancario en delphi 7(que pronto publicare...), tenia un problema y era que usando los sockets tenia que
extraer determinados strings de parametros defectuosos (desde - hasta)... Así nació esta funcion la cual es muy útil usada ya sea en APIS hasta en tareas triviales como las que acabo de describir.
Aquí el código:
Código
  1. {$Optimization On}
  2. {/*************************************\}
  3. { ExtractString Function @por WarZ0n3   }
  4. {\*************************************/}
  5. { Explicación:                          }
  6. { Esta funcion es utilizada para extraer}
  7. { un string de una cadena determinada.  }
  8. { Funcion muy util para rutinas de      }
  9. { programación en sockets...            }
  10. {\*************************************/}
  11. { Mode de uso:                          }
  12. { Los parametros son los siguientes:    }
  13. { __ExtractString(                      }
  14. {  ListaDeStrings, Char(desde),         }
  15. {  string(Palabra), Char(hasta)         }
  16. {  );                                   }
  17. {/*************************************\}
  18. { Ejemplo:                              }
  19. { __ExtractString(lStr, '&', '@%&Hola Mundo|#$', '|'); }
  20. { Devuelve: Hola Mundo                  }
  21. {\*************************************/}
  22. function __ExtractString(lStr:TStringList; from_s:Char; ExtractStr:string; to_s:Char): string;
  23. var
  24.  reverse   : integer;
  25.  PosStr    : integer;
  26.  CpyStr    : string;
  27.  StrRip    : string;
  28.  sNull     : string;
  29. begin
  30.  reverse:= LastDelimiter(to_s, pChar(ExtractStr));
  31.  SetLength(ExtractStr, reverse);
  32.  PosStr:= Pos(from_s, pChar(ExtractStr));
  33.  
  34.  CpyStr:= Copy(pChar(ExtractStr), PosStr+$1, reverse);
  35.  StrRip:= StringReplace(CpyStr, to_s, sNull, [rfReplaceAll, rfIgnoreCase]);
  36.  lStr.Add(StrRip);
  37. end;
  38.  
  39. { ***Ejemplo de uso en un Button1 del Form*** }
  40. procedure TForm1.Button1Click(Sender: TObject);
  41. var
  42.  lStr:TSTRINGLIST;
  43. begin
  44.  lStr:= TstringList.Create;
  45.  { Llamada de la función }
  46.  __ExtractString(lStr, '&', '@%&HOLA_MUNDO|#$', '|'); { Ejemplo de uso }
  47.  ShowMessage(lStr.GetText);
  48. end;
  49.  
  50. end.
  51.  


« Última modificación: 26 Abril 2013, 11:57 am por WarZ0n3 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines