开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2133|回复: 6
收起左侧

[已解决] 帮忙将一段java代码翻译成易语言代码

 关闭 [复制链接]
结帖率:100% (3/3)
发表于 2013-7-8 20:17:42 | 显示全部楼层 |阅读模式   湖北省武汉市
200精币
java code:
//偏移
private static final char[] h = { @, g, a, w, ^, 2, t, g, q, 6, 1, -, ?, ò, n, i };
int j = paramarrayofbyte.length;
for (int k = 0; k < j; k++)
{
        int m = k % 16;int tmp17_16 = k;
        paramarrayofbyte[tmp17_16] = (byte)(paramarrayofbyte[tmp17_16] ^ h[m]);
}
string str;
try
{
        str = new string(n.a(paramarrayofbyte), "utf-8");
}
catch (unsupportedencodingexception localunsupportedencodingexception)
{
        b("编码格式错误!" + localunsupportedencodingexception.tostring());
        return false;
}
b("数据解密成功!");

这是网上找的一段酷狗krc解密的代码,如果不能翻译,能够有krc解密的也行。


http://wenku.baidu.com/view/b7a3f2bb69dc5022aaea0061.html      百度百科上看来的,这是地址。

最佳答案

查看完整内容

我还因为你这个问题,特意百度了一下 酷狗歌词KRC的解密JAVA源码。发现有一个提供了一个完整的思路 http://tieba.baidu.com/p/1345282383 这个是地址 他这样说的: 1.将酷狗krc文件的前4个字节不要,在末尾加上4个0字节 2.对这些字节进行循环异或解密 3.将上面解密后的字节进行zlib解压缩 然后就是明文了,粘贴一段 原理是有了,但是我们没有酷狗最新歌词加密的 密钥,也就是 你提供代码的 那个 申明的16长度的字符串数组。 万 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:33% (1/3)
发表于 2013-7-8 20:17:43 | 显示全部楼层   陕西省宝鸡市
我还因为你这个问题,特意百度了一下 酷狗歌词KRC的解密JAVA源码。发现有一个提供了一个完整的思路
http://tieba.baidu.com/p/1345282383
这个是地址
他这样说的:

1.将酷狗krc文件的前4个字节不要,在末尾加上4个0字节
2.对这些字节进行循环异或解密
3.将上面解密后的字节进行zlib解压缩

然后就是明文了,粘贴一段

原理是有了,但是我们没有酷狗最新歌词加密的  密钥,也就是 你提供代码的 那个 申明的16长度的字符串数组。
万一变了的话也就无法解密了

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻

查看全部评分

回复

使用道具 举报

结帖率:50% (1/2)
发表于 2013-7-8 21:48:55 | 显示全部楼层   浙江省杭州市
转换前是啥效果 转换后是啥效果 。。 可以提供样本瞅瞅?
回复

使用道具 举报

结帖率:33% (1/3)
发表于 2013-7-8 23:08:28 | 显示全部楼层   云南省昆明市
兄弟,你这个代码首先不全。其次。估计也是很久以前的,酷狗肯定都更新了他的 加密KEY了
我给你说一下你发的代码的意思
private static final char[] h = { @, g, a, w, ^, 2, t, g, q, 6, 1, -, ?, ò, n, i };
这个定义了一个个 静态的不可再次赋值的字符串变量 h 易语言里面叫做 字符串数组 长度 16
int j = paramarrayofbyte.length;
这个定义了一个整数型的变量 j 来存储  字节集数组 paramarrayofbyte  的长度,也就是易语言里面的字节集长度
for (int k = 0; k < j; k++)
{
        int m = k % 16;int tmp17_16 = k;
        paramarrayofbyte[tmp17_16] = (byte)(paramarrayofbyte[tmp17_16] ^ h[m]);
}
这一段代码 是一个for 循环,循环次数是 j次,也就是 paramarrayofbyte 这个字节集长度的次数
循环的里面  
int m = k % 16;
定义一个 整数型m 存储  k这个循环变量与16取余 的结果 (1和16取余 =1  2和16 取余=2 ... 16和16取余=0)
int tmp17_16 = k;
这个是定义一个中间变量 tmp17_16 把当前循环的位置赋值给它,也就是k的值赋值给了它
paramarrayofbyte[tmp17_16] = (byte)(paramarrayofbyte[tmp17_16] ^ h[m]);
这个代码是:^这个符号是 异或 运算 完全写法叫:xor ,作用是,把 循环位置的字节与前面定义的密钥字符串中的 m位置 的字符的字节 异或的结果 转换到 字节再赋值给 paramarrayofbyte[tmp17_16]
循环完了的话,就是 按照循环把每一个 字节集按照密钥 一次异或一次
最后获得的字节集 下面的 那个 n.a()方法 因为代码有限,没看懂。
n.a()方法 ,这个方法没有所以不知道是干什么的。
如果只 用你上面提供的代码,是无法完成 解密的
希望能帮助你
回复

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2013-7-9 03:26:05 | 显示全部楼层   湖北省武汉市
宝导龍 发表于 2013-7-8 23:10
我还因为你这个问题,特意百度了一下 酷狗歌词KRC的解密JAVA源码。发现有一个提供了一个完整的思路
http:/ ...

谢谢亲哦,我刚刚从酷狗网页版swf里面提取的代码。
关于krc解密的,希望能帮我看看。
http://pan.baidu.com/share/link? ... 6&uk=3456216348
存在百度云盘了。
回复

使用道具 举报

结帖率:33% (1/3)
发表于 2013-7-9 15:05:03 | 显示全部楼层   四川省成都市
思雪° 发表于 2013-7-9 03:26
谢谢亲哦,我刚刚从酷狗网页版swf里面提取的代码。
关于krc解密的,希望能帮我看看。
http:// ...

我昨天睡得太晚了,现在才起床。。。呵呵
昨天在看一些教程
回复

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2013-7-9 15:05:13 | 显示全部楼层   湖北省武汉市
@宝导龍 亲,你加我QQ聊吧。[qq]130971972[/qq]
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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