挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运IOS签名/udid证书出售/送证书加群1040456405 ██【我要租此广告位】██
... .
查看: 2653|回复: 0
打印 上一主题 下一主题

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

[复制链接]
4中级会员
338/600

338

积分

112

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
226
海币
2953
交易币
0
跳转到指定楼层
楼主
发表于 2016-4-1 09:07:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


本帖最后由 vp2008 于 2016-4-1 09:09 编辑

先说一句,不是我四处转载,是有个兄弟在微博上问能不能来直接分享一份,
我没有帐号,他给了一个邀请码。所以我就注册后在这里发一下。其实我也挺奇怪的,
因为我分享的时候一般都是HTTP直接可下,无需Email、无需帐号啥啥的,理论上在不
在这里分享,大家都能直接下载,不懂。

2015-07-25 16:36 scz

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

游客,如果您要查看本帖隐藏内容请回复


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

jeb-1.5.201404100_modified_by_scz(20140711).7z
游客,如果您要查看本帖隐藏内容请回复

(把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
*/
--------------------------------------------------------------------------

游客,如果您要查看本帖隐藏内容请回复


最简执行方案:

$ java keygen
License key : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


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

http://www.pnfsoftware.com/dl?3a5f0e30e6375544
http://jebbuilds2.s3.amazonaws.com/3a5f0e30e6375544/jeb-1.5.201503152-full-ValerianoBedeschi-834390934.zip


(解压密码: dsfvdbvgummsyxvj)

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

此外,JEB2 DEMO版已出:

游客,如果您要查看本帖隐藏内容请回复


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] 纯文本查看 复制代码

  1. import java.io.*;
  2. import java.lang.Runtime;
  3. import java.util.Scanner;
  4. import java.nio.*;
  5. import java.security.*;
  6. import java.math.*;

  7. class keygen
  8. {
  9.     private static String License_GetSerialNumber ()
  10.     {
  11.         String          str1                = null;
  12.         Runtime         localRuntime        = Runtime.getRuntime();
  13.         Process         localProcess;

  14.         try
  15.         {
  16.             String[]    localObject1    = { "wmic", "bios", "get", "serialnumber" };

  17.             localProcess    = localRuntime.exec( localObject1 );
  18.         }
  19.         catch ( IOException localIOException1 )
  20.         {
  21.             return( null );
  22.         }

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

  25.         try
  26.         {
  27.             localOutputStream.close();
  28.         }
  29.         catch ( IOException localIOException2 )
  30.         {
  31.             return( null );
  32.         }

  33.         Scanner         localObject1        = new Scanner( localInputStream );

  34.         try
  35.         {
  36.             String  str2    = "SerialNumber";

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

  40.                 if ( str2.equals( str3 ) )
  41.                 {
  42.                     str1    = localObject1.next().trim();
  43.                     break;
  44.                 }
  45.             }  /* end of while */
  46.             localObject1.close();
  47.         }
  48.         finally
  49.         {
  50.             localObject1.close();
  51.         }
  52.         return( str1 );
  53.     }  /* end of License_GetSerialNumber */

  54.     private static int License_sum ( int paramInt )
  55.     {
  56.         int i   = 0;

  57.         while ( paramInt > 0 )
  58.         {
  59.             i          += ( paramInt & 0xF );
  60.             paramInt  >>= 4;
  61.         }  /* end of while */
  62.         return( i % 10 );
  63.     }  /* end of License_sum */

  64.     private static long License_GetMachineId ( String SerialNumber )
  65.     {
  66.         try
  67.         {
  68.             MessageDigest   localMessageDigest  = MessageDigest.getInstance( "MD5" );

  69.             localMessageDigest.update( SerialNumber.getBytes() );

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

  72.             localByteBuffer.order( ByteOrder.LITTLE_ENDIAN );
  73.             return( localByteBuffer.getLong() & 0xFFFFFFFF );
  74.         }
  75.         catch ( NoSuchAlgorithmException localNoSuchAlgorithmException )
  76.         {
  77.             throw new RuntimeException( localNoSuchAlgorithmException );
  78.         }
  79.     }  /* end of License_GetMachineId */

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

  87.         buf.putInt( i1 );
  88.         buf.putInt( n );
  89.         buf.rewind();
  90.         return( buf.getLong() );
  91.     }  /* end of License_GetMachineId_2 */

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

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

  103.         System.out.println("License key : " + License_GenerateKey( MachineId, time ) );
  104.         return;
  105.     }  /* end of main */
  106. }  /* end of class keygen */                       
复制代码





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

用Javassis分析jeb.jar
游客,如果您要查看本帖隐藏内容请回复




联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:JEB2
下一篇:APKAnalyser[Android 分析工具]
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-4-5 06:28 , Processed in 0.083000 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

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