| 
	
		|  Autor | Tema: [Source] Easy Edit Header (Editor de ejecutables)  (Leído 6,706 veces) |  
	| 
			| 
					
						| ignorantev1.1 
								 
								
								 Desconectado 
								Mensajes: 617
								
								 
								/\ Así acabo cuando quiero programar...
								
								
								
								
								
								     | 
 
Bueno, pues, cuando intente meterme a eso del malware y esas cosas, decidi crearme un programa para editar las cabeceras de los ejecutables, y como siempre no es nada nuevo, pero la verdad que me gusto tanto y me fue muy util (dejando atras el ego    ) la verdad que me agrado mucho por que lo adapte a mis necesidades, el codigo esta completamente desarrollado por mi, clases y controles, etc... La verdad no esta terminado por que tenia pensado un soporte de scripts... pero como muchas veces dejo las cosas a medias... Pues a ver que les parece...  http://www.megaupload.com/?d=406Z32W9 Gracias!...
 
 |  
						| 
								|  |  
								| « Última modificación:  6 Octubre 2010, 17:29 pm por ignorantev1.1 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
. Ese control que pintas en el Picture se ve bueno... Pero bueno... te lias mucho extrayendo informacion. yo lo hago mas facil. Este es un Extracto de mi codigo fuente ListarAPIS Proyectos VB6  Public Type IMAGE_DOS_HEADER   Magic                As Integer   NumBytesLastPage     As Integer   NumPages             As Integer   NumRelocates         As Integer   NumHeaderBlks        As Integer   NumMinBlks           As Integer   NumMaxBlks           As Integer   SSPointer            As Integer   SPPointer            As Integer   Checksum             As Integer   IPPointer            As Integer   CurrentSeg           As Integer   RelocTablePointer    As Integer   Overlay              As Integer   ReservedW1(3)        As Integer   OEMType              As Integer   OEMData              As Integer   ReservedW2(9)        As Integer   ExeHeaderPointer     As LongEnd TypePublic Type IMAGE_DATA_DIRECTORY   DataRVA     As Long   DataSize    As LongEnd TypePublic Type IMAGE_OPTIONAL_HEADER   Magic             As Integer   MajorLinkVer      As Byte   MinorLinkVer      As Byte   CodeSize          As Long   InitDataSize      As Long   unInitDataSize    As Long   EntryPoint        As Long   CodeBase          As Long   DataBase          As Long   ImageBase         As Long   SectionAlignment  As Long   FileAlignment     As Long   MajorOSVer        As Integer   MinorOSVer        As Integer   MajorImageVer     As Integer   MinorImageVer     As Integer   MajorSSVer        As Integer   MinorSSVer        As Integer   Win32Ver          As Long   ImageSize         As Long   HeaderSize        As Long   Checksum          As Long   Subsystem         As Integer   DLLChars          As Integer   StackRes          As Long   StackCommit       As Long   HeapReserve       As Long   HeapCommit        As Long   LoaderFlags       As Long   RVAsAndSizes      As Long   DataEntries(15)   As IMAGE_DATA_DIRECTORYEnd Type Public Type IMAGE_FILE_HEADER   Machine              As Integer   NumberOfSections     As Integer   TimeDateStamp        As Long   PointerToSymbolTable As Long   NumberOfSymbols      As Long   SizeOfOtionalHeader  As Integer   Characteristics      As IntegerEnd Type Global DosHeader            As IMAGE_DOS_HEADERGlobal OptionalHeader       As IMAGE_OPTIONAL_HEADERGlobal Header               As IMAGE_FILE_HEADER  Sub main()Dim Str As String    Str = "c:\InfraExplorer_Servidor.exe"    If Dir(Str, vbArchive) <> "" Or Str = "" Or Len(Str) < 4 Then        Dim StartOffset As Double        Open Str For Binary As 1            Get 1, , DosHeader            '   //  Get 1, DosHeader.ExeHeaderPointer + 5, Header ' // este es el Header            Get 1, DosHeader.ExeHeaderPointer + 5 + LenB(Header), OptionalHeader            MsgBox OptionalHeader.Checksum & vbNewLine & Hex(OptionalHeader.Checksum)        Close 1    Else        MsgBox "Archivo no encontrado"    End IfEnd Sub  
 Dulces Infierno Lunar!¡.
 
 |  
						| 
								|  |  
								| « Última modificación:  7 Octubre 2010, 07:49 am por BlackZeroX » |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| ignorantev1.1 
								 
								
								 Desconectado 
								Mensajes: 617
								
								 
								/\ Así acabo cuando quiero programar...
								
								
								
								
								
								     | 
 
Oye BlackZeroX, me da error en tiempo de ejecucion al intentar arrancar tu programa... y la verdad no entiendo como funciona tu codigo, me podrias explicar por favor?, y a cual control de refieres?Gracias por responder man!
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| ssccaann43 © 
								 
								
								 Desconectado 
								Mensajes: 792
								
								 
								¬¬
								
								
								
								
								
								   | 
 
Excelente source, Me gusto mucho...! buen aporte |  
						| 
								|  |  
								|  |  En línea | 
 
   - Miguel Núñez Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio... "I like ^TiFa^" |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
Oye BlackZeroX, me da error en tiempo de ejecucion al intentar arrancar tu programa... y la verdad no entiendo como funciona tu codigo, me podrias explicar por favor?, y a cual control de refieres?Gracias por responder man!
 
 * Lo del programa en tiempo de ejecucion es raro xS... ---> En el proceso main() hay llamados a procesos que no puse , solo eliminalos..., en si lo que hace es Extraer la infocacion en la estructura guardada... en si solo tendrias que jalar las estructuras asi:      Get 1, , DosHeader' //     Get 1, DosHeader.ExeHeaderPointer + 5, Header ' // este es el Header    Get 1, DosHeader.ExeHeaderPointer + 5 + lenb(header) , OptionalHeader     MsgBox OptionalHeader.Checksum & vbnewline & hex(OptionalHeader.Checksum)  
 YA CORREGI EL CODIGO SUPERIOR... y a cual control de refieres?
 Al que parece ListView al que se dibuja en el PictureBox  a ese me refiero xD, haber si me animo depsues y hago un ctl <-/-\-> UC . Dulce Infierno Lunar!¡. |  
						| 
								|  |  
								| « Última modificación:  7 Octubre 2010, 07:47 am por BlackZeroX » |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| ignorantev1.1 
								 
								
								 Desconectado 
								Mensajes: 617
								
								 
								/\ Así acabo cuando quiero programar...
								
								
								
								
								
								     | 
 
al que se dibuja en el PictureBox[/b] a ese me refiero xD, haber si me animo depsues y hago un ctl <-/-\-> UC.
 Jaja, no es control, nada mas es "pintura" xD... |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
@ignorantev1.1
 lo se... ppor ello dije que se pinta en el PictureBox ¬¬"
 
 Dulces Lunas!¡.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| ignorantev1.1 
								 
								
								 Desconectado 
								Mensajes: 617
								
								 
								/\ Así acabo cuando quiero programar...
								
								
								
								
								
								     | 
 
@BlackZeroX Ok ok ta bueno, no te esponjes    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
.@Ignorantev1.1 modifique el codigo que te deje arriba: asi se llama  Sub main()Dim Str As String    Str = "c:\InfraExplorer_Servidor.exe"    If Dir(Str, vbArchive) <> "" Or Str = "" Or Len(Str) < 4 Then        Dim StartOffset As Double        Open Str For Binary As 1            Get 1, , DosHeader            '   //  Get 1, DosHeader.ExeHeaderPointer + 5, Header ' // este es el Header            Get 1, DosHeader.ExeHeaderPointer + 5 + LenB(Header), OptionalHeader            MsgBox OptionalHeader.Checksum & vbNewLine & Hex(OptionalHeader.Checksum)        Close 1    Else        MsgBox "Archivo no encontrado"    End IfEnd Sub  
 Como veras te da el mismo Checksum que el que te da ese APP, el Exe Explorer... y cualquier otro. Dulce Infierno Lunar!¡. |  
						| 
								|  |  
								|  |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| cobein | 
 
Pasaba por aca y me llamo la atencion esto  If Dir(Str, vbArchive) <> "" Or Str = "" Or Len(Str) < 4 Thenno esta mal pero la logica que se utiliza para filtrar con Len(Str) < 4 dejaria de lado posibles archivos existentes con rutas validas, ejemplo una ruta relativa como ser "\<archivo>" siendo el nombre del archivo menor o igual a 2 caracteres en total, que podria ser el eqivalente a "c:\a" o como ruta relativa "\a"   |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
   |