How easy is it to get into Banking systems networks?

Kenyan banks lose billions each year due to IT related fraud mostly by bank insiders. For an outsider it is difficult but not impossible. With the advent of mobile banking android apps, a good starting point would be to disassemble one using tools like dex2jar, androguard e.t.c and collect info about their API backends.
below is the smali code for the mysafaricom app splashscreen activity

.class public Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;
.super Lcom/mventus/selfcare/safaricom/base/BaseActivity;
.source "SourceFile"

# interfaces
.implements Lcom/mventus/selfcare/safaricom/ui/a/b;


# direct methods
.method public constructor <init>()V
    .locals 1

    .prologue
    .line 34
    invoke-direct {p0}, Lcom/mventus/selfcare/safaricom/base/BaseActivity;-><init>()V

    .line 35
    const v0, 0x7f04001b

    iput v0, p0, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->f:I

    .line 36
    return-void
.end method


# virtual methods
.method public a(I)V
    .locals 0
    .param p1, "feature"    # I

    .prologue
    .line 212
    return-void
.end method

.method public a(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)V
    .locals 4
    .param p1, "containerId"    # I
    .param p2, "fragment"    # Landroid/support/v4/app/Fragment;
    .param p3, "tag"    # Ljava/lang/String;

    .prologue
    .line 75
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getSupportFragmentManager()Landroid/support/v4/app/s;

    move-result-object v1

    .line 86
    .local v1, "fragmentManager":Landroid/support/v4/app/s;
    :try_start_0
    invoke-virtual {v1}, Landroid/support/v4/app/s;->a()Landroid/support/v4/app/x;

    move-result-object v2

    .line 88
    .local v2, "fragmentTransaction":Landroid/support/v4/app/x;
    invoke-virtual {v2, p1, p2, p3}, Landroid/support/v4/app/x;->b(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)Landroid/support/v4/app/x;

    .line 89
    invoke-virtual {v2, p3}, Landroid/support/v4/app/x;->a(Ljava/lang/String;)Landroid/support/v4/app/x;

    .line 90
    invoke-virtual {v2}, Landroid/support/v4/app/x;->b()I
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 102
    .end local v2    # "fragmentTransaction":Landroid/support/v4/app/x;
    :goto_0
    return-void

    .line 92
    :catch_0
    move-exception v0

    .line 96
    .local v0, "e":Ljava/lang/Exception;
    :try_start_1
    invoke-virtual {v1}, Landroid/support/v4/app/s;->a()Landroid/support/v4/app/x;

    move-result-object v2

    .line 97
    .restart local v2    # "fragmentTransaction":Landroid/support/v4/app/x;
    invoke-virtual {v2}, Landroid/support/v4/app/x;->c()I
    :try_end_1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1

    goto :goto_0

    .line 98
    .end local v2    # "fragmentTransaction":Landroid/support/v4/app/x;
    :catch_1
    move-exception v3

    goto :goto_0
.end method

.method public a(ILandroid/view/View;Ljava/lang/Object;)V
    .locals 7
    .param p1, "pActionType"    # I
    .param p2, "pView"    # Landroid/view/View;
    .param p3, "pData"    # Ljava/lang/Object;

    .prologue
    const v6, 0x7f1000a2

    const/4 v5, 0x0

    .line 108
    packed-switch p1, :pswitch_data_0

    .line 202
    .end local p3    # "pData":Ljava/lang/Object;
    :cond_0
    :goto_0
    return-void

    .line 110
    .restart local p3    # "pData":Ljava/lang/Object;
    :pswitch_0
    const-string v4, "RegisterFragment"

    invoke-virtual {p0, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->b(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_1

    .line 111
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    instance-of v4, v4, Lcom/mventus/selfcare/safaricom/ui/fragment/bo;

    if-nez v4, :cond_0

    .line 113
    const-string v4, "RegisterFragment"

    invoke-virtual {p0, v4, v5}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(Ljava/lang/String;I)V

    .line 114
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    invoke-virtual {v4}, Landroid/support/v4/app/Fragment;->getArguments()Landroid/os/Bundle;

    move-result-object v4

    const-string v5, "PHONE_NUMBERS"

    check-cast p3, Ljava/lang/String;

    .end local p3    # "pData":Ljava/lang/Object;
    invoke-virtual {v4, v5, p3}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    goto :goto_0

    .line 117
    .restart local p3    # "pData":Ljava/lang/Object;
    :cond_1
    new-instance v3, Lcom/mventus/selfcare/safaricom/ui/fragment/bo;

    invoke-direct {v3}, Lcom/mventus/selfcare/safaricom/ui/fragment/bo;-><init>()V

    .line 118
    .local v3, "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 119
    .local v0, "bundle":Landroid/os/Bundle;
    const-string v4, "PHONE_NUMBERS"

    check-cast p3, Ljava/lang/String;

    .end local p3    # "pData":Ljava/lang/Object;
    invoke-virtual {v0, v4, p3}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    .line 121
    invoke-virtual {v3, v0}, Lcom/mventus/selfcare/safaricom/base/a;->setArguments(Landroid/os/Bundle;)V

    .line 122
    const-string v4, "RegisterFragment"

    invoke-virtual {p0, v6, v3, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)V

    goto :goto_0

    .line 127
    .end local v0    # "bundle":Landroid/os/Bundle;
    .end local v3    # "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    .restart local p3    # "pData":Ljava/lang/Object;
    :pswitch_1
    const-string v4, "OtpFragment"

    invoke-virtual {p0, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->b(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_2

    .line 128
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    instance-of v4, v4, Lcom/mventus/selfcare/safaricom/ui/fragment/bh;

    if-nez v4, :cond_0

    .line 130
    const-string v4, "OtpFragment"

    invoke-virtual {p0, v4, v5}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(Ljava/lang/String;I)V

    goto :goto_0

    .line 132
    :cond_2
    new-instance v3, Lcom/mventus/selfcare/safaricom/ui/fragment/bh;

    invoke-direct {v3}, Lcom/mventus/selfcare/safaricom/ui/fragment/bh;-><init>()V

    .line 133
    .restart local v3    # "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 134
    .restart local v0    # "bundle":Landroid/os/Bundle;
    invoke-virtual {v3, v0}, Lcom/mventus/selfcare/safaricom/base/a;->setArguments(Landroid/os/Bundle;)V

    .line 135
    const-string v4, "OtpFragment"

    invoke-virtual {p0, v6, v3, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)V

    goto :goto_0

    .line 139
    .end local v0    # "bundle":Landroid/os/Bundle;
    .end local v3    # "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    :pswitch_2
    invoke-static {}, Lcom/mventus/selfcare/safaricom/communication/c;->a()Lcom/mventus/selfcare/safaricom/communication/c;

    move-result-object v4

    invoke-virtual {v4, p0}, Lcom/mventus/selfcare/safaricom/communication/c;->a(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_5

    .line 140
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 142
    .restart local v0    # "bundle":Landroid/os/Bundle;
    const-string v4, "WebViewFragment"

    invoke-virtual {p0, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->b(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_3

    .line 143
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    instance-of v4, v4, Lcom/mventus/selfcare/safaricom/ui/fragment/cm;

    if-nez v4, :cond_0

    .line 145
    const-string v4, "WebViewFragment"

    invoke-virtual {p0, v4, v5}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(Ljava/lang/String;I)V

    .line 146
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    invoke-virtual {v4}, Landroid/support/v4/app/Fragment;->getArguments()Landroid/os/Bundle;

    move-result-object v0

    .line 147
    const-string v4, "URL"

    check-cast p3, Ljava/lang/String;

    .end local p3    # "pData":Ljava/lang/Object;
    invoke-virtual {v0, v4, p3}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    .line 149
    if-eqz p2, :cond_0

    .line 150
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v4

    invoke-virtual {v4}, Landroid/support/v4/app/Fragment;->getArguments()Landroid/os/Bundle;

    move-result-object v5

    const-string v6, "SHOW_SEARCH"

    .line 151
    invoke-virtual {p2}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/lang/Boolean;

    .line 150
    invoke-virtual {v5, v6, v4}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    goto/16 :goto_0

    .line 153
    .restart local p3    # "pData":Ljava/lang/Object;
    :cond_3
    new-instance v3, Lcom/mventus/selfcare/safaricom/ui/fragment/cm;

    invoke-direct {v3}, Lcom/mventus/selfcare/safaricom/ui/fragment/cm;-><init>()V

    .line 154
    .restart local v3    # "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    const-string v4, "URL"

    check-cast p3, Ljava/lang/String;

    .end local p3    # "pData":Ljava/lang/Object;
    invoke-virtual {v0, v4, p3}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    .line 155
    if-eqz p2, :cond_4

    .line 156
    const-string v5, "SHOW_SEARCH"

    .line 157
    invoke-virtual {p2}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/lang/Boolean;

    .line 156
    invoke-virtual {v0, v5, v4}, Landroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V

    .line 158
    :cond_4
    invoke-virtual {v3, v0}, Lcom/mventus/selfcare/safaricom/base/a;->setArguments(Landroid/os/Bundle;)V

    .line 159
    const-string v4, "WebViewFragment"

    invoke-virtual {p0, v6, v3, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)V

    goto/16 :goto_0

    .line 163
    .end local v0    # "bundle":Landroid/os/Bundle;
    .end local v3    # "performBaseFragment":Lcom/mventus/selfcare/safaricom/base/a;
    .restart local p3    # "pData":Ljava/lang/Object;
    :cond_5
    const v4, 0x7f09011d

    invoke-virtual {p0, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getString(I)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {p0, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->f(Ljava/lang/String;)V

    goto/16 :goto_0

    .line 168
    :pswitch_3
    invoke-static {}, Lcom/mventus/selfcare/safaricom/model/x;->k()Lcom/mventus/selfcare/safaricom/model/x;

    move-result-object v4

    invoke-virtual {v4}, Lcom/mventus/selfcare/safaricom/model/x;->l()Lcom/mventus/selfcare/safaricom/model/ae;

    move-result-object v2

    .line 169
    .local v2, "myProfileModel":Lcom/mventus/selfcare/safaricom/model/ae;
    if-eqz v2, :cond_0

    .line 171
    invoke-virtual {v2}, Lcom/mventus/selfcare/safaricom/model/ae;->j()Z

    move-result v4

    if-eqz v4, :cond_6

    .line 173
    new-instance v1, Landroid/content/Intent;

    const-class v4, Lcom/mventus/selfcare/safaricom/ui/blaze/activity/BlazeHomeActivity;

    invoke-direct {v1, p0, v4}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    .line 175
    .local v1, "intent":Landroid/content/Intent;
    invoke-virtual {p0, v1}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->startActivity(Landroid/content/Intent;)V

    .line 176
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->finish()V

    goto/16 :goto_0

    .line 181
    .end local v1    # "intent":Landroid/content/Intent;
    :cond_6
    invoke-virtual {v2}, Lcom/mventus/selfcare/safaricom/model/ae;->k()Z

    move-result v4

    if-eqz v4, :cond_7

    .line 183
    new-instance v1, Landroid/content/Intent;

    const-class v4, Lcom/mventus/selfcare/safaricom/activity/BlazeOptInActivity;

    invoke-direct {v1, p0, v4}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    .line 185
    .restart local v1    # "intent":Landroid/content/Intent;
    invoke-virtual {p0, v1}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->startActivity(Landroid/content/Intent;)V

    .line 186
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->finish()V

    goto/16 :goto_0

    .line 191
    .end local v1    # "intent":Landroid/content/Intent;
    :cond_7
    new-instance v1, Landroid/content/Intent;

    const-class v4, Lcom/mventus/selfcare/safaricom/HomeActivity;

    invoke-direct {v1, p0, v4}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V

    .line 193
    .restart local v1    # "intent":Landroid/content/Intent;
    invoke-virtual {p0, v1}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->startActivity(Landroid/content/Intent;)V

    .line 194
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->finish()V

    goto/16 :goto_0

    .line 108
    :pswitch_data_0
    .packed-switch 0x1
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
    .end packed-switch
.end method

.method protected a(Landroid/os/Bundle;)V
    .locals 5
    .param p1, "savedInstanceState"    # Landroid/os/Bundle;

    .prologue
    .line 56
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getIntent()Landroid/content/Intent;

    move-result-object v2

    const-string v3, "Action"

    invoke-virtual {v2, v3}, Landroid/content/Intent;->hasExtra(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_1

    .line 57
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getIntent()Landroid/content/Intent;

    move-result-object v2

    const-string v3, "Action"

    invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    const-string v3, "Register"

    invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_0

    .line 59
    const/4 v2, 0x1

    const/4 v3, 0x0

    const-string v4, "logout"

    invoke-virtual {p0, v2, v3, v4}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(ILandroid/view/View;Ljava/lang/Object;)V

    .line 70
    :cond_0
    :goto_0
    return-void

    .line 63
    :cond_1
    new-instance v1, Lcom/mventus/selfcare/safaricom/ui/fragment/ch;

    invoke-direct {v1}, Lcom/mventus/selfcare/safaricom/ui/fragment/ch;-><init>()V

    .line 64
    .local v1, "performBaseFragment":Lcom/mventus/selfcare/safaricom/ui/fragment/ch;
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    .line 65
    .local v0, "bundle":Landroid/os/Bundle;
    invoke-virtual {v1, v0}, Lcom/mventus/selfcare/safaricom/ui/fragment/ch;->setArguments(Landroid/os/Bundle;)V

    .line 66
    const v2, 0x7f1000a2

    const-string v3, "SplashScreenFragment"

    invoke-virtual {p0, v2, v1, v3}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->a(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)V

    goto :goto_0
.end method

.method public a(Ljava/lang/String;I)V
    .locals 1
    .param p1, "tag"    # Ljava/lang/String;
    .param p2, "flag"    # I

    .prologue
    .line 205
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getSupportFragmentManager()Landroid/support/v4/app/s;

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Landroid/support/v4/app/s;->a(Ljava/lang/String;I)V

    .line 206
    return-void
.end method

.method protected b(Ljava/lang/String;)Z
    .locals 1
    .param p1, "tag"    # Ljava/lang/String;

    .prologue
    .line 225
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getSupportFragmentManager()Landroid/support/v4/app/s;

    move-result-object v0

    invoke-virtual {v0, p1}, Landroid/support/v4/app/s;->a(Ljava/lang/String;)Landroid/support/v4/app/Fragment;

    move-result-object v0

    if-eqz v0, :cond_0

    .line 226
    const/4 v0, 0x1

    .line 228
    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public n()V
    .locals 0

    .prologue
    .line 217
    return-void
.end method

.method public onBackPressed()V
    .locals 2

    .prologue
    .line 40
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->h()Landroid/support/v4/app/Fragment;

    move-result-object v0

    instance-of v0, v0, Lcom/mventus/selfcare/safaricom/ui/fragment/bo;

    if-eqz v0, :cond_0

    .line 41
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->finish()V

    .line 42
    :cond_0
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getSupportFragmentManager()Landroid/support/v4/app/s;

    move-result-object v0

    invoke-virtual {v0}, Landroid/support/v4/app/s;->e()I

    move-result v0

    const/4 v1, 0x1

    if-le v0, v1, :cond_1

    .line 43
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->getSupportFragmentManager()Landroid/support/v4/app/s;

    move-result-object v0

    invoke-virtual {v0}, Landroid/support/v4/app/s;->c()V

    .line 46
    :goto_0
    return-void

    .line 45
    :cond_1
    invoke-virtual {p0}, Lcom/mventus/selfcare/safaricom/activity/SplashScreenActivity;->finish()V

    goto :goto_0
.end method

.method public onClick(Landroid/view/View;)V
    .locals 0
    .param p1, "view"    # Landroid/view/View;

    .prologue
    .line 51
    return-void
.end method

I am an insider so I probably know more than you.

Your logic has very many flaws,

  1. Lets assume you de-compile the mobile banking app , all you will get is the code and some urls to APIs or USSD calls, how will you then get the credentials to actually login into the system?

  2. Assuming that you manage to sneak in some code that hijacks and sends the user credentials to you, you still have to trick users into downloading your phishing app, and the chances for that a close to zero

  3. if you beat huddle one and two and you got the credentials forwarded, they would still be worthless because the password is a one time use only and its generated using a token (active ID to be exact)

:D:D:D:D:D

maybe we can compare notes at some point

You are right, they lose billions every year. For the mobile banking, most outsource from say craft sillicon and it will go through many firewalls, p2p and vpn’s to hit the core banking so it is not a matter of getting into the interface, it won’t help

I agree with you on this one, the app is just an interface which is often provided by a thrid party. It goes through a lot before it hits the core banking

Sure, I am into infosec, whitehat…so if you share the same interests we can exchange notes

Some OAUTH 2 implementations are not as secure as you would want me to believe. It has been hacked many times, facebook, hotmail and many others have a story to tell. I wouldn’t concern myself so much with the access token, it is the refresh token that is important.

You claim decompiling applications is useless then remind me how the sony playstation network was hacked then. Wasn’t it through debugging of the gaming console firmware that gave hackers info that led to the compromise of their entire servers?

btw i hope you understand that OAUTH is different from ActiveID (two very different things :smiley: )

Hehehe, you really don’t know how these are configured do you?

I have implemented an OAuth 2 server using spring MVC I know what I am talking about. OAuth is a specification just like POSIX, developers are supposed to read the spec and create their own conforming implementations. Some of the implementations don’t always do what the spec exactly says and there in comes problems.

Please move on to a different topic, debugging firmware? or did you mean decompiling?

Lets assume you meant decompile the firmware on your console (and its been done a countless times, where do you think the jailbreak codes come from?). how will this give you admin access to the routers and firewalls? no one ships this kind info in code regardless of how stupid they are

Sony hack (apart from the older DDOS attacks) all started from phishing email and that’s how they managed to get the information from inside sony to facilitate the external intrusion they needed

Am not debating whether you have done it or not, what am asking is whether you understand that one deals with authorization and the other with authentication? one users software generated token and the other hardware generated token?

Decompiling as of now is still a pipe dream due to loss of info in the code generation and optimization stages. Binary analysis is done by debuggers and disassemblers.

debuggers is done by alpha and beta testers, white box and black box respectively

Disassembly/Decompiling is NOT and i repeat NOT a pipe dream, it happens everywhere, decompiling a RAD applications is as easy as ABC, on the other hand, Native code (c/c++) decompiling requires a real geek but its all happening left right center. where do you think patches, serials and jailbreak codes come from?

Ollydbg, Numega softice, IDA, x86_64 DBG etc, they are debuggers not decompilers. A decompiler is supposed to do the opposite of a compiler that is to take the binary code and generate the original high level source code. There is not tool that does that. You cannot write code in language like C or basic or pascal compile it and then decompile the resulting binary into the original code.

OK stop confusing yourself chief, the main reason Ollydbg is classified as a debugger is to “be politically correct”, look under the hood and you will realize its a disassembler/decompiler. that debugger shit is for the guys to protect themselves from lawsuits , the same way if i wanted to teach people how to write trojans i would start by declaring that the “Tutorial is for learning purposes only” :smiley:

How long have you been coding ? :D:D:D:D
You would be amazed how much is actually possible, just dive down the trenches and snoop around :D:D:D

So rare to find any of you who understands this Shit… IT is not just turning your comps on and printing some paper on a network. You got to understand that network layer you are targeting.

The playstation network and banking appliactions are two different things. Dude!