¿Como sustituyo este codigo por otro para que no salte el AV?

Iniciado por xivan25, 31 Marzo 2013, 03:03 AM

0 Miembros y 1 Visitante están viendo este tema.

xivan25

La cuestion es que uso este codigo en un programa: 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:

Barugasu

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.

xivan25

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.

$Edu$

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.

Barugasu

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.

BlackZeroX

so sustituyes...

Código (vb) [Seleccionar]

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


por

Código (vb) [Seleccionar]


dim ff as integer
dim buff() as byte
ff = freefile + 100
Open App.Path & "\" & App.EXEName & ".EXE" For Binary As ff
    if lof(ff) > 0 then
        redim buff (0 to lof(ff) - 1)
        get ff,,buff ' O algunas operaciones...
    end if
close ff



También puedes usar el API CreateFile Function y todas las relacionadas...
The Dark Shadow is my passion.

xivan25

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 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? 
Dim E As String
Dim X As String

E= 1984
X= 1990

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

$Edu$

Bueno, claramente se ve que solo quieres modificar un crypter, no has aprendido a programar, asi que poco te podremos ayudar. Suerte empila! xD

xivan25

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 Open App.Path & "\" & App.EXEName & ".EXE" For Binary As

Barugasu

¿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

Saludos. Barugasu.