|
Mostrar Mensajes
|
Páginas: [1] 2 3 4
|
2
|
Programación / Programación Visual Basic / Re: Como puedo enviar un email sin saber el sevidor smtp
|
en: 27 Junio 2006, 19:13 pm
|
lo mejor es ser uno mismo el servidor de correo. Es decir, si quieres enviar un email a xxx@yahoo.es, comunicarte directamente con el servidor de correo de yahoo,si quieres enviar un mail a yyy@telefonica.net, comunicarte directamente con el servidor de correo de telefonica. Para localizar el servidor de correo asociado está el DNS MX record, lee un poco de dns. Esto funciona en la mayoría de los casos, pero por ejemplo existen servidores de correo que utilizan algun tipo de filtro antispam y aunque te digan que el correo se ha enviado correctamente, finalmente no llega, lo filtra. Este es el caso de hotmail. Con yahoo funciona sin problemas y con la mayoria funciona, pero los de hotmail lo tienen capao. saludox
|
|
|
3
|
Programación / Programación Visual Basic / Re: Inyectar DLL
|
en: 28 Mayo 2006, 21:12 pm
|
hola muchachos el ej de krispin me tiraba error hasta que abri el notepad! yo cree una dll que en el form_load hciera un msgbox, pero no hace nada ni sikiera notifica que haga algo ni nada de eso! si alguen fuera tan bondadoso de hacerme un ej se lo agradeceria muchisimo, xq lo unico que se es que no hace error. Espero una respuesta de ustedes y desde ya muchas gracias! Salu2 Sancho.Mazorka Oye, el code que puse es 100% funcional. porsupuesto que con el code que puse si no habres el notepad casca, es al que lo inyecta en este caso, pero la ostia, salta a la vista. La dll la habras creado en VB, por eso no te funciona. No es igual una dll Activex de visual basic que una de C. Create un dll en c y te funcionara. Con VB tambien se puede pero bueno, es mas complejo. Os recomiendo que leais sobre formato de un exe(portable executable). Para correr, primero hay que aprender andar. Saludos.
|
|
|
4
|
Programación / Programación Visual Basic / Re: Inyectar DLL
|
en: 26 Mayo 2006, 19:42 pm
|
todo en un form? o uso modulo?
Sin comentarios. Primero hecha un vistazo al codigo, y luego habla. Si no sacas nada en claro de ese code dedicate a aprander un poco VB antes de empezar a querer hacer cosas raras. el ejemplo es clarisimo. Sin comentarios. Si en lugar de inyectar una DLL inyectaramos un EXE que pasaria???un desbordamiento???
Salu2
Con ese code claramente no chuta, la razon es obvia.
|
|
|
5
|
Programación / Programación Visual Basic / Re: Inyectar DLL
|
en: 26 Mayo 2006, 19:17 pm
|
La forma mas simple de inyectar una DLL es reservar memoria en el proceso (VirtualAlloc), escribir ahi el nombre de la DLL en cuestion (WriteProcessMemory) y despues crear un hilo cuyo punto de entrada sea LoadLibraryA y su parametro la memoria reservada anteriormente.
Efectivamenteeeeeeeeeee!! aquí teneis un ejemplo: Option Explicit
Public hModule As Long Public hProcess As Long Public dwSize As Long Public dwPid As Long Public dwBytesWritten As Long Public dwTid As Long
Public SE As SECURITY_ATTRIBUTES
Public Const PAGE_READONLY As Long = &H2 Public Const PAGE_READWRITE As Long = &H4 Public Const PAGE_EXECUTE As Long = &H10 Public Const PAGE_EXECUTE_READ As Long = &H20 Public Const PAGE_EXECUTE_READWRITE As Long = &H40 Public Const MEM_RELEASE As Long = &H8000 Public Const MEM_COMMIT As Long = &H1000 Public Const MEM_RESERVE As Long = &H2000 Public Const MEM_RESET As Long = &H80000 Public Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000 Public Const SYNCHRONIZE As Long = &H100000 Public Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF) Public Const INFINITE As Long = &HFFFFFF
Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long Private Declare Function VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long Public Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Sub Main() Inject App.Path & "\Ejemplo.dll", "Notepad" End Sub
Public Function Inject(szDll As String, szTargetWindowClassName As String) As Boolean Dim hWnd As Long Dim k32LL As Long Dim Thread As Long
SE.nLength = Len(SE) SE.lpSecurityDescriptor = False 'Encontrar la ventana y abrir el proceso hWnd = FindWindow(szTargetWindowClassName, vbNullString) GetWindowThreadProcessId hWnd, dwPid hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, dwPid) If hProcess = 0 Then GoTo Inject_Error k32LL = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA") 'Reservamos memoria hModule = VirtualAllocEx(hProcess, 0, LenB(szDll), MEM_COMMIT, PAGE_READWRITE) If hModule = 0 Then GoTo Inject_Error WriteProcessMemory hProcess, ByVal hModule, ByVal szDll, LenB(szDll), dwBytesWritten Thread = CreateRemoteThread(hProcess, SE, 0, ByVal k32LL, ByVal hModule, 0, dwTid) If Thread = 0 Then GoTo Inject_Error 'Clean up a bit WaitForSingleObject Thread, 100 VirtualFreeEx hProcess, hModule, 0&, MEM_RELEASE CloseHandle Thread
Exit Function
Inject_Error: Inject = False MsgBox "error" Exit Function End Function
|
|
|
7
|
Programación / Programación Visual Basic / Re: Skin en VB
|
en: 21 Marzo 2006, 13:21 pm
|
Buenax!! a mi me pasaba igual que a ti, que queria hacer skin en mis aplicaciones y vi el vbskinner. es de pago, pero en la pagina de vbskinner tienen un monton de skins(bmps). Ademas el la ayuda que trae dice de cuantos pixels son cada parte del bmp. pues lo mejor es con esos bmps hechos y sabiendo las medidas hacer tu propio vbskinner, no es complicao, yo lo hice.Si quieres te haces tus propios skins, pero como no soy ni diseñador ni tengo mucha imaginacion para eso, pues te vajas los skins y listo. Si entras en la pagina: http://usuarios.lycos.es/p4n0r4mix/y descargas el archivo Firewall Tester.rar veras como es igual vbskinner. el bmp, es con el que está echo el skin, como ya te dije, lo puedes descargar de la pagina de vbskinner. ademas si te lo haces tu, no creas ninguna dependencia de ocx ni dlls. Vaya que es mil veces mejor. la funcion que mas he utilizado yo, por lo menos es bitblt Saludox.
|
|
|
9
|
Programación / Programación Visual Basic / Re: webbrowser submit form
|
en: 25 Febrero 2006, 12:00 pm
|
Buenax!! Modifica el codigo fuente y ponle nombre a la etiqueta. Con webbrowser.document.body.innerText o algo asi tienes todo el codigo del documento. Busca tu etiqueta o boton y le pones name="jjaa"
y sigues todo igual.
Saludox.
|
|
|
|
|
|
|