当前位置: 首页 > news >正文

Charles破解 激活码 Java

第一步,下载charles

Download a Free Trial of Charles • Charles Web Debugging Proxy

第二部,生成key,这里使用的是java代码


import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Random;public class test {private static final int ROUNDS = 12;private static final int ROUND_KEYS = 2 * (ROUNDS + 1);private static final Random rand = new Random();public static void main(String[] args) {rand.setSeed(System.nanoTime());//  这里填入你需要的name,随意填String name = "ylv51234";System.out.println("name: " + name + "    key: " + crack(name));}private static String crack(String text) {byte[] name = text.getBytes();int length = name.length + 4;int padded = ((-length) & (8 - 1)) + length;ByteBuffer buffer = ByteBuffer.allocate(padded);buffer.order(ByteOrder.BIG_ENDIAN);buffer.putInt(name.length);buffer.put(name);long ckName = 0x7a21c951691cd470L;long ckKey = -5408575981733630035L;CkCipher ck = new CkCipher(ckName);ByteBuffer outBuffer = ByteBuffer.allocate(padded);outBuffer.order(ByteOrder.BIG_ENDIAN);for (int i = 0; i < padded; i += 8) {long nowVar = buffer.getLong(i);long dd = ck.encrypt(nowVar);outBuffer.putLong(dd);}int n = 0;for (byte b : outBuffer.array()) {n = rotateLeft(n ^ (int) b, 3);}int prefix = n ^ 0x54882f8a;int suffix = rand.nextInt();long in = ((long) prefix << 32) | (suffix & 0xffffffffL);if ((suffix >> 16) == 0x0401 || (suffix >> 16) == 0x0402 || (suffix >> 16) == 0x0403) {// Keep `in` as is} else {in = (in & 0xffffffff00000000L) | 0x01000000L | (suffix & 0xffffff);}long out = new CkCipher(ckKey).decrypt(in);long n2 = 0;for (int i = 56; i >= 0; i -= 8) {n2 ^= (in >> i) & 0xff;}int vv = (int) (n2 & 0xff);if (vv < 0) vv = -vv;return String.format("%02x%016x", vv, out);}private static class CkCipher {private int[] rk = new int[ROUND_KEYS];public CkCipher(long ckKey) {int[] ld = new int[]{(int) ckKey, (int) (ckKey >>> 32)};rk[0] = -1209970333;for (int i = 1; i < ROUND_KEYS; i++) {rk[i] = rk[i - 1] - 1640531527;}int a = 0, b = 0, i = 0, j = 0;for (int k = 0; k < 3 * ROUND_KEYS; k++) {rk[i] = rotateLeft(rk[i] + (a + b), 3);a = rk[i];ld[j] = rotateLeft(ld[j] + (a + b), a + b);b = ld[j];i = (i + 1) % ROUND_KEYS;j = (j + 1) % 2;}}public long encrypt(long in) {int a = (int) in + rk[0];int b = (int) (in >>> 32) + rk[1];for (int r = 1; r <= ROUNDS; r++) {a = rotateLeft(a ^ b, b) + rk[2 * r];b = rotateLeft(b ^ a, a) + rk[2 * r + 1];}return packLong(a, b);}public long decrypt(long in) {int a = (int) in;int b = (int) (in >>> 32);for (int i = ROUNDS; i > 0; i--) {b = rotateRight(b - rk[2 * i + 1], a) ^ a;a = rotateRight(a - rk[2 * i], b) ^ b;}b -= rk[1];a -= rk[0];return packLong(a, b);}}private static int rotateLeft(int x, int y) {return (x << (y & 31)) | (x >>> (32 - (y & 31)));}private static int rotateRight(int x, int y) {return (x >>> (y & 31)) | (x << (32 - (y & 31)));}private static long packLong(int a, int b) {return ((long) a & 0xffffffffL) | ((long) b << 32);}
}

启动后获得类似的结果

第三步,启动charles,填入获得的name 和key

点击注册即可激活了,重启后声小

相关文章:

  • 【Python语言基础】22、异常处理
  • 练习(杨辉三角、字符串旋转)
  • 轻量化高精度的视频语义分割
  • std::unordered_set(C++)
  • 黑马点评:附近商铺+用户签到+UV统计【学习笔记】
  • Spring Boot资源耗尽问题排查与优化
  • Agent的九种设计模式 介绍
  • 基于PySide6与pyCATIA的圆柱体特征生成工具开发实战——NX建模之圆柱命令的参考与移植
  • 在 Babylon.js 中实现智能异步资源加载队列管理
  • React 事件处理基础
  • eNSP无法启动AR报错码40,而且按照eNSP帮助手册排查都没用,我的处理方法【自己存档版】
  • 关于使用webpack构建的vue项目,如何使用windicss
  • 移植的LVGL显示三分之二白屏三分之一灰屏 [正点原子探索者]
  • 53、对 $nextTick异步渲染的理解
  • Selenium 选择器定位元素方式详解
  • AI Agents系列之AI代理架构体系
  • ubuntu 22.04 使用ssh-keygen创建ssh互信账户
  • 基于Atlas 800I A2 + Ubuntu 22.04 LTS 离线部署神州鲲泰问学一体机平台
  • Axure PR 9 中继器 10 编辑行
  • HTTP 核心概念
  • 受贿超8.22亿,新疆维吾尔自治区党委原副书记李鹏新一审被判死缓
  • “6+2”小复式追加票!松江购彩者擒大乐透1672万头奖
  • 解放日报:订单不撤,中国工程师有能力
  • 30小时已过,俄罗斯复活节停火不再延长
  • 人民文学奖颁出,董宇辉获传播贡献奖
  • 大悦城:去年净亏损29.77亿元,三年累计亏损超70亿元