Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Karcrack

#1081
Esto no es taringa... hacemos las cosas por ayudar, no para ganar 'puntos'..
#1082
Claro que en VB se puede hacer una aplicacion de consola:
http://foro.elhacker.net/programacion_vb/crear_aplicaciones_de_consola_con_vb_intermedio-t230818.0.html;msg1099575
http://foro.elhacker.net/programacion_vb/crear_aplicaciones_de_consola_vb_avanzado_clase-t230908.0.html

Y no es necesario recurrir al spam :P
#1083
Lo mejor son las personas que se registran para pedir que les liberen en movil.. creo que un 90% de los nuevos temas en ese subforo son creados por personas con menos de 5 mensajes :xD :xD
#1084
Cita de: el_c0c0 en  4 Marzo 2010, 22:16 PM
uf perfecto! yo no uso esos codigos, pero siempre que me pasaban alguno, no funcionaba en W7 y tenia que recurrir a la querida PC virtual.

ahora yo pregunto (para boludear), ese opcode que pusiste, si lo llamo con CallWindowProc, me devuelve el base address asi nomas no?

es un poco engañoso el tema de comparar la primera letra nomas, pero dudo que se cargue otra DLL que empieze con K antes que el k32 o el ntdll

en fin, perfecto, saludos
Si llamas a esa ShellCode con CallWindowProc este devolvera 0, tienes que pasarle el puntero a un buffer (LONG) donde recibirás el Address en [ESP+8] (2ndo parametro)... Seria algo asi:
CallWindowProc VarPtr(bvCode(0)),byval 0&, byval varptr(lBuffer),byval 0&, byval 0&

Y no solo compara que el modulo cargado empiece por 'K'/'k' sino que mida tambien 12 caracteres (UNICODE)(24bytes)... osea que sea "KERNEL32.DLL"
#1085
Bueno, supongo que algunos se habran dado cuenta que en W7 algunos CallAPI no funcionan... Eso es porque el W7 pone primero NTDLL antes que KERNEL32 en los modules cargados (Peb->InInitOrder[0]->BaseAddress != &KERNEL32 ::) :xD)... Es por eso que he programado (Basandome en otros) este shellcode que saca el BaseAddress de K32 en cualquier W$ NT aqui tenies el codigo:
http://karcrack.pastebin.com/TWmj5G5c

Y bueno, para solucionar el problema en los codigos que utilizan un pequeño shellcode para sacar el BaseAddres basta con reemplazar la constante THUNK_KERNELBASE por estos OPCODES:
8B4C2408565531C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE789295D5EC3

Saludos :D

Originalmente posteado (En Ingles):
http://www.advancevb.com.ar/?p=499
:)
#1086
@Leandro:Yo uso para generar los *.TLB el TLB Editor de PowerVB
http://www.powervb.com/edittlbeval.htm
;)
#1087
Para velocidad? Muy sencillo... usar APIs en *.TLBs...

A ver... tu cuando llamas a MsgBox lo unico que hace VB es "jugar" un poquito y acabar llamando al API MessageBox()
Por que te digo que uses un *.TLB para declarar las APIs? Pues porque cuando no declaras el API en un .TLB y lo haces directamente en el codigo, cuando tu llamas a esa API lo que hace VB es llamar a LoadLibrary() y GetProcAddress() por lo tanto mas lento...

Si te gusta la velocidad y VB podrias aprender a usar ASM inline >:D Y si no te gusta el ASM pero te gusta la velocidad y VB mirate esta web:
http://xbeat.net/vbspeed/
:D

PD: Bienvenido al foro ;)
#1088
Cita de: BlackZeroX▓▓▒▒░░ en  1 Marzo 2010, 19:26 PMPor que B0X ... Maldito SharKI, me puso el diminutivo y ya se expandió.
SharkI te puso ese diminutivo? :laugh: Que casualidad... no? :xD

He puesto eso pues por que como ha Hacker_Zero lo llamo H0... y soy muy vago... :P
Si te moelsta tranquilo, copiare tu nick tal cual, tampoco es tanto esfuerzo ;)
#1089
Cita de: Drinky94 en  1 Marzo 2010, 12:49 PM
Puse lacalculador ade ejemplo... podria haber puesto cualquier otro programa..
Pues eso te comento, que es mejor hacerlo en forma de funcion... Y luego si quieres pones un ejemplo con la calculadora (SciCalc)
#1090
B0X se refiere a que tienes que comprobar que el Handle sea distinto a 0, sino la cosa no funcionara...


Respecto al codigo inicial que presento Drinky:
Código (vb) [Seleccionar]
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" ( _
   ByVal hwnd As Long, _
   ByVal lpString As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
   ByVal lpClassName As String, _
   ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
   Dim drinky As String, handle As long
   handle = FindWindow(vbNullString, "Calculadora")
   drinky = SetWindowText(handle, "Drinky94 ;)")
End Sub

SetWindowText(): Devuelve un Boolean, no una cadena de texto... asi que la cadena 'drinky' ademas no volver a ser usada es del tipo incorrecto...
FindWindow(): Como te dije por MSN hace tiempo mejor que trabajes con el ClassName :P

Y en general, cuando compartas codigos mejor que los prepares en forma de funcion, y no en funcion a un command y a ser posible que tenga parametros, como en este caso la ventana (Hwnd) y el titulo nuevo...