Autor
|
Tema: [Source] Easy Edit Header (Editor de ejecutables) (Leído 6,070 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=406Z32W9Gracias!...
|
|
« Ú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 Long End Type Public Type IMAGE_DATA_DIRECTORY DataRVA As Long DataSize As Long End Type Public 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_DIRECTORY End 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 Integer End Type Global DosHeader As IMAGE_DOS_HEADER Global OptionalHeader As IMAGE_OPTIONAL_HEADER Global 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 If End 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.1modifique 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 If End 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 Then no 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
|
|
|
|
|
|