Esta ves vengo con un programa que me gusto hace ya mucho tiempo y ahora se los vengo a mostrar aquí es el "Revo Uninstaller" y se preguntaran que es y para que sirve.
Pues bueno este sirve para des-instalar aplicaciones y con la ventaja de que no deja archivos basura que comúnmente pasa al des-instalar aplicaciones donde llegan a quedar archivos regados por el sistema o en el registro donde quedan entradas que no sirven de nada.
Lo podrán descargar desde aquí http://www.revouninstaller.com/ la cual cuenta con una versión gratis y portable.
ya que la hallan descargado les aparecerá una ventana como esta
Yo des-instalare el el tercero en la lista para mostrarles como funciona, para eso daremos clic en Uninstall
después aparecerá una pantalla diciendo que esta creando un punto de restauración y luego empezara a ejecutarse el des-instalador del programa, ami me a pareció esto y le doy que si
y a empezado a des-instalarse el programa
y por ultimo me dice que a terminado, después de eso nos vamos al revo donde nos parecerá 3 opciones nosotros elegiremos la tercera esta
y daremos clic en Scan, donde empezara a buscar primero las entradas en el registro de windows que dejo el des-instalador del programa que quitamos
y como verán dejo varias entradas en el registro así que para seleccionarlas daremos clic en Select All
para seleccionarlas todas
ya que las tenemos seleccionadas daremos clic en Delete para borrarlas y daremos clic en si, si nos aparece un mensaje de confirmación
y por ultimo parece que solo dejo un archivo en el sistema este
así que aremos el mismo procedimiento daremos clic en Select All y después en Delete, bueno ami me apareció un mensaje que este archivo se borrara después de que reinicie la maquina pero eso no pasa con todos los programas que des-instalen es raro
bueno saludos Flamer y creo que eso es todo por hoy
anun1
jueves, 19 de enero de 2017
martes, 10 de enero de 2017
Identificar Programas De 32 y 64 bits
Me encontrado por hay que muchos usuarios quieren saber si X programa es de 64 o de 32 bits, y eso es muy importante a la hora de reversear algún programa.
Primeramente identificaremos un ejecutable sin usar ninguna herramienta, para este ejemplo copie el archivo "wscript.exe" el de 32 y de 64 bits al escritorio.
Aclaro: yo estoy en windows 10 y me hice de las dos versiones por que windows 10 tiene soporte para las versiones de 32 bits y estos archivos son almacenados en el directorio:
c:\windows\syswow64\
Así que copie el de la ruta
c:\windows\syswow64\wscript.exe 32 bits
y
c:\windows\system32\wscript.exe 64 bits
Al de 32 lo llame "viejo.exe" y al de 64 lo llame "nuevo.exe"
Ahora para identificarlos sin utilizar ningún programa lo are de la siguiente manera, solo ejecutare el de 32 bits ya que el de 64 bits no creo que tenga caso ya verán por que.
Y después abriremos el administrador de tareas presionando CTRL+ALT+SUPR o abrimos la ventanita de ejecutar y escribimos "taskmgr"
Y presionamos aceptar
Ahora nos iremos ala pestaña procesos y en aplicaciones nos fijamos en esto
El exe que llame viejo dirá 32 bits y a diferencia del nuevo que es el de 64 bits no dirá nada
Ahora bien otra forma de identificarlos sera usando el RDG Detector, si no lo tienen pueden descargarlo desde aquí: http://www.rdgsoft.net/
Para abrirlo con el solo daremos clic derecho sobre el y damos clic en
Y al escanearlo en la esquina superior derecha a parecerá la versión como en la imagen
Y en la captura de el viejo que es el de 32 bits dirá así
bueno saludos Flamer
Primeramente identificaremos un ejecutable sin usar ninguna herramienta, para este ejemplo copie el archivo "wscript.exe" el de 32 y de 64 bits al escritorio.
Aclaro: yo estoy en windows 10 y me hice de las dos versiones por que windows 10 tiene soporte para las versiones de 32 bits y estos archivos son almacenados en el directorio:
c:\windows\syswow64\
Así que copie el de la ruta
c:\windows\syswow64\wscript.exe 32 bits
y
c:\windows\system32\wscript.exe 64 bits
Al de 32 lo llame "viejo.exe" y al de 64 lo llame "nuevo.exe"
Ahora para identificarlos sin utilizar ningún programa lo are de la siguiente manera, solo ejecutare el de 32 bits ya que el de 64 bits no creo que tenga caso ya verán por que.
Y después abriremos el administrador de tareas presionando CTRL+ALT+SUPR o abrimos la ventanita de ejecutar y escribimos "taskmgr"
Y presionamos aceptar
Ahora nos iremos ala pestaña procesos y en aplicaciones nos fijamos en esto
El exe que llame viejo dirá 32 bits y a diferencia del nuevo que es el de 64 bits no dirá nada
Ahora bien otra forma de identificarlos sera usando el RDG Detector, si no lo tienen pueden descargarlo desde aquí: http://www.rdgsoft.net/
Para abrirlo con el solo daremos clic derecho sobre el y damos clic en
Y al escanearlo en la esquina superior derecha a parecerá la versión como en la imagen
Y en la captura de el viejo que es el de 32 bits dirá así
bueno saludos Flamer
jueves, 29 de diciembre de 2016
Averiguar Datos De Una Pagina Web
Hoy les mostrare como obtener algunos datos de algunas paginas para eso usaremos una web llamada:
http://whois.domaintools.com/
Que hace pues bueno nos proporciona algunos datos del dueño de la pagina,servidor se aloja,país,correo entre otras cosas.
Lo malo de esta pagina es que aveces no proporciona todos los datos, ya que ciertas personas esconden sus datos ya sea para permanecer en el anonimato,permanecer seguros de ataques o en ciertos caso hay personas que lo hacen para hacer sus fechorías.
Bueno primeramente escojamos una pagina común para un ejemplo, en este ejemplo ya no elegiremos al hacker.net ya que sabemos que pertenece a alex o el brujo como se apoda, eligiéremos a esta:
http://www.radiologyinfo.org/
Nota: No les estoy haciendo publicidad solo las elegí para el ejemplo
Bueno así que ingresaremos la url en el siguiente cuadro de texto de la pagina y pulsamos el botón Search
nos apare sera lo siguiente
hay pueden ver el numero 1 pertenece a sus correos, el 2 a la organización registrada, el 3 fecha de creación que fue en 1999 y espira el contrato en 2021, el 4 a su ip, el 5 a la localización del servidor no de la persona y por ultimo el 6 que es el estatus del dominio si esta activo o inactivo.
Pero mas abajo nos encontramos con otras mas
Registrant ID: 23237610-NSI
Registrant Name: American College of Radiology
Registrant Organization: American College of Radiology
Registrant Street: 1891 PRESTON WHITE DR
Registrant City: Reston
Registrant State/Province: VA
Registrant Postal Code: 20191-4326
Registrant Country: US
Registrant Phone: +1.7037154393
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email:
Admin ID: 42105327-NSI
Admin Name: American College of Radiology
Admin Organization: American College of Radiology
Admin Street: 1891 Preston White Drive
Admin City: Reston
Admin State/Province: VA
Admin Postal Code: 20191
Admin Country: US
Admin Phone: +1.703648890
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email:
Aquí en estos datos pueden ver el código postal, ciudad, teléfono entre otras cosas.
Pero en este ejemplo no dice el nombre del administrador ni de quien lo registro así que buscaremos en otra pagina por si les interesa el campo nombre y buscaremos en la pagina de:
http://www.cinepolis.com/
Y nos muestra lo siguiente
Registrant Name: Servicios de Personal Cinemas SA de CV
Registrant Organization: Servicios de Personal Cinemas SA de CV
Registrant Street: Av. Camelinas No. 3527 Int. 902
Registrant City: Morelia
Registrant State/Province: Michoacan
Registrant Postal Code: 58270
Registrant Country: MX
Registrant Phone: +52.4433226237
Registrant Phone Ext:
Registrant Fax: +52.4433226238
Registrant Fax Ext:
Registrant Email: .mx
Registry Admin ID:
Admin Name: Lozano Mtz, Juan Carlos
Admin Organization: Servicios de Personal Cinemas S.A. de C.V.
Admin Street: Av. Camelinas No. 3527 Int 902
Admin City: Morelia
Admin State/Province: Michoacan
Admin Postal Code: 58270
Admin Country: MX
Admin Phone: +52.4433220526
Admin Phone Ext:
Admin Fax: +52.4433226238
Admin Fax Ext:
Admin Email:
Como pueden ver esta registrado a nombre de la compañía cinemas, también nos dice la ciudad que es morelia, código postal 58270 y entre otras cosas, pero pasemos a los datos del administrador que revela su nombre ya que como dije al principio hay algunas personas que lo ocultan pero lo veremos mas adelante.
El nombre del administrador es Lozano Mtz, Juan Carlos y párese que todo lo demás es igual a diferencia de que su teléfono que es +52 4433220526 que sea de la compañía o de el quien sabe.
Ahora pondremos otro ejemplo es de esta web:
http://hackearface.net/
Y nos muestra lo siguiente
Nombre: Whois Agent
Organización Whois Privacy Protection Service, Inc.
Dirección postal: PO Box 639, Kirkland WA 98083 US
Teléfono: +1 4252740657
Interno:
Fax: +1 4259744730
Interno:
Correo electrónico:hackearface.net@protecteddomainservices.com
Aquí como pueden ver oculta el nombre ya que Whois Agent quiere decir que esta privado o protegido, como también su correo que dice "protecteddomainservices" y la organización.
Aclaro puse como ejemplo esta web ya que fue la primera que encontré pero párese que no es segura así que no naveguen en ella si no saben lo que hacen y mucho menos introduzcan datos verdaderos
Otra cosa muy importante esta pagina tiene un limite diario creo, ya que si tiene un rato usándola les apare sera el siguiente mensaje.
Bueno saludos Flamer
http://whois.domaintools.com/
Que hace pues bueno nos proporciona algunos datos del dueño de la pagina,servidor se aloja,país,correo entre otras cosas.
Lo malo de esta pagina es que aveces no proporciona todos los datos, ya que ciertas personas esconden sus datos ya sea para permanecer en el anonimato,permanecer seguros de ataques o en ciertos caso hay personas que lo hacen para hacer sus fechorías.
Bueno primeramente escojamos una pagina común para un ejemplo, en este ejemplo ya no elegiremos al hacker.net ya que sabemos que pertenece a alex o el brujo como se apoda, eligiéremos a esta:
http://www.radiologyinfo.org/
Nota: No les estoy haciendo publicidad solo las elegí para el ejemplo
Bueno así que ingresaremos la url en el siguiente cuadro de texto de la pagina y pulsamos el botón Search
nos apare sera lo siguiente
hay pueden ver el numero 1 pertenece a sus correos, el 2 a la organización registrada, el 3 fecha de creación que fue en 1999 y espira el contrato en 2021, el 4 a su ip, el 5 a la localización del servidor no de la persona y por ultimo el 6 que es el estatus del dominio si esta activo o inactivo.
Pero mas abajo nos encontramos con otras mas
Registrant ID: 23237610-NSI
Registrant Name: American College of Radiology
Registrant Organization: American College of Radiology
Registrant Street: 1891 PRESTON WHITE DR
Registrant City: Reston
Registrant State/Province: VA
Registrant Postal Code: 20191-4326
Registrant Country: US
Registrant Phone: +1.7037154393
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email:
Admin ID: 42105327-NSI
Admin Name: American College of Radiology
Admin Organization: American College of Radiology
Admin Street: 1891 Preston White Drive
Admin City: Reston
Admin State/Province: VA
Admin Postal Code: 20191
Admin Country: US
Admin Phone: +1.703648890
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email:
Aquí en estos datos pueden ver el código postal, ciudad, teléfono entre otras cosas.
Pero en este ejemplo no dice el nombre del administrador ni de quien lo registro así que buscaremos en otra pagina por si les interesa el campo nombre y buscaremos en la pagina de:
http://www.cinepolis.com/
Y nos muestra lo siguiente
Registrant Name: Servicios de Personal Cinemas SA de CV
Registrant Organization: Servicios de Personal Cinemas SA de CV
Registrant Street: Av. Camelinas No. 3527 Int. 902
Registrant City: Morelia
Registrant State/Province: Michoacan
Registrant Postal Code: 58270
Registrant Country: MX
Registrant Phone: +52.4433226237
Registrant Phone Ext:
Registrant Fax: +52.4433226238
Registrant Fax Ext:
Registrant Email: .mx
Registry Admin ID:
Admin Name: Lozano Mtz, Juan Carlos
Admin Organization: Servicios de Personal Cinemas S.A. de C.V.
Admin Street: Av. Camelinas No. 3527 Int 902
Admin City: Morelia
Admin State/Province: Michoacan
Admin Postal Code: 58270
Admin Country: MX
Admin Phone: +52.4433220526
Admin Phone Ext:
Admin Fax: +52.4433226238
Admin Fax Ext:
Admin Email:
Como pueden ver esta registrado a nombre de la compañía cinemas, también nos dice la ciudad que es morelia, código postal 58270 y entre otras cosas, pero pasemos a los datos del administrador que revela su nombre ya que como dije al principio hay algunas personas que lo ocultan pero lo veremos mas adelante.
El nombre del administrador es Lozano Mtz, Juan Carlos y párese que todo lo demás es igual a diferencia de que su teléfono que es +52 4433220526 que sea de la compañía o de el quien sabe.
Ahora pondremos otro ejemplo es de esta web:
http://hackearface.net/
Y nos muestra lo siguiente
Nombre: Whois Agent
Organización Whois Privacy Protection Service, Inc.
Dirección postal: PO Box 639, Kirkland WA 98083 US
Teléfono: +1 4252740657
Interno:
Fax: +1 4259744730
Interno:
Correo electrónico:hackearface.net@protecteddomainservices.com
Aquí como pueden ver oculta el nombre ya que Whois Agent quiere decir que esta privado o protegido, como también su correo que dice "protecteddomainservices" y la organización.
Aclaro puse como ejemplo esta web ya que fue la primera que encontré pero párese que no es segura así que no naveguen en ella si no saben lo que hacen y mucho menos introduzcan datos verdaderos
Otra cosa muy importante esta pagina tiene un limite diario creo, ya que si tiene un rato usándola les apare sera el siguiente mensaje.
Bueno saludos Flamer
sábado, 24 de diciembre de 2016
Usar El ClipBoard Desde Vbscript
En esta ocasión vengo a mostrarles como usar el clipboard en vbscript, pero para los que no saben que es clipboard se los digo es el porta papeles y para los que no entiendan a un que es, es la acción de copiar y pegar que usamos comúnmente en la computadora.
Pero se preguntaran que aremos pues les enseñare a como leer el contenido de este usando el vbscript
Primeramente declaramos variables
Después de esto crearemos el objecto "objclip" que es un objecto htmlfile
Ahora pasaremos a leer el contenido que se encuentra en el porta papeles
y por ultimo lo imprimimos con el comando msgbox así
El codigo completo seria este
Ahora para borrar el contenido del porta papeles aremos otro programa, empezaremos declarando las variables
Después creamos un objecto shell
y por ultimo ejecutamos el símbolo del sistema con las siguientes lineas
El código completo seria así
y al ejecutarlo eliminara todo lo que se encuentra en el porta papeles
Pero se preguntaran para agregar algo en el porta papeles desde el programa o sea que sea programado en ves que lo halla hecho el usuario.
Pues seria casi lo mismo que el anterior con la diferencia de que el "echo off" seria "echo loquesea"
quedaría el código así.
Este código copiaría la palabra "loquesea" al porta papeles y estaría listo para usarse
Bueno amigos eso es todo saludos Flamer y lo expuesto aquí esta intentado en windows 10 y hice uso del cmd por que el método "ClipboardData.ClearData" y "ClipboardData.SetData" no me funcionaron
Pero se preguntaran que aremos pues les enseñare a como leer el contenido de este usando el vbscript
Primeramente declaramos variables
option explicit
dim objclip,CopyText
Después de esto crearemos el objecto "objclip" que es un objecto htmlfile
Set objclip = CreateObject("htmlfile")
Ahora pasaremos a leer el contenido que se encuentra en el porta papeles
CopyText = objclip.ParentWindow.ClipboardData.GetData("text")
y por ultimo lo imprimimos con el comando msgbox así
MsgBox CopyText
El codigo completo seria este
option explicit
dim objclip,CopyText
Set objclip = CreateObject("htmlfile")
CopyText = objclip.ParentWindow.ClipboardData.GetData("text")
MsgBox CopyText
Ahora para borrar el contenido del porta papeles aremos otro programa, empezaremos declarando las variables
option explicit
dim objshell
Después creamos un objecto shell
set objshell = CreateObject("wscript.shell")
y por ultimo ejecutamos el símbolo del sistema con las siguientes lineas
objshell.run "cmd /c echo off | clip"
El código completo seria así
option explicit
dim objshell
set objshell = CreateObject("wscript.shell")
objshell.run "cmd /c echo off | clip"
y al ejecutarlo eliminara todo lo que se encuentra en el porta papeles
Pero se preguntaran para agregar algo en el porta papeles desde el programa o sea que sea programado en ves que lo halla hecho el usuario.
Pues seria casi lo mismo que el anterior con la diferencia de que el "echo off" seria "echo loquesea"
quedaría el código así.
option explicit
dim objshell
set objshell = CreateObject("wscript.shell")
objshell.run "cmd /c echo loquesea | clip"
Este código copiaría la palabra "loquesea" al porta papeles y estaría listo para usarse
Bueno amigos eso es todo saludos Flamer y lo expuesto aquí esta intentado en windows 10 y hice uso del cmd por que el método "ClipboardData.ClearData" y "ClipboardData.SetData" no me funcionaron
miércoles, 14 de diciembre de 2016
Codificar Archivos Vbs a Vbe con La Herramienta Screnc.exe
Hoy les traigo una herramienta llamada "screnc.exe" esta herramienta nos servirá para codificar nuestros archivos ".vbs" y serán convertidos en archivos ".vbe".
Este programa anteriormente se encontraba en la pagina de microsoft pero acabo de darle una búsqueda y no logre encontrar nada, yo sinceramente no me acuerdo de donde lo conseguí ya que tengo tiempo con el así que lo subí a mediafire para compartirlo con ustedes.
Aqui la descarga: http://www.mediafire.com/file/ddhnjzkr48j641b/screnc.exe
Ahora les enseñare como usarla, pero primeramente crearemos un archivo ".vbs" al cual llamaremos "Ejemplo.vbs" y el código que contendrá este archivo sera el siguiente.
Ya que tenemos escrito lo anterior aguardamos los cambios y al ejecutarlo nos muestra el mensaje siguiente.
Después de esto nos iremos al símbolo del sistema o cmd como le quieran llamar.
Para eso abrimos la ventana ejecutar, escribimos cmd y presionamos aceptar
En esta ventana nos moveremos hasta la carpeta donde se encuentre el archivo "screnc.exe" y el archivo "Ejemplo.vbs"con el comando "cd".
Ya que se encuentren en dicha carpeta escribiremos lo siguiente.
Screnc Ejemplo.vbs Salida.vbe
Y verán que se crea el archivo "Salida.vbe" y al ejecutarlo no muestra el mismo mensaje y si lo abrimos con el notepad++ nos muestra lo siguiente.
Ahora si quieren desencriptar el archivo "salida.vbe" pueden mirar un tema anterior que hice donde desencripto un archivo ".vbe" de un virus de macro:
http://elblogdeflamer.blogspot.mx/2016/04/analizando-una-muestra-de-un-virus-de.html
bueno saludos Flamer y creo que eso es todo por hoy
Este programa anteriormente se encontraba en la pagina de microsoft pero acabo de darle una búsqueda y no logre encontrar nada, yo sinceramente no me acuerdo de donde lo conseguí ya que tengo tiempo con el así que lo subí a mediafire para compartirlo con ustedes.
Aqui la descarga: http://www.mediafire.com/file/ddhnjzkr48j641b/screnc.exe
Ahora les enseñare como usarla, pero primeramente crearemos un archivo ".vbs" al cual llamaremos "Ejemplo.vbs" y el código que contendrá este archivo sera el siguiente.
msgbox "hola mundo soy toto",,"aviso de bienvenida"
Ya que tenemos escrito lo anterior aguardamos los cambios y al ejecutarlo nos muestra el mensaje siguiente.
Después de esto nos iremos al símbolo del sistema o cmd como le quieran llamar.
Para eso abrimos la ventana ejecutar, escribimos cmd y presionamos aceptar
En esta ventana nos moveremos hasta la carpeta donde se encuentre el archivo "screnc.exe" y el archivo "Ejemplo.vbs"con el comando "cd".
Ya que se encuentren en dicha carpeta escribiremos lo siguiente.
Screnc Ejemplo.vbs Salida.vbe
Y verán que se crea el archivo "Salida.vbe" y al ejecutarlo no muestra el mismo mensaje y si lo abrimos con el notepad++ nos muestra lo siguiente.
Ahora si quieren desencriptar el archivo "salida.vbe" pueden mirar un tema anterior que hice donde desencripto un archivo ".vbe" de un virus de macro:
http://elblogdeflamer.blogspot.mx/2016/04/analizando-una-muestra-de-un-virus-de.html
bueno saludos Flamer y creo que eso es todo por hoy
lunes, 5 de diciembre de 2016
Leer Binario En VBScript
Hoy vamos a ver como leer los archivos binarios en vbscript, yo al principio creía que no se podía leer binario en este lenguaje y ase poco creando el ransomware(el cual no es la gran cosa pero aveces me gusta matar el tiempo programando cualquier cosa) tuve la necesidad de leer binario, así que en una búsqueda de 5 minutos encontré esta web:
http://www.gatodev.com/index.php?qa=225695&qa_1=leer-y-escribir-archivos-binarios-en-vbscript
El cual contenía este código:
NOTA: lo pondré por si algún día la pagina borra el tema, se cae o algo por el estilo solo para tener un respaldo.
Viendo el código de esa web me base para crear el mio, que es casi igual pero con unas modificaciones.
Así que para practicar tomaremos mi crackme, el numero 7 que lo encontraran aquí:
http://elblogdeflamer.blogspot.mx/p/mis-cackmes.html
Tratare de explicar todo el código con clama.
Así que primeramente empecemos declarando todas las variables que usaremos
Ahora creamos un objecto FileSystemObject y lo representaremos con la variable objsystem
Luego creamos una referencia al archivo que vamos a leer, que en este caso es el "crackme7.exe" y lo representaremos con la variable file.
OJO donde dice "crackme7.exe" es la ruta del archivo yo lo pongo así por que estoy trabajando en la misma carpeta.
Después de esto inicializamos la variable largo, con el valor del tamaño del archivo en bytes
Ya que tenemos enlazado al archivo que esta representado con la variable file, trataremos de abrirlo con el comando OpenAsTextStream así.
Después usaremos el comando Redim para crear un array el cual llamaremos bytes con el tamaño de el archivo, el cual esta representado con la variable largo
Ahora para leer los bytes del archivo crearemos un ciclo for, el cual leerá byte por byte del archivo y los almacenara en el array llamado bytes
y para cerrar el archivo usamos el comando close
Ya que leímos todos los bytes del archivo crearemos un archivo llamado "dump.txt" con el comando CreateTextFile, para almacenar los datos que leímos y el archivo creado lo representaremos con la variable file.
Ya que no podemos almacenar los datos de forma binaria, los convertiremos a su valor ascii y los separaremos con 2 guiones
Para eso crearemos un ciclo for para recorrer el array donde se encuentran los datos y de paso escribiremos los nuevos datos con el comando Write
Y por ultimo cerramos el archivo con el comando close
Aquí el código completo
Bueno creo que eso es todo por hoy saludos flamer
http://www.gatodev.com/index.php?qa=225695&qa_1=leer-y-escribir-archivos-binarios-en-vbscript
El cual contenía este código:
NOTA: lo pondré por si algún día la pagina borra el tema, se cae o algo por el estilo solo para tener un respaldo.
Function readBinary(path)
Dim a
Dim fso
Dim file
Dim i
Dim ts
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.getFile(path)
If isNull(file) Then
MsgBox("File not found: " & path)
Exit Function
End If
Set ts = file.OpenAsTextStream()
a = makeArray(file.size)
i = 0
' Do not replace the following block by readBinary = by ts.readAll(), it would result in broken output, because that method is not intended for binary data'
While Not ts.atEndOfStream
a(i) = ts.read(1)
i = i + 1
Wend
ts.close
readBinary = Join(a,"")
End Function
Sub writeBinary(bstr, path) Dim fso Dim ts Set fso = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set ts = fso.createTextFile(path) If Err.number <> 0 Then MsgBox(Err.message) Exit Sub End If On Error GoTo 0 ts.Write(bstr) ts.Close End Sub
Function makeArray(n) ' Small utility function Dim s s = Space(n) makeArray = Split(s," ") End Function
Viendo el código de esa web me base para crear el mio, que es casi igual pero con unas modificaciones.
Así que para practicar tomaremos mi crackme, el numero 7 que lo encontraran aquí:
http://elblogdeflamer.blogspot.mx/p/mis-cackmes.html
Tratare de explicar todo el código con clama.
Así que primeramente empecemos declarando todas las variables que usaremos
option explicit
Dim x,objsystem,file,i,f,largo
Ahora creamos un objecto FileSystemObject y lo representaremos con la variable objsystem
Set objsystem = CreateObject("Scripting.FileSystemObject")
Luego creamos una referencia al archivo que vamos a leer, que en este caso es el "crackme7.exe" y lo representaremos con la variable file.
OJO donde dice "crackme7.exe" es la ruta del archivo yo lo pongo así por que estoy trabajando en la misma carpeta.
Set file = objsystem.getFile("Crackme7.exe")
Después de esto inicializamos la variable largo, con el valor del tamaño del archivo en bytes
largo=file.size
Ya que tenemos enlazado al archivo que esta representado con la variable file, trataremos de abrirlo con el comando OpenAsTextStream así.
Set f = file.OpenAsTextStream()
redim bytes(largo)
for i=0 to largo - 1
bytes(i)=f.read(1)
next
f.close
set file = objsystem.createtextfile("dump.txt")
Para eso crearemos un ciclo for para recorrer el array donde se encuentran los datos y de paso escribiremos los nuevos datos con el comando Write
for x = 0 to i - 1
file.write(asc(bytes(x)) & "--")
next
file.close
Aquí el código completo
option explicit
Dim x,objsystem,file,i,f,largo
Set objsystem = CreateObject("Scripting.FileSystemObject")
Set file = objsystem.getFile("Crackme7.exe")
largo=file.size
Set f = file.OpenAsTextStream()
redim bytes(largo)
for i=0 to largo - 1
bytes(i)=f.read(1)
next
f.close
set file = objsystem.createtextfile("dump.txt")
for x = 0 to i - 1
file.write(asc(bytes(x)) & "--")
next
file.close
Bueno creo que eso es todo por hoy saludos flamer
martes, 22 de noviembre de 2016
Trabajar Con Archivos Binarios en Python 3
En este tutorial explicare como manejar archivos binarios en python 3, aclaro soy nuevo en python así que les enseñare un poco de lo que se.
Primera mente si no lo tienen instalado python pueden ver mi publicación anterior donde enseño no solo a descargarlo sino a configurarlo con el notepad++:
http://elblogdeflamer.blogspot.mx/2016/11/instalando-python-3-y-configurarlo-con.html
Primero daré una explicación breve de algunos comando que usare para manejar archivos.
Open este comando se utiliza para abrir un archivo, ya sea para escribir en el o para leer el contenido de este.
El camando open lleva 2 parámetros, la ruta del archivo a abrir(no creo que tenga que explicar mucho en este) y el modo de apertura ejemplo:
Los diferentes modos de apertura son estos:
Read este comando se utiliza para leer el contenido del archivo abierto en modo lectura
Write se utiliza para escribir dentro del archivo abierto en modo escritura
Para este tutorial usare mi crackme 7 que lo pueden descargar de mi lista de crackmes aquí:
http://elblogdeflamer.blogspot.mx/p/mis-cackmes.html
como verán en la siguiente imagen, en mi crackme7 se necesita parchar el botón
Así que crearemos un programa en python que active el botón.
Nota: No mostrare el proceso en el ollydbg para activar el botón para no hacer el tema mas largo, solo les mostrare las posiciones de memoria que hay que modificar con el programa
Para obtener la posición de memoria compare el archivo original con el archivo crackeado con un editor hexadecimal como se muestra en la imagen
Nota: el editor que use lo pueden descargar desde aquí:
https://mh-nexus.de/en/hxd/
Y como ven en la imagen solo tenemos que cambiar el "53" por el "56", así que abriremos el notepad++ y tecleamos el siguiente código
OJO: Ustedes cambian la ruta del archivo
Ya que tenemos el código lo aguardan con el formato ".py", yo lo nombre "activa_boton.py" y al ejecutarlo les parchara el archivo crackme7.exe activando el boton.
Ahora les mostrare otro código donde leeremos todos los bytes del archivo crackme7.exe y obtendremos su valor ascii para después separarlos con dos guiones.
Ahora después pasamos a aguardar el código, yo lo aguarde con el nombre de "Leer_code.py" y al ejecutarlo me crea el archivo "coder.txt" con el siguiente contenido
bueno saludos Flamer y eso es todo
Primera mente si no lo tienen instalado python pueden ver mi publicación anterior donde enseño no solo a descargarlo sino a configurarlo con el notepad++:
http://elblogdeflamer.blogspot.mx/2016/11/instalando-python-3-y-configurarlo-con.html
Primero daré una explicación breve de algunos comando que usare para manejar archivos.
Open este comando se utiliza para abrir un archivo, ya sea para escribir en el o para leer el contenido de este.
El camando open lleva 2 parámetros, la ruta del archivo a abrir(no creo que tenga que explicar mucho en este) y el modo de apertura ejemplo:
file = open("ruta","modo_de_apertura")
Los diferentes modos de apertura son estos:
Modos | Descripción |
---|---|
r | Abre un archivo de sólo lectura. El puntero del archivo se coloca en el principio del archivo. Este es el modo predeterminado. |
rb | Abre un archivo de sólo lectura en formato binario. |
r+ | Abre un archivo para lectura y escritura. El puntero del archivo estará en el principio del archivo. |
rb+ | Abre un archivo para la lectura y la escritura en formato binario. El puntero del archivo estará en el principio del archivo. |
w | Abre un archivo para escribir solamente. Sobrescribe el archivo si el archivo existe. Si el archivo no existe, se crea un nuevo archivo para escritura. |
wb | Abre un archivo para escribir sólo en formato binario. Sobrescribe el archivo si el archivo existe. Si el archivo no existe, se crea un nuevo archivo para escritura. |
w+ | Abre un fichero para escritura y lectura. Sobrescribe el archivo existente si existe el archivo. Si el archivo no existe, se crea un nuevo archivo para la lectura y la escritura. |
wb+ | Abre un archivo, tanto para la escritura y la lectura en formato binario. Sobrescribe el archivo existente si existe el archivo. Si el archivo no existe, se crea un nuevo archivo para la lectura y la escritura. |
Read este comando se utiliza para leer el contenido del archivo abierto en modo lectura
Write se utiliza para escribir dentro del archivo abierto en modo escritura
Para este tutorial usare mi crackme 7 que lo pueden descargar de mi lista de crackmes aquí:
http://elblogdeflamer.blogspot.mx/p/mis-cackmes.html
como verán en la siguiente imagen, en mi crackme7 se necesita parchar el botón
Así que crearemos un programa en python que active el botón.
Nota: No mostrare el proceso en el ollydbg para activar el botón para no hacer el tema mas largo, solo les mostrare las posiciones de memoria que hay que modificar con el programa
Para obtener la posición de memoria compare el archivo original con el archivo crackeado con un editor hexadecimal como se muestra en la imagen
Nota: el editor que use lo pueden descargar desde aquí:
https://mh-nexus.de/en/hxd/
Y como ven en la imagen solo tenemos que cambiar el "53" por el "56", así que abriremos el notepad++ y tecleamos el siguiente código
import binascii # importamos el modulo binascii
archivo = open('C:/Users/Flamer/Desktop/crackme7.exe','rb') # abrimos el archivo crackme7.exe
byte = archivo.read() # Leemos todos los bytes del archivo
archivo.close # Cerramos el archivo
w = binascii.unhexlify('56') # Convertimos el valor 56 que es string a binario con el comando unhexlify
code = byte[0:9142] + w + byte[9143:len(byte)] # insetartamos el byte anterior(el 56 convertido a byte) en la variable code
file = open('C:/Users/Flamer/Desktop/crackme7.exe','wb') # abrimos el archivo crackme7.exe
file.write(code) # Escribimos los bytes anteriores
file.close # Cerramos el archivo
print ("terminamos") # Mensaje de terminamos
OJO: Ustedes cambian la ruta del archivo
Ya que tenemos el código lo aguardan con el formato ".py", yo lo nombre "activa_boton.py" y al ejecutarlo les parchara el archivo crackme7.exe activando el boton.
Ahora les mostrare otro código donde leeremos todos los bytes del archivo crackme7.exe y obtendremos su valor ascii para después separarlos con dos guiones.
import binascii # importamos el modulo binascii
archivo = open('C:/Users/Flamer/Desktop/crackme7.exe','rb') #abrimos el archivo crackme7
byte = archivo.read() #leemos todos los bytes
code = binascii.hexlify(byte) # transformamos los bytes a valores hexadecimal en formato string
c = "" # inicializamos la variable c
largo = len(code) # obtenemos la longitud de la varible code
for x in range(0,largo,2): # ciclo for donde la variable x inicia en 0 e incrementara de 2 en 2 y termina en el valor que contenga la variable largo
c = c + (str(int(code[x:x+2],16))) + "--" # obtiene el valor ascii de cada bit y lo concatena en la variable c, junto con los guiones
archivo = open('C:/Users/Flamer/Desktop/coder.txt','w') # crea el archivo coder.txt
archivo.write(c) # escribe el contenido de la variable c en el archivo coder.txt
archivo.close # cierra el archivo
print ("terminamos") # mensaje de fin
Ahora después pasamos a aguardar el código, yo lo aguarde con el nombre de "Leer_code.py" y al ejecutarlo me crea el archivo "coder.txt" con el siguiente contenido
bueno saludos Flamer y eso es todo
Suscribirse a:
Entradas (Atom)