Se me ocurrió programar ésta función cuando programaba un troyano, tiene multiples usos, toma una cadena de texto como parametro,
un delimitador, un reemplazador(opciónal) y el objeto TStringList.

Tiene 3 usos:
[+] Devolver todo el texto completo.
[+] Devolver toda el texto en indices.
[+] Reemplazar/Eliminar los delimitadores.

Código:
procedure
  ArachniSlit(SWORD, Delim, Inject:String; StrOutputArray:TStringList);
 var
  i,
  LenWord,
  M             : Integer;
  _Cpy          : String;
 begin
  ASM
  XOR EAX, EAX
  MOV DWORD PTR SS:[LenWord], EAX
  END;
  SWORD:= COPY(SWORD, 0, length(SWORD))+(Delim);
  for i:=1 to length(SWORD) do
    begin
      if (pos(Delim[1], SWORD[i])<>0) THEN
        begin
          ASM
          MOV EAX, EBX
          SUB EAX, DWORD PTR SS:[LenWord]
          MOV DWORD PTR SS:[M], EAX
          END;
          if (LenWord<>0) then
            begin
              _Cpy:= COPY(SWORD, M, LenWord);
              if (Inject>'') then
                Insert(Inject, _Cpy, LenWord+1);
              StrOutputArray.Append(_Cpy);
            end;
          ASM
          XOR EAX, EAX
          MOV DWORD PTR SS:[LenWord], EAX
          END;
        end
      else if (pos(Delim[1], SWORD[i])<>1) THEN
        begin
          ASM
          INC LenWord
          END;
        end;
    end;
 end;

Ejemplo 1 - Devuelve toda la lista y elimina los delimitadores.
var
  sWord : String;
  TStrArray : TStringlist;
begin
  TStrArray:= TStringList.Create;

  sWord:= '|palabra|texto|hola|chau|OTRO_TEXTO|';

  ArachniSlit(sWord, '|', '', TStrArray);
  WriteLn( TStrArray.GetText );

  TStrArray.Free;
  ReadLn;
end.
Imagen


Ejemplo 2 - Devuelve toda la lista y la remplaza el delimitador '|' por el '&'.
ArachniSlit(sWord, '|', '&', TStrArray);
  WriteLn( TStrArray.GetText );
Imagen


Ejemplo 3 - Devuelve el indice 2 de la lista y elimina los delimitadores.
ArachniSlit(sWord, '|', '', TStrArray);
  WriteLn( TStrArray.Strings[2] );
Imagen
Increible el nivel que tienes en este campo y ya no es solo en C si no tambien en delphi la verdad que te lo curraste amigo, un saludo grande y esperemos pronto verte en NvK y testear ese rat en desarrollo un saludo grande maquina
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Gracias strup, siempre animan tus comentarios...
El tema del RAT ésta aun pendiente falta mucho para sacar si quiera la primera beta, Aunque
lo positivo es que no tiene rips de ningún tipo y asimila nuevos conceptos y formas que espero
que al publicarlo ayude a muchos.
Responder

Volver a “Fuentes”