首页
社区
课程
招聘
[原创]破解7notes with mazec体验版的10天限制
发表于: 2012-11-26 12:43 16642

[原创]破解7notes with mazec体验版的10天限制

2012-11-26 12:43
16642

声明:本文章仅做技术研究,请勿用于非法用途。
 
  这个软件是日文手写输入法,对于工作当中经常要用日文进行书写的人来说还是很不错的,但是这个版本是体验版,有10天的限制,10天过后会弹出提示不能继续使用,如下图:
  

  用到的工具:APKTOOL、JD-GUI、Notepad++
  
  1、用APKTOOL反编译该程序,由弹出的过期提示,在smali文件中搜索关键字:"Expired",如下图:
  
  其中isTrialExpired方法值得我们注意,由字面意思可以推测,这个方法应该是判读是否过期。因此,我们再次搜索关键字:isTrialExpired,如下图:
  
  其中有对该方法的定义和调用该方法的地方,我们不妨先看看这个方法的定义,在smali\com\sevenknowledge\mazec\MazecIms.smali文件中的定义:
  
  

.method public isTrialExpired()Z
    .locals 7

    .prologue
    const-wide/16 v5, 0x0

    const/4 v2, 0x0

    .line 207
    sget-object v3, Lcom/sevenknowledge/common/BuildOption;->PRODUCT_TYPE:Lcom/sevenknowledge/common/BuildOption$ProductType;

    sget-object v4, Lcom/sevenknowledge/common/BuildOption$ProductType;->TRIAL:Lcom/sevenknowledge/common/BuildOption$ProductType;

    if-ne v3, v4, :cond_3

    .line 209
    iget-wide v3, p0, Lcom/sevenknowledge/mazec/MazecIms;->mExpireBase:J

    cmp-long v3, v3, v5

    if-ltz v3, :cond_0

    iget-wide v3, p0, Lcom/sevenknowledge/mazec/MazecIms;->mExpireTime:J

    cmp-long v3, v3, v5

    if-gez v3, :cond_1

    .line 210
    :cond_0
    invoke-direct {p0}, Lcom/sevenknowledge/mazec/MazecIms;->initExpireDate()V

    .line 212
    :cond_1
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    .line 213
    .local v0, t:J
    iget-wide v3, p0, Lcom/sevenknowledge/mazec/MazecIms;->mExpireBase:J

    cmp-long v3, v0, v3

    if-ltz v3, :cond_2

    iget-wide v3, p0, Lcom/sevenknowledge/mazec/MazecIms;->mExpireTime:J

    cmp-long v3, v3, v0

    if-gez v3, :cond_3

    :cond_2
    const/4 v2, 0x1

    .line 216
    .end local v0           #t:J
    :cond_3
    return v2
.end method
 public boolean isTrialExpired()
  {
    int i = 0;
    if (BuildOption.PRODUCT_TYPE == BuildOption.ProductType.TRIAL)
    {
      if ((this.mExpireBase < 0L) || (this.mExpireTime < 0L))
        initExpireDate();
      long l = System.currentTimeMillis();
      if ((l < this.mExpireBase) || (this.mExpireTime < l))
        i = 1;
    }
    return i;
  }
  
   if-gez v3, :cond_3

    :cond_2
    const/4 v2, 0x1

    .line 216
    .end local v0           #t:J
    :cond_3
    [COLOR="Red"]const/4 v2, 0x0[/COLOR]
    return v2
.end method

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (8)
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
不错 学习了~~~~
2012-11-26 16:35
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵..他们为什么都没加混淆??
2012-11-27 14:43
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
很明显欺负我们不懂日文,所以没有加      
2012-11-27 17:37
0
雪    币: 37
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
电视机。。。。。。。。。。。
2012-11-27 17:53
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不错,最新版是1.5.0,不过方法一样,没有大的变化
2012-11-27 18:09
0
雪    币: 465
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不错,最新版是1.5.0,
2012-12-1 23:32
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
个人认为,在下面这段代码中
  if-gez v3, :cond_3

    :cond_2
    const/4 v2, 0x1

    .line 216
    .end local v0           #t:J
    :cond_3
    const/4 v2, 0x0
    return v2
.end method

将红色部分if-gez修改为if-lez即可,将判断进行修改,然后可以不限制使用时间
2012-12-9 07:30
0
雪    币: 1552
活跃值: (1626)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
正在学习中!!
2013-7-27 00:16
0
游客
登录 | 注册 方可回帖
返回
//