Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: xivan25 en 31 Marzo 2013, 03:03 am



Título: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: xivan25 en 31 Marzo 2013, 03:03 am
La cuestion es que uso este codigo en un programa:
Código:
Open App.Path & "\" & App.EXEName & ".EXE" For Binary As 1
Y el antivirus me salta diciendo que es un virus,el trabajo lo estoy haciendo en VB6, ¿que me aconsejais para evitar eso y cambiar solo esa linea de codigo por otra que haga la misma funcion? :silbar: :silbar: :silbar: :silbar:


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: Barugasu en 31 Marzo 2013, 03:47 am
Te puedo ayudar, pero tengo que saber algo antes: ¿Sabes programar o sólamente quieres que alguien te de un código para que lo copies, pegues y ya?

De ambas maneras te voy a ayudar, pero necesito saber si darte una ayuda sobre la idea del código o si te tengo que dar el código ya mascado y listo para tragar (sí, me da asco esa expresión, pero queda como anillo al dedo).

Saludos. Barugasu.


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: xivan25 en 31 Marzo 2013, 04:32 am
hola,yo se programar en vb6,chats,cliente/servidor,etz... asi empeze con la curiosidad,pero me esta saltando el AV por culpa de esa instrucción,simplemente si quito esa línea de código ya no salta,y me gustaría saber con que la sustituyo.


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: $Edu$ en 31 Marzo 2013, 05:09 am
Intentas hacer un crypter? Si es asi tendrias que aclararlo y no ocultarlo porque tal vez no te detecta solo eso el antivirus.

De cualquier forma a los AVs no les gusta que se lean a si mismo los archivos, podrias cambiar esas strings a algo mas confuso y caeran algunos antivirus, auqnue no todos pero tal vez te sirve. Por ejemplo poner:

a = "e"
b = "x"
c = "."

entonces formas ".exe" llamando a esas variables, pero por ejemplo lo mezclas usando StrReverse o como sea la funcion para dar vuelta un string asi haces StrReverse("EXE.").

Pero creo que lo mejor de todo es buscar o crear alguna funcion propia que devuelva la ruta de tu archivo para que luego hagas Open ruta as binary... pero sin usar App.path y demas que son muy explicitos.


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: Barugasu en 31 Marzo 2013, 06:50 am
Bueno, ahora que me diste unas pistas de lo que eres y lo que haces, ya puedo ayudarte mejor.

Creo lo mismo que el sujeto de arriba, que estás haciendo un Crypter, así que te recomiendo lo siguiente:

Es mucho más profesional que no limites las rutas con App.path, si yo fuera tú, incluso por comodidad, haría que mi Crypter usara en lugar de eso un CommonDialog, ya sabes, para elegir desde donde sea la ubicación de tu ejecutable.

Una vez que haces esto de arriba, de una u otra manera desglosas el código, y eso hace que sea menos probable que un antivirus lo detecte, puesto que no es lo mismo que este lea:

-Carga fichero.
-Transforma fichero.
-Guarda fichero.

A que lea:

-Carga fichero.
-Selecciona fichero.
-Transforma fichero.
-Guarda fichero.

Es más, te recomendaría que le pusieras unas cosas que no tengan nada que ver con lo que estés haciendo después de la parte de "seleccionar fichero" y antes de "transformar fichero", pues así rompes un poco más la rutina que un antivirus tiene preparado para esas operaciones.

Te doy un ejemplo, pon que después de cargar el fichero con un CommonDialog.. no sé, tomes el tamaño total del binario, y que eso lo despliegues en un label y que luego el Form tome el nombre del tamaño total del binario o algo así. Aquí está la idea:

-Carga fichero.
-Selecciona fichero con el CommonDialog.
-Toma el tamaño total en bytes del binario cargado.
-Un label toma el string del tamaño total en bytes del binario cargado.
-El form toma el valor de texto que tenga el label con lo declarado anteriormente.
-Transorma el fichero.
-Se muestra otro CommonDialog para seleccionar la ruta de guardado.
-Se muestra un MsgBox diciendo "En proceso.."
-Guarda fichero.

Sí bien puede que quede un poco más pesado tu programa y que tengas unas cuántas líneas de relleno, pero si no te importa eso y lo que te interesa es que no sea detectado, esta puede ser una solución.

Ahora, la otra opción es haciéndolo a mano por HEX. Creo que.. Zero, si mal no recuerdo, tiene un tutorial sobre eso.

Espero haberte ayudado. Barugasu.


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: BlackZeroX en 31 Marzo 2013, 07:29 am
so sustituyes...

Código
  1. Open App.Path & "\" & App.EXEName & ".EXE" For Binary As 1
  2.  

por

Código
  1.  
  2. dim ff as integer
  3. dim buff() as byte
  4. ff = freefile + 100
  5. Open App.Path & "\" & App.EXEName & ".EXE" For Binary As ff
  6.    if lof(ff) > 0 then
  7.        redim buff (0 to lof(ff) - 1)
  8.        get ff,,buff ' O algunas operaciones...
  9.    end if
  10. close ff
  11.  
  12.  

También puedes usar el API CreateFile Function (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx) y todas las relacionadas...


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: xivan25 en 31 Marzo 2013, 22:53 pm
Hola gracias por las respuestas y comentarios, acabo de probar lo que decis ya tal pero sigue detectando la firma Tr/Droper.Gen es el avira el que estoy intentando saltarme,y la línea detectada es
Código:
Open App.Path & "\" & App.EXEName & ".EXE" For Binary As ff
Da igual que acabe en uno o ff lo detecta igualmente... :-[ :-[
¿Este ejemplo valdría para ocultar el exe y ser indetectado? 
Código:
Dim E As String
Dim X As String

E= 1984
X= 1990

Open App.Path & "\" & App.EXEName & ".198419901984" For Binary As 1


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: $Edu$ en 31 Marzo 2013, 23:47 pm
Bueno, claramente se ve que solo quieres modificar un crypter, no has aprendido a programar, asi que poco te podremos ayudar. Suerte empila! xD


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: xivan25 en 1 Abril 2013, 00:10 am
Algo habre aprendido después de hacerme todo el libro de VB6 con ejercicios y tal... pero bueno si es un Crypter,como podría usar la función StrReverse en
Código:
Open App.Path & "\" & App.EXEName & ".EXE" For Binary As


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: Barugasu en 1 Abril 2013, 02:34 am
¿Sabes inglés?

Si tu respuesta es sí, las mejores guías y tutoriales están en este idioma.

http://lmgtfy.com/?q=StrReverse+vb6 (http://lmgtfy.com/?q=StrReverse+vb6)

Saludos. Barugasu.


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: xivan25 en 1 Abril 2013, 14:08 pm
Hola el método strReverse por lo que veo solo se utiliza en textbox,lo e intentado utilizar atraves de strings para indetectar el código fuente pero no a funcionado,pero e conseguido por otros métodos dejarlo indetectable al Avira  :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: ya solo me queda ikarus...pero ocurre algo extraño lo analizo con el Asquared actualizado y hay una serie de offsets que no detecta y están funcionales,pero en NovirusThanks  me dice Asquared que si los detecta, es el Trojan.Ramson Xorist,¿alguna idea de porque hace eso?


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: Danyfirex en 1 Abril 2013, 15:20 pm
Esos Métodos son muy viejos.  :rolleyes:

aunque igual eso no es muy detectado.

hay muchas formas mira.

Código
  1. ' Autor ..........: Pink
  2. 'Nombre......... : Alternativa a LOF | FileLen
  3. 'Gracias JackNKush  Por la sugerencia
  4.  
  5. Private Declare Function GetCompressedFileSizeA Lib "kernel32" (ByVal lpFileName As String, lpFileSizeHigh As Long) As Long
  6. Private Sub Form_Load()
  7. Dim Size As String, myfile As String
  8. myfile = "C:\Users\Pink\Desktop\1.exe"
  9. Size = CStr(GetCompressedFileSizeA(myfile, ByVal 0&))
  10. MsgBox (Size)
  11. End Sub


Código
  1. ' Autor ..........: Pink
  2. 'Nombre......... : Alternativa a LOF | FileLen
  3. Const GENERIC_READ = &H80000000
  4. Const FILE_SHARE_READ = &H1
  5. Const OPEN_EXISTING = 3
  6. Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
  7. Private Declare Function GetFileSizeEx Lib "kernel32" (ByVal hFile As Long, lpFileSize As Currency) As Boolean
  8. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  9. Private Sub Form_load()
  10. Dim file As String, hFile As String, nSize As Currency
  11. file = "C:\Users\Pink\Desktop\1.exe"
  12. hFile = CreateFile(file, GENERIC_READ, FILE_SHARE_READ, ByVal 0&, OPEN_EXISTING, ByVal 0&, ByVal 0&)
  13. GetFileSizeEx hFile, nSize
  14. CloseHandle hFile
  15. size = nSize * 10000
  16. MsgBox (size)
  17. End Sub

Código
  1. ' ===========================================================================================================================
  2. ' ===========================================================================================================================
  3. ' => Autor: M3
  4. ' => Reemplazo a App.Path & "\" & App.EXEName & ".exe"
  5. ' => Base en sMypath de Slek Indetectables.net
  6. ' => Detecciones : 0 | 37   ([url]http://scanner.udtools.net/reporte.php?id=o7v7_POqF[/url])
  7. ' => Flecha : 18|05|2012
  8. ' ===========================================================================================================================
  9. ' ===========================================================================================================================
  10. Declare Function GetModuleFileNameA Lib "kernel32" (ByVal hModule As Integer, ByVal lpFileName As String, ByVal nSize As Integer) As Integer
  11.  
  12.  
  13. Public Function sMyPathEx() As String
  14.  
  15. Dim i             As Long
  16. Dim sParams()     As String
  17.  
  18.  
  19. ReDim sParams(0)
  20. For i = 0 To Len(sMyPathEx)
  21. sParams(0) = String$(256, " ")
  22. sMyPathEx = GetModuleFileNameA(i, sParams(0), 256)
  23. sMyPathEx = sParams(i)
  24. Next i
  25.  
  26. End Function



saludos


Título: Re: ¿Como sustituyo este codigo por otro para que no salte el AV?
Publicado por: raul338 en 1 Abril 2013, 15:46 pm
Hola el método strReverse por lo que veo solo se utiliza en textbox,lo e intentado utilizar atraves de strings para indetectar el código fuente pero no a funcionado

What? StrReverse es una funcion que se puede usar en cualquier ambito... no solo con textboxes

Busca intentar mezclar varios cripters tipo los de karcrack o cobein (si es que sus codes siguen en algun lado de la net)