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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Autoit] Get_EOF Ejemplos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Autoit] Get_EOF Ejemplos  (Leído 3,111 veces)
Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
[Autoit] Get_EOF Ejemplos
« en: 27 Agosto 2012, 15:19 pm »

bueno aquí una pequeña contribución para los que les gusta Autoit  ;D

Les dejo dos ejemplos uno con estructura y el otro sin estructura.

Código
  1. #cs -------------------------------------------------------
  2. AutoIt Version: 3.3.8.1
  3. Author..........: Pink
  4. Script Function...: Get_EOF
  5. Uso..............: Get_EOF(Runta Archuivo)
  6. Retorna : "Posicion EOF"
  7. Gracias: EON-Karcrack-The Swash
  8. #ce -------------------------------------------------------
  9.  
  10.  
  11. ;Ejemplo
  12. $Path="C:\Users\Usuario\Desktop\Anotador.exe"
  13. msgbox(0,"",Get_EOF($Path))
  14.  
  15.  
  16. Func Get_EOF($MyFile)
  17. Local $File = FileOpen($MyFile,16)
  18. If @error Then
  19. Msgbox(0,"Error","No se Pudo leer el Archivo")
  20. Endif
  21.  
  22. Local $FileLen = FileGetSize($MyFile)
  23. Local $Binary = DllStructCreate("byte["& $FileLen &"]")
  24. DllStructSetData($Binary,1,FileRead($File))
  25. FileClose($File)
  26. Local $BinaryPtr = DllStructGetPtr($Binary)
  27.  
  28.  
  29.  
  30.  
  31. Local Const $I_N_H_Len = 248
  32. Local Const $I_F_H_Len = 20
  33. Local Const $I_O_H_Len = 224
  34. Local Const $I_S_H_Len = 40
  35.  
  36. Local $IMAGE_DOS_HEADER = DllStructCreate( _
  37. "WORD e_magic;WORD e_cblp;WORD e_cp;WORD e_crlc;WORD e_cparhdr;WORD e_minalloc;WORD e_maxalloc;"& _
  38. "WORD e_ss;WORD e_sp;WORD e_csum;WORD e_ip;WORD e_cs;WORD e_lfarlc;WORD e_ovno;"& _
  39. "WORD e_res[4];WORD e_oemid;WORD e_oeminfo;WORD e_res2[10];WORD e_lfanew",$BinaryPtr)
  40.  
  41.  
  42. If Not DllStructGetData($IMAGE_DOS_HEADER,"e_magic") = 23177 Then
  43. Msgbox(0,"Error","Firma MZ Si Encontrado " )
  44. EndIf
  45.  
  46.  
  47.  
  48. $BinaryPtr += DllStructGetData($IMAGE_DOS_HEADER,"e_lfanew")
  49.  
  50. Local $IMAGE_NT_HEADERS = DllStructCreate( _
  51. "DWORD signature;CHAR ifh["& $I_F_H_Len &"];CHAR ioh["& $I_O_H_Len &"]",$BinaryPtr)
  52.  
  53. If Not DllStructGetData($IMAGE_NT_HEADERS,"signature") = 17744 Then
  54. Msgbox(0,"Error","Firma PE No Encontrada")
  55. Endif
  56.  
  57. Local $IMAGE_FILE_HEADER = DllStructCreate( _
  58. "WORD machine;WORD numberofsections;DWORD timedatestamp;DWORD pointertosymboltable;DWORD numberofsymbols;"& _
  59. "WORD SizeOfOptionalHeader;WORD characteristics",DllStructGetPtr($IMAGE_NT_HEADERS,"ifh"))
  60.  
  61. local $IMAGE_OPT_HEADER = DllStructCreate( _
  62. "WORD magic;BYTE majorlinkerversion;BYTE minorlinkerversion;DWORD sizeofcode;DWORD sizeofinitializeddata;"& _
  63. "DWORD sizeofuninitializeddata;DWORD addressofentrypoint;DWORD baseofcode;DWORD baseofdata;DWORD imagebase;"& _
  64. "DWORD sectionalignment;DWORD filealignment;WORD majoroperatingsystemversion;WORD minoroperatingsystemversion;"& _
  65. "WORD majorimageversion;WORD minorimageversion;WORD majoresubsystemversion;WORD minorsubsystemversion;"& _
  66. "DWORD win32versionvalue;DWORD sizeofimage;DWORD sizeofheaders;DWORD checksum;WORD subsystem;WORD dllcharacteristics;"& _
  67. "DWORD sizeofstackreserve;DWORD sizeofstackcommit;DWORD sizeofheapcommit;DWORD loaderflags;DWORD numberofrvaandsizes;"& _
  68. "DOUBLE datadirectory[16]",DllStructGetPtr($IMAGE_NT_HEADERS,"ioh"))
  69.  
  70. $BinaryPtr += $I_N_H_Len
  71.  
  72. $InicioINT=DllStructGetData($IMAGE_DOS_HEADER,"e_lfanew")
  73. $NS=DllStructGetData($IMAGE_FILE_HEADER,'numberofsections')-1
  74. $UTLS=$NS*$I_S_H_Len
  75.  
  76. $BinaryPtr += $UTLS
  77.  
  78. Local $IMAGE_SECTION_HEADER = DllStructCreate( _
  79. "CHAR name[8];DWORD virtualsize;DWORD virtualaddress;DWORD sizeofrawdata;DWORD pointertorawdata;DWORD pointertorelocations;"& _
  80. "DWORD pointertolinenumbers;WORD numberofrelocations;WORD numberoflinenumbers;DWORD characteristics",$BinaryPtr)
  81.  
  82.  
  83.  
  84.  
  85. $RawSize=dec(Hex(DllStructGetData($IMAGE_SECTION_HEADER, "SizeOfRawData")))
  86. $RawOffset=dec(Hex(DllStructGetData($IMAGE_SECTION_HEADER, "PointerToRawData")))
  87.  
  88.  
  89. Return $RawSize+$RawOffset
  90.  
  91. EndFunc  






Código
  1. #cs -------------------------------------------------------
  2. AutoIt Version: 3.3.8.1
  3. Author..........: Pink
  4. Script Function...: Get_EOF
  5. Uso..............: Get_EOF(Runta Archuivo)
  6. Retorna : "Posicion EOF"
  7. Gracias: EON-Karcrack-The Swash
  8. #ce ------------------------------------
  9.  
  10.  
  11.  
  12.  
  13. ;Ejemplo
  14.  
  15.  
  16. local $myfile="C:\Users\Usuario\Desktop\Anotador.exe"
  17.  
  18. msgbox(0,"",Get_EOF($myfile))
  19.  
  20. Func Get_EOF($file)
  21.    Const $l_fanew=60
  22.    Const $PEsize=4
  23.    Const $I_F_H=20
  24.    const $SizeS =40
  25.    local $LFvalue ;offset Entrada IMAGE_NT_HEADERS firma PE
  26.    local $Size_O_H ;izeOfOptionalHeader
  27.    local $NofS  ;NumberOfSections
  28.    local $fin_I_S_H ;IMAGE_SECTION_HEADER
  29.  
  30.  
  31. ;leyendo archivo y cargando buffer
  32.    $hfile=fileopen($file)
  33.    $binary=fileread($hfile,1000)
  34.  
  35.  
  36. ;offset Entrada IMAGE_NT_HEADERS firma PE
  37.   $LFvalue=binarymid($binary,$l_fanew+1,4)
  38.   $LFvalue=Dec(OLE(Stringreplace($LFvalue,"0x","",1,0)))
  39.  
  40.  
  41.  
  42.     ;NumberOfSections
  43.    $NofS=$LFvalue+$PEsize+2
  44.    $NofS=BinaryMid($binary,($NofS+1),2)
  45.    $NofS=Dec(OLE(Stringreplace($NofS,"0x","",1,0)))
  46.  
  47.  
  48.    ;Tamaño SizeOfOptionalHeader
  49.    $Size_O_H=$LFvalue+$PEsize+16
  50.    $Size_O_H=BinaryMid($binary,($Size_O_H+1),2)
  51.    $Size_O_H=dec(OLE(StringReplace($Size_O_H,"0x","",1,0)))
  52.  
  53.  
  54. $fin_I_S_H=($LFvalue+$PEsize+$I_F_H+$Size_O_H)+($NofS*$SizeS)
  55.  
  56.  
  57.  
  58. $RawSize=binarymid($binary,$fin_I_S_H-24,4)
  59. $RawSize=dec(StringReplace($RawSize,"0x","",1,0))
  60.  
  61. $RawOffset=binarymid($binary,$fin_I_S_H-20,4)
  62. $RawOffset=dec(StringReplace($RawOffset,"0x","",1,0))
  63.  
  64.  
  65. fileclose($hfile)
  66.  
  67. return $RawSize+$RawOffset
  68.  
  69.  
  70.  
  71.  
  72. EndFunc
  73.  
  74.  
  75. ;Funcion OLE "Orden Little Endian"
  76. Func OLE($Var)
  77. Local $len=stringlen($Var)/2
  78. local $Array[$len+1]
  79. local $Char
  80. local $A=1
  81. local $Result
  82. for $i= 1 to $len
  83.    $Char=stringmid($Var,$A,2)
  84.    $A+=2
  85.    $Array[$i]=$Char
  86.    next
  87. for $x = $len to 1 Step -1
  88.    $Result&=$Array[$x]
  89. Return $Result
  90. EndFunc  


Saludos cualquier dura aquí estoy :)


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Salida de Consola en AutoIt 3
Scripting
D4RIO 0 3,156 Último mensaje 10 Junio 2007, 00:54 am
por D4RIO
AutoIt !!!----> Solucionado
Programación Visual Basic
-/lnkx/- 9 10,591 Último mensaje 6 Junio 2008, 16:56 pm
por krackwar
[Autoit] Loop
Scripting
mubimeiquer 2 5,447 Último mensaje 13 Febrero 2009, 16:36 pm
por gna08
manual autoit
Scripting
leugimr 0 4,934 Último mensaje 15 Octubre 2011, 18:54 pm
por leugimr
Problema con AutoIt 3
Programación General
EuroHack 1 2,876 Último mensaje 30 Diciembre 2011, 18:07 pm
por EuroHack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines