首页
社区
课程
招聘
[原创]AD Blocker Trial 注册算法
发表于: 2012-8-16 16:12 15777

[原创]AD Blocker Trial 注册算法

2012-8-16 16:12
15777

【文章标题】: 【原创】AD Blocker Trial 注册算法
【下载地址】: http://as.baidu.com/a/item?docid=150568&pre=web_am_se
【操作平台】: Ubuntu11.10
【使用工具】: Apktool v1.4.3 , dex2jar-0.0.9.9,  jd-gui-0.3.3
【作者邮箱】:  iltgcl@163.com
【作者声明】: 仅作为研究交流使用。
【软件名称】: 英文名: AD Blocker Trial  中文名:广告拦截器及净触发器的审判。
【破解过程】
    先安装程序,启动以后,点击弹出菜单Buy 选项,进入到注册界面。发现程序已经给出了我的Product Code:44173112,  输入试练码:12345678,程序弹出对话框表示出错了。

好了,基本信息搜集完了。使用dex2jar反编译,然后用jd-gui打开,太好了,代码尽然没有混淆,省了不少麻烦。虽然这个程序的算法非常简单,但我还是尽量详细的将分析过程写下来。

首先需要找到注册界面。从前面信息搜集过程中知道是在弹出菜单中点击Buy选项出现的注册界面,找到如下代码片段
  

public boolean onOptionsItemSelected(MenuItem paramMenuItem)
  {
    int i = 1;
    switch (paramMenuItem.getItemId())
    {
    default:
      i = 0;
    case 1:
    case 0:
    case 2:
    case 3:
    case 4:
    }
    while (true)
    {
      return i;
      showAbout();
      continue;
      showHelp();
      continue;
      Intent localIntent = new Intent();
      localIntent.setClass(this, ProtectorPreferencesActivity.class);
      startActivity(localIntent);
      continue;
     [COLOR=Red] showDonateDialog();[/COLOR]
      continue;
      startActivity(new Intent("android.intent.action.VIEW", Uri.parse("market://search?q=\"SmartDog Studio\"")));
    }
  }
private void showDonateDialog()
  {
    View localView = LayoutInflater.from(this).inflate(2130903043, null);
    EditText localEditText = (EditText)localView.findViewById(2131296263);
    ((TextView)localView.findViewById(2131296262)).setText(RegUtil.getProdCode(this));
    ((TextView)localView.findViewById(2131296264)).setText(ContentUtil.getDonateGuide(this));
    new AlertDialog.Builder(this).setTitle(Html.fromHtml("<b>" + getText(2131165207) + "</b>")).setView(localView).setPositiveButton("OK", [COLOR=Red]new ADBlocker.3[/COLOR](this, localEditText)).setNeutralButton("Buy", new ADBlocker.4(this)).setNegativeButton("Cancel", null).show();
  }
class ADBlocker$3
  implements DialogInterface.OnClickListener
{
  public void onClick(DialogInterface paramDialogInterface, int paramInt)
  {
    if (this.val$key.getText() != null)
      ADBlocker.[COLOR=Red]access$3[/COLOR](this.this$0, this.this$0, this.val$key.getText().toString());
  }
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 6
支持
分享
最新回复 (5)
雪    币: 317
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
占位!!!!!!!!
2012-8-16 16:27
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
欢迎交流 Android研究心得~
2012-8-16 20:28
0
雪    币: 5201
活跃值: (3442)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
....作者天天求狷狂。。。结果你还来着出,命苦了。~
2012-8-16 21:52
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
5
写的非常不错
2012-8-17 11:10
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
与我是土匪的AD Blocker Trial破解的好像是同一款软件,但是思路不一致,也更清晰。借鉴~~~~
2015-4-9 13:00
0
游客
登录 | 注册 方可回帖
返回
//