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 seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Foros Generales / Foro Libre / La conexión petrolera/geoestratégica entre Trump y Putin en: 21 Diciembre 2016, 20:19 pm
Opinión sobre la relacion entre Putin y Trump dada por el analista alfredo jalife

2  Programación / ASM / Duda con Proc en Fasm en: 28 Enero 2016, 19:14 pm
Cuando creas un proc y modificas alguno registro  previamente hay que salvaguardarlos para despues modificarlos y ahora si regresarlos a su valor original
Código
  1. proc funcion
  2.    push ecx
  3.    mov ecx,6
  4.    pop ecx
  5.    ret
  6. endp


pero estuve leyendo y creo que en masm habia una forma para hacerlo automaticamente
sin hacer un push y un pop

no se si en fasm exista lo mismo?
3  Programación / Programación General / Librería de Snippets para Delphi en: 5 Julio 2015, 20:05 pm
¿Que es un Snippet?

*Es un extracto de código que suele contener una o varias Subrutinas con el propósito de realizar una tarea específica,
cuyo código es reusable por otras personas y fácil de integrar con sólamente copiar y pegar el contenido del Snippet.



Este post esta dedicado para publicar librerias o subrutinas del lenguaje Delphi/pascal,
ya que en mi punto de vista hay falta de material comparada a lenguajes estilo c++o visual basic, esto pueda ayudar a otros nuevos programadores a introducirse en este lenguaje.


*Informacion extraida del post de snippet de Elektro


Funcion para obtener el navegador prederterminado

Código
  1. uses
  2.  SysUtils,Registry,windows;
  3.  
  4.  
  5. function getBrowser():string;
  6. begin
  7. with TRegistry.Create do
  8.  try
  9.    RootKey:=HKEY_CURRENT_USER;
  10.    if openkey('\Software\Clients\StartMenuInternet',false) then
  11.    begin
  12.      result:=ReadString('');
  13.      CloseKey;
  14.    end
  15.    else
  16.      result:='Unknow';
  17.  finally
  18.   free;
  19.  end;
  20. end;
  21.  
  22. var
  23. navegador:string;
  24. begin
  25. //uso de la funcion
  26.  navegador:=getBrowser();
  27.  writeln('Nuestro navegador es ',navegador);//en mi caso devolver mozilla firefox
  28.  readln;
  29. end.
  30.  

Funcion delimitator que corta una cadena entre dos delimitadores


Código
  1. uses
  2.  SysUtils;
  3.  
  4.  
  5. function Delimitador(cadena,delm1,delm2:string):string;
  6. var
  7. pos1,pos2:integer;
  8. ext,sfinal:string;
  9. begin
  10.  sfinal:='';
  11.  pos1:=AnsiPos(delm1,cadena);
  12.  if pos1<>0 then
  13.  begin
  14.    ext:=copy(cadena,pos1+length(delm1),length(cadena)-length(delm1));
  15.    pos2:=AnsiPos(delm2,ext);
  16.    if pos2<>0 then
  17.    begin
  18.      sfinal:=copy(ext,1,pos2-1);
  19.    end;
  20.  end;
  21. result:=sfinal;
  22. end;
  23.  
  24. begin
  25. //uso de la funcion
  26.  writeln(delimitador('hola_mundo_como_estas','hola','estas'));
  27.  {devolveria: _mundo_como_ }
  28.  readln;
  29. end.
  30.  

Funcion para obtener el S.O que estamos utilizando


Código
  1. uses
  2.  SysUtils,windows;
  3.  
  4.  
  5. function getOperatingSystem: string;
  6. var
  7. osVersionInfo:TOSVersionInfo;
  8. majorVersion,minorVersion:dword;
  9. begin
  10.   Result:='Unknown';
  11.   osVersionInfo.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo);
  12.  
  13.   if GetVersionEx(osVersionInfo) then
  14.   begin
  15.  
  16.     majorVersion:=osVersionInfo.dwMajorVersion;
  17.     minorVersion:=osVersionInfo.dwMinorVersion;
  18.  
  19.     if (majorVersion=10) and (minorVersion=0) then Result:='Windows 10'
  20.  
  21.     else if (majorVersion=6) and (minorVersion=3) then Result:='Windows 8.1'
  22.  
  23.     else if (majorVersion=6) and (minorVersion=2) then Result:='Windows 8'
  24.  
  25.     else if (majorVersion=6) and (minorVersion=1) then Result:='Windows 7'
  26.  
  27.     else if (majorVersion=6) and (minorVersion=0) then Result:='Windows vista'
  28.  
  29.     else if (majorVersion=5) and (minorVersion=1) then Result:='Windows xp'
  30.   end;
  31. end;
  32.  
  33. var
  34. SO:string;
  35. begin
  36. //uso de la funcion
  37. SO:=getOperatingSystem;
  38. writeln('Sistema operativo actual: ',SO);//Nos muestra el S.O
  39. readln;
  40. end.


Funcion para buscar la posicion de una cadena dentro de otra
Código
  1. uses
  2.  SysUtils;
  3.  
  4.  
  5. function StringInStr(const Cadena,Buscar:string):integer;
  6. var
  7. i,pos,fin:integer;
  8. begin
  9.  pos:=1; fin:=-1;
  10.  if length(Cadena)>=length(Buscar) then
  11.  begin
  12.    for i :=1  to length(Cadena) do
  13.    begin
  14.      if  Cadena[i]=Buscar[pos] then
  15.      begin
  16.  
  17.        if pos=length(Buscar) then
  18.        begin
  19.           fin:=i-length(Buscar)+1;
  20.           Break;
  21.        end;
  22.        inc(pos);
  23.      end;
  24.  
  25.    end;
  26.  end;
  27. result:=fin;
  28. end;
  29.  
  30. var
  31. cadena:integer;
  32. begin
  33. //uso de la funcion
  34. cadena:=StringInStr('lAHola mundo','la');
  35. writeln('Posion de m en la cadena ',cadena);//Nos regresa la posion 5
  36. readln;
  37. end.
  38.  


Unit para cifrar y descifrar una cadena el autor es Scorpio pero la hizo en autoit
asi que yo le hice la traduccion a Delphi



Código
  1. unit sAlakran;
  2.  
  3. interface
  4. uses StrUtils,SysUtils;
  5.  
  6. function sCipher(text,key:string):string;
  7. function sUnCipher(text,key:string):string;
  8.  
  9. implementation
  10.  
  11. function asc(letras:string):integer;
  12. begin
  13.   if length(letras)>=1 then
  14.      result:=ord(letras[1])
  15.   else
  16.     result:=0;
  17. end;
  18.  
  19. function sCipher(text,key:string):string;
  20. var
  21. i,j,seed:integer;
  22. sfinal:String;
  23. begin
  24.   sfinal:=''; seed:=0;
  25.  
  26.   for i :=1  to  length(key) do
  27.   begin
  28.     seed:=(seed+asc(key)) * length(key);
  29.     key:=AnsiMidStr(key,2,length(key)-1);
  30.   end;
  31.  
  32.   for j:=1 to length(text) do
  33.   begin
  34.     sfinal:=sfinal+IntToStr((ord(text[1])+seed));
  35.     text:= AnsiMidStr(text,2,length(text));
  36.   end;
  37.  
  38.   result:=sfinal;
  39. end;
  40.  
  41.  
  42. function sUnCipher(text,key:string):string;
  43. var
  44. seed,step,tamano,i,j:integer;
  45. sfinal:string;
  46. begin
  47.   seed:=0; sfinal:='';
  48.  
  49.   for i :=1  to length(key) do
  50.   begin
  51.     seed:=(seed+asc(key))*length(key);
  52.     key:=AnsiMidStr(key,2,length(key)-1);
  53.   end;
  54.  
  55.   step:=length(inttostr(seed));
  56.   j:=step;
  57.   tamano:=length(text);
  58.  
  59.   while(j<=tamano) do
  60.   begin
  61.      sfinal:=sfinal+chr(strtoint(AnsiLeftStr(text,step))-seed);
  62.      text:= AnsiMidStr(text,step+1,length(text));
  63.      j:=j+step;
  64.   end;
  65.   result:=sfinal;
  66. end;
  67.  
  68. end.
  69.  

uso:

Código
  1. uses
  2.  SysUtils,
  3.  sAlakran in 'sAlakran.pas';
  4.  
  5. var
  6. cadena:string;
  7. begin
  8. //uso de la funcion
  9. cadena:=sCipher('hola mundo45','12');
  10. writeln('la cadena cifrada es  ',cadena);//Nos regresa la posion 5
  11. cadena:=sUnCipher(cadena,'12');
  12. writeln('la cadena descifrada es ',cadena);
  13. readln;
  14. end.
  15.  


4  Foros Generales / Foro Libre / La informatica en 1995 <<comico>> en: 3 Julio 2015, 06:14 am
Es muy intersante como ha cambiado la informatica a traves de los años y lo principalmente en que concepto se tenia a la gente que se dedicaba a esto en esos tiempos.


Este video que muestro trata de una animacion que relata la vision del autor de como era vista la informatica y la programacion en los años 90's que aunque es anormal, nos da una idea que las cosas van cambiando.


5  Programación / .NET (C#, VB.NET, ASP) / Eliminar referencia a botones c#? en: 8 Marzo 2015, 22:41 pm
No se si la pregunta esta de lo mejor planteada haber si algun moderador la checa si cree que es mejor alguna otra entonces que la cambie.

Bueno tengo una curiosidad cuando agrego un boton a un form en c#
y escribo codigo en el evento  click de el todo va bien pero si en algun momento ya no me gusto ese preciso boton ni todo su contenido cuando lo elimino
el componente visual, todo el codigo del evento se matiene.

Esto me parece algo ironico porque he probado otros lenguajes como Delphi o java y esto no pasa, tu eliminas algo visual y todo lo que estaba dentro de sus eventos tambien se elimina.

Haber si alguien me explica si esto es cosa del IDE o soy yo el que esta haciendo algo mal
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines