Saludos a todos,
Perdonen que los moleste pero tengo un problemita, estoy tratando de incorporar un archivo tlb a mi aplicacion y me encuentro con el siguiente problema.
Tengo esta api:
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
agrego el tlb y la cambio por
Private Declare Function function1 Lib "kernel32" Alias "function1A" (ByVal lpLibFileName As String) As Long
Cuando compilo todo y ejecuto recibo este error "Cant find DLL entry point function1 in kernel32"
Ya me volvi loco probe todas las combinaciones posible y no lo logro, si alguien me puede dar una ayudita se los voy agradecer.
De ante mando, gracias por todo, Saludos!
Edit: Estoy usando visual basic 6
MM creo que tienes que comentar la linea esta así:
'Private Declare Function function1 Lib "kernel32" Alias "function1A" (ByVal lpLibFileName As String) As Long
Luego reemplazar
y pones buscar LoadLibrary
reemplazar con function1
luego reemplazar todo en módulo y listo!
Ojala te sirva, suerte amigo :)
'Private Declare Function function1 Lib "kernel32" Alias "function1A" (ByVal lpLibFileName As String) As Long
Luego reemplazar
y pones buscar LoadLibrary
reemplazar con function1
luego reemplazar todo en módulo y listo!
Ojala te sirva, suerte amigo :)
The best forum!!: Indetect@bles
NothingHERE
NothingHERE
Veo que no te has fijado en las delaraciones, VB6 nos da la posibilidad de cambiarle el nombre a las funciones de una, me refiero a que tu puedes renombrar "LoadLibrary" solo en tu aplicación, fuera de esta te tienes que referir a ella por su nombre en la DLL de kernel que es "LoadLibraryA".
Si ves la estructura de la declaracion de una funcion externa es la siguiente.
NFC Es el nombre de la funcion en TU codigo.
DLL El nombre de la DLL donde se encuentra la función.
NRF El nombre de la función tal cual esta en la DLL.
Params Parametros que necesita la funcion tal cual las necesite.
RT El tipo de variable de retorno.
Bien ahora revisemos tu codigo
Estas intentando acceder a la inexistente function1A en la DLL Kernel32, si quieres cambiar al nombre a una función por comodidad o algun otro motivo, solo cambiaselo en NFC, ya que si no tendras el error de "Entry point no encontrado...."
Saludos y espero que te haya servido!
Si ves la estructura de la declaracion de una funcion externa es la siguiente.
Donde:Declare Function NFC Lib "DLL" Alias "NRF" (Params) RT
NFC Es el nombre de la funcion en TU codigo.
DLL El nombre de la DLL donde se encuentra la función.
NRF El nombre de la función tal cual esta en la DLL.
Params Parametros que necesita la funcion tal cual las necesite.
RT El tipo de variable de retorno.
Bien ahora revisemos tu codigo
Código: Seleccionar todo
Private Declare Function function1 Lib "kernel32" Alias "function1A" (ByVal lpLibFileName As String) As Long
Saludos y espero que te haya servido!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Probablemente orlando9427 tenga más experiencia que yo, pero si eso no te funciona revisa el tuto de luchoPR para indetectar desde el sorce, ya que aplica el método TLB al final del video.
Suerte!
Suerte!
The best forum!!: Indetect@bles
NothingHERE
NothingHERE
Muchisimas gracias por la ayuda, pude resolverlo, dejo la solucion aca por si a alguien le pasa lo mismo, y hago otra consulta sobre un problema nuevo.
Solucion: Cuando se usa tlb, no se declara la api en el codigo, se borra la declaracion y todo funciona de maravilla.
Consulta: Supuestamente con esto deberia desaparecerme por ejemplo LoadLibraryA del Hex, pero abriendolo con un editor hexa puedo leer claramente el texto LoadLibraryA y de cualquier api que llame usando TLB, porque pasa esto? Sirve realmente usar TLB?
Gracias!
Solucion: Cuando se usa tlb, no se declara la api en el codigo, se borra la declaracion y todo funciona de maravilla.
Consulta: Supuestamente con esto deberia desaparecerme por ejemplo LoadLibraryA del Hex, pero abriendolo con un editor hexa puedo leer claramente el texto LoadLibraryA y de cualquier api que llame usando TLB, porque pasa esto? Sirve realmente usar TLB?
Gracias!
Es una lucha, el avira me esta volviendo loco, no logro sacarlo con nada, el dropper/gen me tagea todo lo que programo!
Una pregunta antes que nada, ya he buscado acerca del TLB y encontre cosas tan diferentes que ya no se si es de la informatica xD
Que es un archivo TLB y darme una idea de que intentas hacer.
Saludos y una disculpa
Que es un archivo TLB y darme una idea de que intentas hacer.
Saludos y una disculpa
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
A ver, cuando "declaras" una api en un tlb, para usarla basta con poner el nombre que le has asignado, y usándolo como una función propia de vb6 (como MsgBox, por ejemplo)
Y a la segunda cuestión: No, la api no desaparece del Hex, al usar tlb la estás declarando, de una forma distinta, pero la estás declarando, eso quiere decir que aparecerá en otro lugar del code, pero aparecerá. Al menos antes sí servía con ciertas apis, como DllFunctionCall o __vbaCopyBytes. Ahora no sé hasta qué punto es útil usar tlb.
La única forma de usar apis sin declarar (sin que aparezcan), que yo sepa, es usando CallAPIByName. Hay muchas formas de hacer esto, unas más detectadas y otras menos...
Saludos!
Y a la segunda cuestión: No, la api no desaparece del Hex, al usar tlb la estás declarando, de una forma distinta, pero la estás declarando, eso quiere decir que aparecerá en otro lugar del code, pero aparecerá. Al menos antes sí servía con ciertas apis, como DllFunctionCall o __vbaCopyBytes. Ahora no sé hasta qué punto es útil usar tlb.
La única forma de usar apis sin declarar (sin que aparezcan), que yo sepa, es usando CallAPIByName. Hay muchas formas de hacer esto, unas más detectadas y otras menos...
Saludos!
github.com/Slek-Z
Muchisimas gracias por la data! Me quedo claro y de paso queda la data para otro que tenga el mismo problema, ya que no encontre mucho sobre TLB en internet... Saludos!