Category Archives: Tecnología

  • 0

El Samsung Galaxy S8 vendrá con una batería del mismo proveedor del Galaxy Note 7

Samsung SDI es una de las fabricas pertenecientes al conglomerado Samsung Electronics, quienes se encargan de fabricar baterías para los dispositivos que la compañía Sur-Coreana va lanzando al mercado. Y si, está empresa fue la que fabrico la batería del fallado Samsung Galaxy Note 7 y te cuento que será la misma quien fabrique las baterías del nuevo buque insignia del gigante Sur-Coreano.

De acuerdo a un nuevo informe que ha salido a la luz en Corea del Sur, apunta a que la compañía Samsung está completamente segura que la baterías fabricadas por Samsung SDI no son las causas del desastre del Galaxy Note 7, y al parecer, la firma habría renovado contrato para que suministre las baterías del nuevo Galaxy S8.

Sin embargo, anteriormente se había comentado que LG sería uno de los proveedores de las baterías de los nuevos dispositivos de Samsung, por lo que la compañía podría estar buscando diversificar el suministro de este complemento para su nuevo dispositivo emblema.

Con renovación de los servicios de Samsung SDI podría deberse a que el problema del Galaxy Note 7 no fue la batería sino más bien del diseño, tal y como lo reporto la compañía Instrumental, quienes hicieron una investigación sobre el problema que presentaba este phablet en su momento. Pero hasta el momento no hay un informe oficial por parte de Samsung con respecto al problema, pero este no tardará mucho, ya que la compañía ha mencionado que hará publico los resultados a finales de este mes.

¿Será buena idea utilizar las mismas baterías?


  • 0

Como Dividir Sublime Text en Multiples Paneles

Con este Plugin Sublime Text podrán abrir mas paneles diferentes para editar tu código en una misma ventana.

El plugin Se llama “More Layouts”, y lo que nos permite es agregar mas tipos de estructuras a Sublime Text.

Con tipos de estructura me refiero a paneles en los que podemos poner pestañas y así organizar nuestro código mucho mejor. Por defecto sublime Text ya nos permite agregar hasta 3 columnas que podemos agregar desde el menu View > Layout

“Read More”

  • 0

TRANSFERIR ARCHIVOS ENTRE EQUIPOS CON GNU/LINUX USANDO UDPCAST DESDE CONSOLA

UDPcast es una herramienta de transferencia de archivos que permite enviar datos desde un equipo a varios destinatarios a la vez en una red local de una forma bastante rápida, sobre todo si la transferencia la realizamos en modo multicast (opción por defecto).

Para poder transferir archivos mediante UDPcast entre máquinas, lo primero que tenemos que hacer es instalar el paquete udpcast con el siguiente comando en el caso de debian.

# apt-get install udpcast

si es que no lo puedes instalar en mi caso no se encuentra en los repositorios de centos  lo puedes bajar de la pagina oficial.

http://www.udpcast.linux.lu/downloads.html

Enviar y recibir archivos
UDPcast está pensado para enviar archivos de forma individual. Así que, si comprimimos el archivo antes de enviarlo, la transferencia se realizará en menos tiempo.
En el equipo servidor ejecutaremos:
# udp-sender –file archivo
Y en los equipos receptores:
# udp-receiver –file archivo
En el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:
“Ready. Press any key to start sending data.”
En los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:
“Press any key to start receiving data!”
Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.
Enviar y recibir directorios

Si queremos enviar y recibir directorios, mediante un pipe podemos hacer uso de un empaquetador como tar o gzip:

En el equipo servidor ejecutaremos:
# tar cf – directorio | udp-sender
Y en los equipos receptores:
# udp-receiver | tar xf –
Al igual que en el caso anterior, en el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:
“Ready. Press any key to start sending data.”
Y en los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:
“Press any key to start receiving data!”
Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.
Enviar y recibir particiones

Como las particiones se tratan como archivos, si queremos clonar una partición, tan sólo tenemos que especificar el nombre de esa partición. Por ejemplo, si queremos clonar directamente la partición sda1 de una máquina en un conjunto de máquinas remotas:

En el equipo servidor ejecutaremos:
# udp-sender –file /dev/sda1
Y en los equipos receptores:
# udp-receiver –file /dev/sda1
En el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:
“Ready. Press any key to start sending data.”
En los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:
“Press any key to start receiving data!”
Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.
 Algunas opciones útiles
UDPcast tiene muchas opciones. Algunas de las que me parecen más interesantes son las siguientes:
  • –interface ethX: Útil, si el equipo tiene varias interfaces de red para que escuche en una determinada.
  • –nokbd: Sirve para que el comando no espere a que el usuario pulse una tecla.
  • –min-receivers n: Sirve para indicar el número mínimo de receptores.
  • –min-receivers n: Sirve para indicar el número máximo de receptores.
  • –min-wait t: Mínimo tiempo (en segundos) a esperar antes de comenzar la transferencia.
  • –max-wait t: Máximo tiempo (en segundos) a esperar antes de comenzar la transferencia.

  • 0

Crud (create, read, update, delete) Java con Jdbc

En este post vamos a ver lo que es un CRUD ( Create, Read, Update, Delete) y empezaremos a crear nuestra base de datos:


CREATE TABLE usuario (
id_usuario int(11) NOT NULL AUTO_INCREMENT,
nombre varchar(100) NOT NULL,
apellido_paterno varchar(100) NOT NULL,
apellido_materno varchar(100) NOT NULL,
edad int(11) NOT NULL,
username varchar(100) NOT NULL,
password varchar(300) NOT NULL,
PRIMARY KEY (id_usuario)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

Despues tendremos nuestra clase conexión hacia la base de datos y nos quedara de la siguiente forma:

package com.mx.crudjdbc.config;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class ConnectionDataBase {

public static Connection conexion = null;

public static Connection getConexion() {
try {
conexion = null;
//cargar nuestro driver
Class.forName(“com.mysql.jdbc.Driver”);
conexion =DriverManager.getConnection(“jdbc:mysql://localhost/nombreBase”,”root”,”password”);
System.out.println(“conexion establecida”);
} catch (ClassNotFoundException | SQLException e) {
System.out.println(“error de conexion”);
JOptionPane.showMessageDialog(null, “error de conexion “+e);
}

return conexion;
}
}

Lo siguiente es crear un archivo java con el nombre de la tabla de la base de datos, el cual se llamara UsuarioVo.java y contendrá lo siguiente:

package com.mx.crudjdbc.vo;

/**
*
* @author bl4ck0is1s
*/
public class Usuario extends InterfaceObject{
private int idUsuario;
private String nombre;
private String apellidoPaterno;
private String apellidoMaterno;
private int edad;
private String username;
private String password;

public int getIdUsuario() {
return idUsuario;
}

public void setIdUsuario(int idUsuario) {
this.idUsuario = idUsuario;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellidoPaterno() {
return apellidoPaterno;
}

public void setApellidoPaterno(String apellidoPaterno) {
this.apellidoPaterno = apellidoPaterno;
}

public String getApellidoMaterno() {
return apellidoMaterno;
}

public void setApellidoMaterno(String apellidoMaterno) {
this.apellidoMaterno = apellidoMaterno;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
@Override
public String toString(){
return getNombre() + “,” + getApellidoPaterno() + “,” + getApellidoMaterno()
+ “,” + getEdad() + “,” + getUsername() + “,” + getPassword();
}
}

de igual forma crearemos una clase que un DAO (Data Access Object), el cual nos ayudara a persistir los datos hacia la base de datos, el cual tiene los metodos para insertar, modificar y listar


package com.mx.crudjdbc.dao.impl;

import com.mx.crudjdbc.config.ConnectionDataBase;
import com.mx.crudjdbc.dao.UsuarioDao;
import com.mx.crudjdbc.vo.Usuario;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import org.apache.log4j.Logger;

public class UsuarioDaoImpl implements UsuarioDao {

private static final Logger logger = Logger.getLogger(UsuarioDaoImpl.class);

@Override
public Usuario saveUsuario(Usuario usuario) {
Connection reg = ConnectionDataBase.getConexion();

String sql = “INSERT INTO usuario (nombre, apellido_paterno, apellido_materno, edad, username, ”
+ “password) VALUES ”
+ “(?,?,?,?,?”
+ “,?)”;
try {

PreparedStatement pst = reg.prepareStatement(sql);

pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());

int n = pst.executeUpdate();
if (n > 0) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “Usuario Registrado Exitosamente”);
}

} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();

}
return null;
}

@Override
public Usuario updateUsuario(Usuario usuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “UPDATE usuario SET nombre = ?, apellido_paterno = ?, apellido_materno = ?, edad = ?,”
+ ” username = ?, password = ? WHERE id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());
pst.setInt(7, usuario.getIdUsuario());

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “El Usuario se Actualizo Exitosamente”);
return usuario;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return null;
}

@Override
public Usuario getUsuarioById(int id) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ResultSet getAll() {
Connection conexion = ConnectionDataBase.getConexion();
try {
String sql = “SELECT * FROM usuario”;
Statement st = conexion.createStatement();
ResultSet rs = st.executeQuery(sql);

return rs;
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}finally {
try {
conexion.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
return null;
}

@Override
public boolean deleteUsuario(int idUsuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “DELETE from usuario where id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setInt(1, idUsuario);

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario eliminado: ” + idUsuario);
JOptionPane.showMessageDialog(null, “Usuario Eliminado”);
return true;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return false;
}

}

Bueno pues estos son los metodos mas importantes del proyecto que de igual forma se los dejo en la siguiente liga y que podran descargar desde mi repositorio de GitHub, otra cosa el proyecto esta echo en Maven, asi que para poder ejecutarlo deberan de tener instalado y por si no saben como pueden darle un vistaso a el siguiente post Como instalar Maven en Debian y Windows y pues aca les dejo la url para descargar el proyecto: https://github.com/bl4ck0is1s/CrudJdbc.

pues eso es todo si les gusto compartan es sus redes sociales.


  • 0

Informe seguimiento satelital para vehiculos – manual en español gps tracker tk103

Car-GPS-Tracker-TK-103A-B- (1)
Bueno amigos hace ya unos meses me puse a investigar sobre una forma de poder realizar un seguimiento satelital del auto, mas que nada no por lo que respecta a lo material sino la preocupación es por este tema que se estada dando hoy en día de los secuestros o robos en los cuales los asaltantes se llevan como seguro algún conocido o familiar.
Y la verdad encontré esta muy buena opción con la cual tenemos un completo control del auto mediante nuestro celular, pudiendo obtener la ubicación del auto la cual el equipo nos informa por sms dándonos un link de google maps con la ubicación pudiendo verlo tanto en la computadora como en nuestro celular si es que tiene acceso a Internet, como así también no da la opción entre otras muchas otras opciones de mediante el envió de un sms al equipo detener el auto y evitar que este vuelva a encender hasta que no mandemos un nuevo sms para permitir el encendido!! obviamente creo que ya se habrán dado cuenta que para que todo esto funcione deben colocar un chip de teléfono en el equipo que puedan interactuar con el mismo! Este mismo lo podemos encontrar en la tienda de LoboSoft-mx.com
“Read More”

  • 0

A partir de hoy, los chats en WhatsApp estarán encriptados

Mucho se ha hablado sobre la privacidad en internet últimamente especialmente a raíz del caso entre Apple y el FBI en el que estos últimos pidieron la ayuda de Apple para poder acceder a la información de un iPhone perteneciente a un terrorista responsable de los ataques en San Bernardino, California a finales del año pasado.

whatsapp-e1459878382188

Apple recientemente añadió encriptación a su servicio de mensajes iMessage y ahora WhatsApp también ofrece esta funcionalidad para sus más de mil millones de usuarios en todas las versiones de su app para todas las plataformas en las que esté disponible.

A todo esto ¿qué es lo que hace la encriptación en los chats? Bueno, significa que cuando tengan una conversación con alguien en WhatsApp, absolutamente nadie podrá acceder a la información en la conversación a parte de las personas involucradas en ella.

Esto quiere decir que si por alguna razón, el gobierno quisiera acceder a sus conversaciones, WhatsApp no podría proporcionar esa información porque ni ellos pueden acceder a ella.

Esto gracias a un protocolo de señal desarrollado por Whisper Systems, compañía open source que ha sido apoyada por Edward Snowden. La encriptación protegerá chats de grupo, archivos adjuntos, notas de voz y llamadas que sean hechas vea WhatsApp ya sea en Android, iPhone, Windows y algunos dispositivos Nokia y BlackBerry.

Whisper mencionó en un post en su blog oficial:

A partir de hoy los usuarios verán una notificación en su pantalla de conversación ya que sus chats individuales y de grupo se han encriptado de un extremo a otro.

whatsapp-e2e-notice-e1459878429482

encriptnot

Los usuarios también podrán verificar sus mensajes encriptados gracias a un código QR, esto para asegurar que los mensajes se estén enviando a los usuarios correctos. Esto significa que los empleados de WhatsApp no serán capaces de acceder a los mensajes, aún si una corte o las autoridades lo ordenan.

Así que ya pueden enviar lo que quieran por WhatsApp sin preocuparse porque su privacidad pueda ser vulnerada, a no ser que ustedes mismos se encarguen de compartir el contenido. La notificación, aparentemente, aún no le aparece a todos pero es cuestión de tiempo para que lo noten.

Al ser una compañía de Facebook, es sorpresivo que añadan una protección de esta naturaleza a WhatsApp. Habrá que ver si esto genera algún tipo de controversia como la que se desató con Apple.

Via Wired

  • 0

COMO USAR CHMOD

Category : Herramientas , Linux , Tecnología

permissions1

chmod es el encargado de asignar permisos a ficheros acá están unos ejemplos de como usarlo y como están compuestos

Este número 777 es el que voy a explicar de donde procede y como calcularlo en función de los permisos que queramos asignar.
El número está compuesto por tres cifras XXX, la primera hace referencia a los permisos del usuario, la segunda a los del grupo y la tercera cifra a los permisos deotros.
Cada una puede tomar valores entre 0 y 7 otorgando distintos permisos en función del número escogido.

0 = Ningún permiso
1 = Ejecución
2 = Escritura
3 = Escritura y ejecución
4 = Lectura
5 = Lectura y ejecución
6 = Lectura y escritura
7 = Lectura, escritura y ejecución

Pero, ¿cómo los calculamos(cada cifra se calcula por separado)?

r = lectura
w = escritura
x = ejecución
r w x
——–

0 0 0 => 0
0 0 1 => 1
0 1 0 => 2
0 1 1 => 3
1 0 0 => 4
1 0 1 => 5
1 1 0 => 6
1 1 1 => 7

Veamos algunos ejemplos que complementen lo explicado:

    • Otorgarle al fichero “miFichero” permisos de lectura y escritura para el usuario, le ejecución para el grupo y ninguno para otros usuarios.

chmod 610 miFichero

    • Otorgarle al fichero “miFichero” permisos de lectura y escritura para el usuario, para el grupo de lectura y para otros de lectura también.

chmod 644 miFichero

    • Otorgarle al fichero “miFIchero” todos los permisos al usuario y ninguno al resto, tango al grupo como a otros.

chmod 700 miFichero


  • 0

EDITA Y COMPARTE CODIGO ONLINE CON SCRAPFY

Category : Herramientas , Tecnología

Cuando tienes un grupo de trabajo que esta algo aislado y necesitas ayuda siempre es bueno tener a la mano herramientas que te permitan compartir código rápidamente y comentarlo con tus compañeros.
SCRAPfy es una plataforma que esta muy bien, que te permite crear documentos colaborativos en diferentes lenguajes de programación, compartir tu código con compañeros de trabajo y crear chats de voz y descargar el código una vez finalizado.
Cuentas con múltiples lenguajes para elegir entre los cuales podemos encontrar PHP, Java, Python, Ruby, JavaScript, Go, C# y muchos más.
En fin, para empezar a darle uso basta con entrar a su sitio web, elegir el lenguaje (se puede cambiar en cualquier momento, es solo para configurar los formatos de descarga y el coloreado), pasar la URL y codear como de costumbre. Por cierto, SCRAPfy.io está construido también con Node.Js, PeerJs, AngularJs y WebRTC.

 

Captura de pantalla 2016-02-18 a las 9.38.39 a.m. Captura de pantalla 2016-02-18 a las 9.38.50 a.m. Captura de pantalla 2016-02-18 a las 9.41.49 a.m.


  • 0

Almacenan 360 TB (para siempre) en discos de cuarzo 5D

Tags :

Category : Principal , Tecnología

disco5dPreservar información es uno de los grandes desafíos modernos que todo usuario debe enfrentar. Obtener más capacidad de un medio es un paso fundamental, pero también está el hecho de que ese mismo medio debe resistir el paso del tiempo. Ambos detalles nos llevan a la Universidad de Southampton, donde un grupo de científicos desarrolló un nuevo disco con una densidad de 360 terabytes por unidad, y aún en temperaturas extremas, puede mantenerse estable por miles de millones de años.

No lo vamos a negar: Odiamos hacer respaldos de datos, pero son definitivamente necesarios. A pesar de las notables ventajas que ofrecen los medios actuales de almacenamiento, ninguno de ellos es eterno, y las fallas pueden aparecer cuando menos lo esperamos. Ahora, imaginemos este mismo problema desplazado cientos o incluso miles de años en el futuro. ¿Cómo nos conocerán las próximas generaciones si cada disco duro, unidad de estado sólido, disco óptico o backup en cinta se ha convertido en polvo? Lo que hoy llamamos «historia escrita» alcanza a unos seis o siete mil años, pero la cantidad de información… de conocimiento que se perdió por no contar con medios apropiados de preservación, es incalculable. Guardar datos a muy largo plazo requiere de una solución avanzada, y en la Universidad de Southampton creen tenerla.

Un grupo de científicos perteneciente al Centro de Investigación Optoelectrónica de la universidad ha desarrollado una técnica para almacenar y leer datos de un disco de cuarzo nanoestructurado. Cada disco posee 360 terabytes de capacidad, y el proceso de grabación se realiza con un láser de alta velocidad, el cual crea tres capas de puntos, cada una separada por una distancia de apenas cinco micrómetros. La tecnología ha sido bautizada 5D, debido a que tiene en cuenta la posición de los datos en un disco, el tamaño y la orientación (sería algo como «3D + 2D»). Los primeros prototipos de estos discos fueron evaluados en el año 2013, y ya en ese entonces se pudo anticipar su extrema durabilidad. Hoy, los discos logran mantener estabilidad térmica hasta una temperatura máxima de 1.000 grados Celsius, y son capaces de sobrevivir 13.800 millones de años (una cantidad de años similar a la edad del Universo) a 190 grados.

01-20

La Declaración Universal de Derechos Humanos guardada en un disco 5D

La publicación oficial no da detalles sobre la durabilidad de los discos almacenados a temperatura ambiente, pero desde un punto de vista humano, es lógico tomar un atajo y decir «para siempre». El siguiente paso es encontrar socios dispuestos a asistir tanto en el desarrollo como en la comercialización de esta tecnología. Puede que el usuario promedio no necesite semejante resistencia en un medio de almacenamiento… ¿pero 360 terabytes en un disco grande como una moneda? ¿Dónde firmamos?


  • 0

Esto es lo que debes hacer si tu smartphone tiene “virus”

Category : Principal , Tecnología

smartphone-virHace unos días, la compañía de seguridad informática Eset, publicó un artículo relacionado con los 6 síntomas a los que un usuario debe verificar para determinar si tu smartphone lamentablemente ha caído en las garras de un programa malicioso (dentro de los que se incluyen los muy populares virus), también conocido como “malware”, por su terminología en inglés.

Los 6 síntomas que debes tomar en cuenta

1. Todas las aplicaciones empiezan a fallar sin alguna causa aparente. Puede que el móvil ya no permita hacer llamadas. La duración de la batería puede reducirse.

2. En el historial de llamadas o de mensajes puede encontrar números totalmente desconocidos.

3. Algunas aplicaciones hacen uso super excesivo de sus datos.

4. Usted o sus contactos pueden empezar a recibir mensajes de texto extraños (en otro idioma o con líneas de códigos raros).

5. En su factura se registran mensajes de texto o llamadas que usted nuca realizó.

6. Si su teléfono ha sido bloqueado y no opera con normalidad. Además, se solicita un rescate. En ese caso, es posible que hay caído presa de un “ramsonware”.
h2 Identifique dónde está la amenaza

virus-smart– Revise los permisos de todas las aplicaciones: Los expertos explican que hay algunas piezas de “malware” que no actúan de forma inmediata sino que se mantienen ocultas y dormidas por un tiempo antes de entrar en acción. Durante ese periodo, puede que ni siquiera las soluciones de seguridad sean capaces de detectar dicha amenaza. Pero si entras al “administrador de aplicaciones” y revisa los permisos de cada “app”, puedes descubrir algunas anomalías.

– Identifique si alguna aplicación consume más internet de lo que deberían: Por ejemplo, no es normal que un reproductor de vídeo o un juego consuman muchísimos datos. Si ve alguna aplicación con un comportamiento algo extraño, puede que sea maliciosa.

Elimine la amenaza

Puede hacerlo de una manera manual. Algunas aplicaciones maliciosas dejan de funcionar con solo desinstalarlas. Pero otras se protegen y resulta imposible eliminarlas sin utilizar una solución de seguridad certificada.

Si estas dos maneras fallan y no quiere restablecer el smartphone de fabrica, entonces tendra que acudir a un experto que le ayude a reconocer cómo opera el código malicioso que lo está afectado y cómo debe proceder para eliminarlo.

Las siguientes aplicaciones lo pueden ayudar con ese propósito: Helium App Sync and Backup, Ultimate Backup, Titanium Backup, Easy Backup & Restore, GCloud Backup y Mobile Backup & Restore. Todas estas pueden ser encontradas en la Play Store de Google.

Fuente: Tecnomagazine