Autor
|
Tema: ayuda creando mi propio cripter. (Leído 8,818 veces)
|
mojolloyo20
Desconectado
Mensajes: 208
en esta vida nunca te acostaras sin saber nada nue
|
muy wenas,como dice el post,estoy creando mi propio cripter o por lo menos lo intento. como base estoy siguiendo un tutorial programando-un-crypter-en-visual-basic-6 supongo que + de 1 lo abra visto,aun que sea de refilon. bueno he seguido el manual al pie de la letra y he probado y no funca,he intentado corregirlo y no doy pata con bolo,por lo visto o ago algo mal o el tuto no lo comprobaron antes de lanzarlo. el caso es que decidi pasarlo a limpio creando lo desde 0 y comprobando funcion por funcion y ya por ultimo terminar codeando el front_load y asin decir por que funcion empieza y por donde y tenerlo todo el codigo ordenado y como el stub es lo + importante empezare por hay. la 1º funcion que estoy comprobando es: 1. Copiar el archivo en el que se esta ejecutando el Stub a un archivo temporal con formato “dat”. lo he probado y ba estupendo,asin que pase a la 2º: 2. Abrimos de forma binaria el fichero .dat y buscamos el comienzo de bits cifrados. 3. Leemos desde el principio de bits cifrados hasta su final. 4. Almacenamos los bits cifrado en una variable 5. desciframos los bits de la variable, los bits descifrados se reemplazaran a los bits cifrados de dicha variable. Private Function LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean 'Declaramos el array ContDividido Dim ContDividido() As String 'Si hya error saltamos a la etiquero "Fallo" On Error GoTo Fallo 'Abrimos el arcihvo DAT de forma binaria Open ArchivoTemp For Binary Access Read As #1 'Almacenamos en "Contenido" los bits del stub y del fichero original Get #1, , Contenido 'Cerramos el archivo Close #1 'Separamos la variable Contenido en dos, segun la marca |CodeMakers| 'y almacenamos cada parte en el array ContDividido ContDividido = Split(Contenido, "|CodeMakers|") 'Reeplazamos el actual dato de la variable Contenido por los bits del _ fichero original que se encuentran cifrados Contenido = ContDividido(1) 'Ahora desciframos los bits con la funcion t Contenido = t(Contenido) 'Ya tenemos en la variable global "conenido" los bits descifrados _ asique ahora devolvemos true a la funcion y temrinamos la funcion LeerlosAlmacenarlos = True 'Escribimos la etiqueta Fallo Fallo: LeerlosAlmacenarlos = False Exit Function Exit Function
End Function 'Ahora, como si fueran ramificaciones en una red conceptual estamos viendo otra funcion. La funcion "t" que lo que hace es descifrar y cifrar los bits. con la funcion Xor, pasandolos por el numero 9:
Function t(C) On Error Resume Next For i = 1 To Len(C) t = t & Chr(Asc(Mid(C, i, 1)) Xor 27) Next i End Function
[code]
bueno siguiendo lo que dice,abrimos el archivo binario que seria el stub con un nombre aleatorio 3892.dat por ejemplo.
y el dice: Almacenamos en "Contenido" los bits del stub y del fichero original
lo que almaceno en contenido es solo el stub no?
despues dice que parte contenido en 2,el estub lo parte en 2? y coje la 2º parte.?
el dice:y almacenamos cada parte en el array ContDividido
y como puedo saber si los datos se han guardado en una variable o no?
un salu2 y gracias
[/code]
|
|
|
En línea
|
Lo reconozco fumo porros a diario me fumo uno y es como poner la radio pero por dentro de mi amarga cabeza siempre tan sola y tan llena de tristeza Me salen la s canciones que a mí más me molan las musiquillas que ha mí más me motivan las amarguras se vuelven amapolas y las tristezas me alegran la vida Anda dame que fume porque me siento sólo dame de fumar porque no quiero estar triste
|
|
|
isseu
Desconectado
Mensajes: 325
°º¤ø,¸¸,El conocimiento es poder°º¤ø,¸¸,ø¤º°`°º¤ø,
|
trata imprimiendo la variable Contenido y ve la info que trae dentro, ve si es la que buscas....
|
|
|
En línea
|
|
|
|
mojolloyo20
Desconectado
Mensajes: 208
en esta vida nunca te acostaras sin saber nada nue
|
bueno no tengo impresora,pero puedo meterlo en un exe,lo unico que solo se copia en temp,pero la 2º funcion no me la hace,ni me crea el exe. 'Declaracion globar que almacena la ruta completa del _ fiochero DAT Dim FicheroDAT As String
Dim conenido As String
Private Sub Form_Load() 'Llamamos a la funcion CopiarParaLeer que nos copia a un _ fichero .dat
SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe") If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName 'Llamamos a la funcion que lee y almacena los bits cifrado _ en una variable y los desciframos. SiError2 = LeerlosAlmacenarlos(FicheroDAT) If SiError2 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
End Sub
Private Function CopiarParaLeer(MiRuta As String) As Boolean Dim z Dim t As Integer Dim i As Integer Dim FSO As Object 'Si se produce algun error salta a la etiqueta "NoCopio" 'creo el objeto Set FSO = CreateObject("Scripting.FileSystemObject") 'Activamos randomize para que VB sepa que vamos a crear una _ funcion que corresponde al "azar" Randomize 'La variable "z" va a contener un nombre al azar para _ la copia, dicho nombre tendra 5 numeros: For i = 1 To 5 't va a tener un numero al azar del 0 al 9 t = Int(Rnd * 9) z = z & t Next i MsgBox "copiando archivo dat" 'Nos copiamos al directorio temporal con un nombre aleatorio. FileCopy MiRuta, FSO.GetSpecialFolder(2) & "\" & z & ".dat" 'Si todo anduvo bien (porque llegamos a esta linea) _ debovemos true y almacenamos el fichero DAT en variable CopiarParaLeer = True
FicheroDAT = FSO.GetSpecialFolder(2) & "\" & z & ".dat"
'Escribimos la etiqeta NoCopio NoCopio: CopiarParaLeer = False End Function
Private Function LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean 'Declaramos el array ContDividido Dim ContDividido() As String Dim binario As Integer 'Si hya error saltamos a la etiquero "Fallo"
'Abrimos el arcihvo DAT de forma binaria Open ArchivoTemp For Binary Access Read As #1 'Almacenamos en "Contenido" los bits del stub y del fichero original Get #1, , Contenido MsgBox "contenido" 'Cerramos el archivo Close #1 binario = FreeFile Open "C:\prueba.exe" For Output As #binario Print #binario, Contenido Close #binario
End Function
[code]
bueno le kite lo del error para que saliera pero no sale na y tampoco me crea el archivo en c.
p.d: el declara LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean
y despues lo abre en binario,pero como sabe que es el archivo 49857.dat y no 19826.dat?,bamos como sabe cual es.
[/code]
|
|
|
En línea
|
Lo reconozco fumo porros a diario me fumo uno y es como poner la radio pero por dentro de mi amarga cabeza siempre tan sola y tan llena de tristeza Me salen la s canciones que a mí más me molan las musiquillas que ha mí más me motivan las amarguras se vuelven amapolas y las tristezas me alegran la vida Anda dame que fume porque me siento sólo dame de fumar porque no quiero estar triste
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
bueno no tengo impresora
Se refiere a mostrarla en un MessageBox no a imprimirla en papel LOL
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Antes de hacer esto asegurate de tener la ventana de Inmediato visible... ([CTRL] + [G])
|
|
|
En línea
|
|
|
|
mojolloyo20
Desconectado
Mensajes: 208
en esta vida nunca te acostaras sin saber nada nue
|
bueno me duele ya la chorla de tanto pensar. al imprimir crei que se referia a imprimir por impresora jajaj. lo intente con el codigo anterior,aun que le aregle lo del msgbox. pero no me crea el exe. ni me da error ni nada,asin que hice lo siguiente. no se mucho de vb aunque me defiendo,no keria hacer el front hasta el final como siempre,pero he de ponerlo para ejecutar las funciones y no lo logro con call. ---------------------------------------------------- dicho esto no se si el msgbox lo hice bien,si ponemos este codigo nos copiaremos en temp con nombre aleatorio,pero luego no salta el 2º msgbox:MsgBox " abriendo archivo dat" ect ect. asin que dejo el archivo en temp como si ya huvieramos hecho la 1º funcion de copiarnos y al codigo le kito esto en el front SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe") If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName y lo compilo y tal y me dice : abriendo archivo data el msgbox y luego path/file acess error, como que no encuentra o no puede abrirlo. el error lo encontre en Open ArchivoTemp For Binary Access Read As #1 yo nunca he copiado un archivo con GetSpecialFolder y menos aleatorio,si dejara el nombre fijo sabria mas o menos que hacer,pero estoy atascao. el declara LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean el programa como sabe que ArchivoTemp es 39583.dat por ejemplo,si no tiene ninguna ruta pasada ni na? solo la declara he intenta abrirlo no? y amigo Karcrack,como ago eso? la ventana siempre esta visible la del front un salu2 y gracias por contestar. 'Declaracion globar que almacena la ruta completa del _ fiochero DAT
Dim FicheroDAT As String
'Declaracion global que almacena la ruta completa del _ fichero Ejecutable.
Dim conenido As String
'Declaracion global que almacena los bits descifrados 'Cuando se ejecute el fichero.
Private Sub Form_Load() 'Llamamos a la funcion CopiarParaLeer que nos copia a un _ fichero .dat
SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe") If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName 'Llamamos a la funcion que lee y almacena los bits cifrado _ en una variable y los desciframos. SiError2 = LeerlosAlmacenarlos(FicheroDAT) If SiError2 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
End Sub
Private Function CopiarParaLeer(MiRuta As String) As Boolean Dim z Dim t As Integer Dim i As Integer Dim FSO As Object 'Si se produce algun error salta a la etiqueta "NoCopio" 'creo el objeto Set FSO = CreateObject("Scripting.FileSystemObject") 'Activamos randomize para que VB sepa que vamos a crear una _ funcion que corresponde al "azar" Randomize 'La variable "z" va a contener un nombre al azar para _ la copia, dicho nombre tendra 5 numeros: For i = 1 To 5 't va a tener un numero al azar del 0 al 9 t = Int(Rnd * 9) z = z & t Next i MsgBox "copiando archivo dat" 'Nos copiamos al directorio temporal con un nombre aleatorio. FileCopy MiRuta, FSO.GetSpecialFolder(2) & "\" & z & ".dat" 'Si todo anduvo bien (porque llegamos a esta linea) _ debovemos true y almacenamos el fichero DAT en variable
FicheroDAT = FSO.GetSpecialFolder(2) & "\" & z & ".dat" CopiarParaLeer = True
'Escribimos la etiqeta NoCopio NoCopio: CopiarParaLeer = False End Function
Private Function LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean 'Declaramos el array ContDividido Dim ContDividido() As String 'Si hya error saltamos a la etiquero "Fallo" MsgBox " abriendo archivo dat" 'Abrimos el arcihvo DAT de forma binaria Open ArchivoTemp For Binary Access Read As #1 'Almacenamos en "Contenido" los bits del stub y del fichero original Get #1, , Contenido 'Cerramos el archivo Close #1 MsgBox contenido, vbInformation End Function [code]
[/code]
|
|
|
En línea
|
Lo reconozco fumo porros a diario me fumo uno y es como poner la radio pero por dentro de mi amarga cabeza siempre tan sola y tan llena de tristeza Me salen la s canciones que a mí más me molan las musiquillas que ha mí más me motivan las amarguras se vuelven amapolas y las tristezas me alegran la vida Anda dame que fume porque me siento sólo dame de fumar porque no quiero estar triste
|
|
|
mojolloyo20
Desconectado
Mensajes: 208
en esta vida nunca te acostaras sin saber nada nue
|
bueno amigos ya toy aki de new,como el manual ese era una m....,decidi hacerlo desde 0 y fuy estudiando unos codigos. bueno yo creo que hasta ahora ba bien el programita,he conseguido bastante.el problema me surje a la hora de copiarme al disco duro. para copiarme en la carpeta tem como la mayoria de estos programas en vez usar fso decidi intentar con environ,con muy buenos resultados,luego como no savia que nombre ponerle al archivo temporal,intente hacer un randomize rnd. y aki es donde bienen los problemas,la 1º vez fue perfecto 66547.exe por ejemplo,lo borre y lo intente de nuevo,pero intentando abrir y vaciar el archivo.y mi sorpresa fue: run time overflow (6) desde entonces no logro que se copie en temp con randomize. esta es la funcion: aver... Randomize For i = 1 To 10 'el archivo tendra de lonjitud unos 10 numerito 5962483791.exe x=int((9*rnd)) 'los numeritos iran del 0 al 9 +=+ & x ' + sera = asimismo y x filecopy ruta1,ruta2 & "\" & + & "exe" ' sin comentarios decir que las rutas ya las tengo bien declaradas y no se que puede fallar. y despues tengo otra duda que estuve lellendo pero no logre sacar mucho en claro una vez que el randomize funcione bien,como pasar esos numeros a letras? para en vez de ser 5962483791.exe sea algo asin kfyrtemifh.exe. algo asin? Randomize For i = 1 To 10 'el archivo tendra de lonjitud unos 10 numerito 5962483791.exe x=int((9*rnd)) 'los numeritos iran del 0 al 9 g=Chr(x) +=+ & x ' + sera = asimismo y x filecopy ruta1,ruta2 & "\" & + & "exe" ' sin comentarios pero aki metira el siguiente error: run time error "13" type mismatch y bueno decir que intente imprimir la variable despues de desencriptarla y en el msgbox me salia mzp o algo asin,cuando yo crei que deberia salir algo asin 00026030580. uso: msgbox (variabledesencriptada) y es cuando me sale el msgbox con lo de mzp,pienso que me estaria enseñando la cabezera. un salu2
|
|
|
En línea
|
Lo reconozco fumo porros a diario me fumo uno y es como poner la radio pero por dentro de mi amarga cabeza siempre tan sola y tan llena de tristeza Me salen la s canciones que a mí más me molan las musiquillas que ha mí más me motivan las amarguras se vuelven amapolas y las tristezas me alegran la vida Anda dame que fume porque me siento sólo dame de fumar porque no quiero estar triste
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
+=+ & x ' + sera = asimismo y x filecopy ruta1,ruta2 & "\" & + & "exe" ' sin comentarios
tres concatenadores? & y + y de nuevo & .....
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
mojolloyo20
Desconectado
Mensajes: 208
en esta vida nunca te acostaras sin saber nada nue
|
si 3 & filecopy ruta1,ruta2 & "\" & + & "exe" nos copiamos desde la ruta 1 a la ruta 2 separo co &"\"& el signo + es la variable que contendra el nombre bamos los numeritos y luego la extension. supongo que a eso te referias no? un salu2
|
|
|
En línea
|
Lo reconozco fumo porros a diario me fumo uno y es como poner la radio pero por dentro de mi amarga cabeza siempre tan sola y tan llena de tristeza Me salen la s canciones que a mí más me molan las musiquillas que ha mí más me motivan las amarguras se vuelven amapolas y las tristezas me alegran la vida Anda dame que fume porque me siento sólo dame de fumar porque no quiero estar triste
|
|
|
|
|