吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 45234|回复: 97
收起左侧

[Android Tools] 【逆向神器】JEB 1.5.201408040(full) + keygen

    [复制链接]
scz 发表于 2015-7-27 13:49
先说一句,不是我四处转载,是有个兄弟在微博上问能不能来"吾爱破解"直接分享一份,
我没有帐号,他给了一个邀请码。所以我就注册后在这里发一下。其实我也挺奇怪的,
因为我分享的时候一般都是HTTP直接可下,无需Email、无需帐号啥啥的,理论上在不
在这里分享,大家都能直接下载,不懂。

2015-07-25 16:36 scz

关于JEB破解,我在看雪上发过两篇:


发现Guest好像不能在看雪下载附件,又在网盘上放了一份:

jeb-1.5.201404100_modified_by_scz(20140711).7z
http://pan.baidu.com/s/1o6E6xLo
(把32-bits、64-bits的swt.jar一并打包进去)

有人问我有没有时间破解1.5.201503150(demo),他好像从哪儿下载了一份。我没时
间,也就没找他要这个版本,我不占人便宜的。后来再没有关注过JEB。

前段时间意大利的黑产公司Hacking Team被黑吃黑,听说被人偷出来的包里有正版
VMProtect、ThemIDA,翻拣时无意中发现有1.5.201408040(full)版JEB。

full版的功能代码本身就是全的,只需要完成注册即可。破解demo版时,假设被调函
数的功能代码在binary中,只是被简单屏蔽,这种情况下,可以补充主调代码,使得
demo版变成full版。如果demo版的binary中完全没有被调函数的功能代码,那怎么破
解也不能变成full版。

最近一直在跟可能存在的一群APT程序员对抗,基本没时间看JEB的破解。周末想了想,
明日复明日、明日何其多、我生待明日、万事成蹉跎。一咬牙,花了两小时突击逆向
分析了一下HT的1.5.201408040(full),写keygen的思路切实可行。

JEB的注册机不是我开发的。最初是看雪的quard分享的,然后看雪的wangshy点了一
下要点,最后我跳出来狗尾续貂,提供可用的"1.5.201408040(full) keygen"。

tnttools@pediy的一句话:

献给那些永远充满着好奇心的人们

--------------------------------------------------------------------------
/*
* Copyleft (c) 2014, 2025
* -----------------------------------------------------------------------
* Author   : quard@pediy
*          : wangshy@pediy
* Maintain : scz
* Version  : 1.5.201408040(full)
* Compile  : javac -g keygen.java
* Run      : java keygen
*          :
* Create   : 2014-04-23 17:01
* Modify   : 2015-07-25 17:00
* -----------------------------------------------------------------------
* The only thing they can't take from us are our minds. !H
*/
--------------------------------------------------------------------------
JEB 1.5.201408040(full) keygen source code
http://scz.617.cn/misc/201507251700.txt

JEB 1.5.201408040(full) + keygen readme
http://scz.617.cn/misc/201507271722.txt

JEB 1.5.201408040(full) + keygen
http://pan.baidu.com/s/1o6y0e9s

最简执行方案:

$ java keygen
License key : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

注册成功后,用Wireshark抓包,得到1.5.201503152(full)版的下载链接,但其只有
4周有效期,现在已经无法下载。


(解压密码: dsfvdbvgummsyxvj)

所以,你们幻想中的1.5.201503152(full),我也没有。不知有没有愿意分享的?

此外,JEB2 DEMO版已出:

http://jebbuilds2.s3.amazonaws.com/jeb2demo/jeb2demo.zip

JEB2 DEMO版限制:

--------------------------------------------------------------------------
1. A 40-day demo trial period
2. Decompile between 80% and 90% of all methods
3. Copy/paste is disabled
4. Saving functionalities are disabled
5. All API access are disabled
6. Running time of a session is limited
--------------------------------------------------------------------------

1. 40天试用期
2. 部分方法(10%~20%)不予反编译
3. 不能复制文字
4. 不能保存结果数据
5. 不懂,是不是跟这句话相关:
   Use JEB's API to write Python scripts and plugins
6. 运行一会儿(可能是1小时)后自动关闭
--------------------------------------------------------------------------

有时间了再来破解JEB2 DEMO版,未必可行。

对了,我从未用过JEB去破解Android软件,因为我完全不懂Android开发。

一般情况下,对于不相熟的人来说,我是尽最大可能分享,能分享的、愿分享的就直
接分享了,不搞什么"感兴趣的可以邮件联系我"之类的事。回过头来,没有直接分享
的,那就是不能、不愿分享的呗,这种私下找我也不会给。顺便说一句,破解与我而
言只是个人兴趣,实不擅长,诚不诚的都勿挠。有就赚,无则命。

我只是一名程序员。

/*
* Copyleft (c) 2014, 2025
* -----------------------------------------------------------------------
* Author   : quard@pediy
*          : wangshy@pediy
* Maintain : scz
* Version  : 1.5.201408040(full)
* Compile  : javac -g keygen.java
* Run      : java keygen
*          :
* Create   : 2014-04-23 17:01
* Modify   : 2015-07-25 17:00
* -----------------------------------------------------------------------
* The only thing they can't take from us are our minds. !H
*/

[Java] 纯文本查看 复制代码
import java.io.*;
import java.lang.Runtime;
import java.util.Scanner;
import java.nio.*;
import java.security.*;
import java.math.*;

class keygen
{
    private static String License_GetSerialNumber ()
    {
        String          str1                = null;
        Runtime         localRuntime        = Runtime.getRuntime();
        Process         localProcess;

        try
        {
            String[]    localObject1    = { "wmic", "bios", "get", "serialnumber" };

            localProcess    = localRuntime.exec( localObject1 );
        }
        catch ( IOException localIOException1 )
        {
            return( null );
        }

        OutputStream    localOutputStream   = localProcess.getOutputStream();
        InputStream     localInputStream    = localProcess.getInputStream();

        try
        {
            localOutputStream.close();
        }
        catch ( IOException localIOException2 )
        {
            return( null );
        }

        Scanner         localObject1        = new Scanner( localInputStream );

        try
        {
            String  str2    = "SerialNumber";

            while ( localObject1.hasNext() )
            {
                String  str3    = localObject1.next();

                if ( str2.equals( str3 ) )
                {
                    str1    = localObject1.next().trim();
                    break;
                }
            }  /* end of while */
            localObject1.close();
        }
        finally
        {
            localObject1.close();
        }
        return( str1 );
    }  /* end of License_GetSerialNumber */

    private static int License_sum ( int paramInt )
    {
        int i   = 0;

        while ( paramInt > 0 )
        {
            i          += ( paramInt & 0xF );
            paramInt  >>= 4;
        }  /* end of while */
        return( i % 10 );
    }  /* end of License_sum */

    private static long License_GetMachineId ( String SerialNumber )
    {
        try
        {
            MessageDigest   localMessageDigest  = MessageDigest.getInstance( "MD5" );

            localMessageDigest.update( SerialNumber.getBytes() );

            byte[]          arrayOfByte         = localMessageDigest.digest();
            ByteBuffer      localByteBuffer     = ByteBuffer.wrap( arrayOfByte );

            localByteBuffer.order( ByteOrder.LITTLE_ENDIAN );
            return( localByteBuffer.getLong() & 0xFFFFFFFF );
        }
        catch ( NoSuchAlgorithmException localNoSuchAlgorithmException )
        {
            throw new RuntimeException( localNoSuchAlgorithmException );
        }
    }  /* end of License_GetMachineId */

    private static long License_GetMachineId_2 ( long MachineId )
    {
        int i           = ( int )( MachineId & 0xFFFFFFFF );
        int j           = ( int )( MachineId >> 32 & 0xFFFFFFFF );
        int n           = i + 376273029 + 287454020 & 0xFFFFFFFF;
        int i1          = j - 52416167 + 1432778632 & 0x7FFFFFFF;
        ByteBuffer  buf = ByteBuffer.allocateDirect( 8 );

        buf.putInt( i1 );
        buf.putInt( n );
        buf.rewind();
        return( buf.getLong() );
    }  /* end of License_GetMachineId_2 */

    private static String License_GenerateKey ( long MachineId, long time )
    {
        long    l = License_GetMachineId_2( MachineId );
        int     t = ( int )time ^ 0x56739ACD;
        return String.format( "%dZ%d%d", l, t, License_sum( t ) );
    }  /* end of License_GenerateKey */

    public static void main ( String[] args )
    {
        String  SerialNumber    = License_GetSerialNumber();
        long    MachineId       = License_GetMachineId( SerialNumber );
        long    time            = System.currentTimeMillis() / 1000L + 86400 * 365 * 3 - 86400 * 13;

        System.out.println("License key : " + License_GenerateKey( MachineId, time ) );
        return;
    }  /* end of main */
}  /* end of class keygen */                        

我提供的JEB Keygen是Windows版的,如果你在Linux或Mac OS X上,请自行修改License_GetSerialNumber()
这个函数。此时,关于如何找到SerialNumber,请参看我写的这篇:

用Javassis分析jeb.jar
http://scz.617.cn/misc/201407301745.txt

话说我曾经授人以渔过。

xxx.jpg

免费评分

参与人数 39威望 +2 吾爱币 +1 热心值 +39 收起 理由
paradroid + 1 + 1 我很赞同!
wnagzihxain + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
清香白莲 + 1 已答复!
我爱妮儿 + 1 谢谢@Thanks!
1041428754 + 1 我很赞同!
iNIC + 1 谢谢@Thanks!
双鱼丶木槿 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
superu + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
asdnasiudn + 1 谢谢@Thanks!
xiaomi + 1 绿盟四哥?
kanaing + 1 我很赞同!
TDY-heaven + 1 热心回复!
robber + 1 热心回复!
lijiao1108 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
阳光鸣鸣 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
XQiang + 1 谢谢@Thanks!
tusdasa翼 + 1 热心回复!
fenghaoda + 1 已答复!
zhaozi + 1 山东人民发来贺电
403348465@qq.co + 1 热心回复!
ljrlove2008 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
zisediao325 + 1 谢谢@Thanks!
mc_huzi + 1 谢谢@Thanks!
yuluo5566 + 1 谢谢@Thanks!
backtrace + 1 谢谢@Thanks!
海盗小K + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
evido + 1 谢谢@Thanks!
bigharvest + 1 已答复!
Tortoise + 1 鼓励转贴优秀软件安全工具和文档!
逍遥枷锁 + 1 谢谢@Thanks!
JasonSafe + 1 鼓励转贴优秀软件安全工具和文档!
wanttobeno + 1 谢谢@Thanks!
caleb110 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
Vespzz + 1 感谢您的宝贵建议,我们会努力争取做得更好.
四角的小裤衩 + 1 谢谢@Thanks!
Fivean + 1 谢谢@Thanks!
Mrxn + 1 不错 不错 值得学习!
lsyAndroid + 1 谢谢@Thanks!
qtfreet00 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qtfreet00 发表于 2015-7-28 12:27
Hmily 发表于 2015-7-28 10:29
感谢四哥来吾爱分享新版JEB的破解,备份一份放爱盘,方便大家直接下载:

http://down.52pojie.cn/Tools/ ...

帮作者改了下他的注册码生成器,写了个界面可视化的
QQ截图20150728115244.png

keygen.zip (7.71 KB, 下载次数: 413)

免费评分

参与人数 1热心值 +1 收起 理由
Hmily + 1 我很赞同!

查看全部评分

Hmily 发表于 2015-7-28 10:29
感谢四哥来吾爱分享新版JEB的破解,备份一份放爱盘,方便大家直接下载:

http://down.52pojie.cn/Tools/Android_Tools/
理查德 发表于 2015-7-27 14:03
支持原创!不过我不太知道这个软件是干什么的呢,另外问下你们为啥激活码这么好弄,激活码不是一个12元吗
qtfreet00 发表于 2015-7-27 15:35
昨天刚看到你的微博说要更新,没想到竟然大老远跑到吾爱来发了,奖励奖励
qtfreet00 发表于 2015-7-27 15:41
帮你把帖子重新编辑了下  改成原创分类了
头像被屏蔽
zzfafa 发表于 2015-7-27 19:37
学习一下!!
常疯 发表于 2015-7-27 21:57
谢谢楼主分享
头像被屏蔽
helius 发表于 2015-7-27 22:01
完全看不懂
北涯丶 发表于 2015-7-27 22:05
我根本就看不懂
scblue 发表于 2015-7-27 22:31
基本上不懂,不过在其他地方看见有人讨论了  
在你不远的距离 发表于 2015-7-27 22:35
虽然什么都看不懂 不过感觉还是挺流弊的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-24 00:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表