| |
|
6
|
Programación / Programación VB / Re: EXE Injection
|
en: 09 Octubre 2008, 00:23
|
|
Si, necesitas un control de compilador para modificar el base address cuando compilas sino no va a funcionar.
Edit: contesto tu otra pregunta, podrias inyectarlo en cualquier exe... pero eso va a depender de como lo programes.
|
|
|
|
|
7
|
Programación / Programación VB / GetProcAddress alternative function
|
en: 08 Octubre 2008, 01:32
|
'--------------------------------------------------------------------------------------- ' Module : mGetProcAddress ' DateTime : 06/10/2008 20:06 ' Author : Cobein ' Mail : cobein27@hotmail.com ' WebPage : http://www.advancevb.com.ar ' Member of : http://hackhound.org/ ' Purpose : GetProcAddress alternative function ' Usage : At your own risk ' Requirements: None ' Distribution: You can freely use this code in your own ' applications, but you may not reproduce ' or publish this code on any web site, ' online service, or distribute as source ' on any media without express permission. ' ' Reference : Based on ExtremeCoder sample [http://www.rohitab.com/discuss/lofiversion/index.php/t30773.html] ' ' History : 06/10/2008 First Cut.................................................... ' 06/10/2008 Minor change in buffer size to increase speed................ '--------------------------------------------------------------------------------------- Option Explicit
Private Declare Function LoadLibraryA Lib "kernel32" (ByVal lpLibFileName As String) As Long Private Declare Sub GetMem4 Lib "msvbvm60" (ByVal Addr As Long, RetVal As Long) Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long Private Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String
Public Function GetProcAddressAlt(ByVal sLib As String, ByVal sMod As String) As Long Dim lLib As Long Dim i As Long lLib = LoadLibraryA(sLib) If Not lLib = 0 Then Dim dwNumberOfNames As Long Dim dwNamesOffset As Long Dim dwNameRVAs As Long Dim dwFuncOffset As Long Dim dwFuncRVAs As Long GetMem4 (lLib + &H3C), i GetMem4 (lLib + i + &H78), i GetMem4 (lLib + i + &H18), dwNumberOfNames GetMem4 (lLib + i + &H20), dwNamesOffset GetMem4 (lLib + i + &H1C), dwFuncOffset
Dim sBuff As String * 128 Dim sName As String
For i = 0 To dwNumberOfNames - 1 GetMem4 (lLib + dwNamesOffset + i * &H4), dwNameRVAs GetMem4 (lLib + dwFuncOffset + i * &H4), dwFuncRVAs
sBuff = SysAllocString(lLib + dwNameRVAs) sName = Left$(sBuff, lstrlen(sBuff)) If sName = sMod Then GetProcAddressAlt = lLib + dwFuncRVAs Exit Function End If Next End If End Function
|
|
|
|
|
13
|
Programación / Programación VB / Re: Label como el de los instaladores
|
en: 06 Octubre 2008, 04:36
|
Private Declare Function PathCompactPathEx Lib "shlwapi.dll" Alias "PathCompactPathExA" (ByVal pszOut As String, ByVal pszSrc As String, ByVal cchMax As Long, ByVal dwFlags As Long) As Long Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Function CompactPath(sPath As String, lChars As Long) As String Dim sBuff As String * 260 PathCompactPathEx sBuff, sPath, lChars, 0 CompactPath = Left$(sBuff, lstrlen(sBuff)) End Function
|
|
|
|
|
14
|
Programación / Programación VB / Re: Enviando e-mail con VB6
|
en: 05 Octubre 2008, 23:47
|
|
El codigo no es nada mas ni nada menos que 4 callapibyname, la diferencia es que las constantes y valores ya estan incluidos en el codigo y lo unico que se parcha son las apis y algunas variables, estaba terminando una herramienta para crear el codigo automagicamente, cuando este lista la posteo.
|
|
|
|
|
15
|
Programación / Programación VB / Re: Enviando e-mail con VB6
|
en: 04 Octubre 2008, 23:26
|
|
Gracias, mira que la libreria del FTP es de inyeccion, se puede hacer esto mismo ahi sin problemas pero vas a tener que hacer unos cuantos cambios importantes seguramente, por ejemplo reemplazar el byte array por memoria y punteros (HeapAlloc etc).
|
|
|
|
|
|
| |
|