一类文件反编译后,怎么看不懂了??而且再编译,也通不过,急啊~~~

wantvictory 2003-08-21 03:16:42
部分代码如下:

public static final long LOG_TO_SCREEN = 0x8000000000000000L;
public static final long LOG_TO_FILE = 0x4000000000000000L;
public static final long LOG_EXCEPTION = 0x2000000000000000L;
public static final long LOG_BUFFER = 0x800000000000000L;
-----------------------------------------------------------------------

“0x8000000000000000L”这些怪怪的东西不是在写程序时写进去的吧 那好像很麻烦啊
...全文
118 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wantvictory 2003-08-23
  • 打赏
  • 举报
回复
up
prokingvov 2003-08-23
  • 打赏
  • 举报
回复
upup
ralihm 2003-08-23
  • 打赏
  • 举报
回复
给你看一段代码加混淆器的前后效果:反编译器是Java源代码反编译专家
原代码:
String closeWord="Close now";
String SuccOpe="OK The Operate is OK";
String FailOpe="Fail The Operate is Fail";
boolean isWork=true; //控制run是否运行



private CyberIpc(){ //构造函数
}

未加混淆器反编译的效果:
String closeWord;
String SuccOpe;
String FailOpe;
boolean isWork;

private CyberIpc()
{
closeWord = "Close now";
SuccOpe = "OK The Operate is OK";
FailOpe = "Fail The Operate is Fail";
isWork = true;
}

下面是加混淆器的效果://混淆器是retroguard,基本上已经不能理解每个变量的意义了.
这样,我们即使对程序反编译了,也很难理解程序.

String _fldtry;
String _fldif;
String _fldfor;
boolean _fldint;

private b()//构造函数(注意名称已经改变了
{
_fldtry = "Close now";
_fldif = "OK The Operate is OK";
_fldfor = "Fail The Operate is Fail";
_fldint = true;
}


jkit 2003-08-22
  • 打赏
  • 举报
回复
0x8000000000000000L 一点都不怪呀? 16进制数而已!
wantvictory 2003-08-22
  • 打赏
  • 举报
回复
to davidTIm(david):
我是用 “Java源代码反编译专家”反编译的,它的内核是jad ,不知其它的什么工具和jad配合比较好,最好能支持目录级的反编译(有下载地址会更完美)。谢谢!
---------------------------------------------------------
to ralihm(raly):
你确信这是经混淆处理过的代码吗?请详细指导
--------------------------------------------------------
to jkit(堕落的程序员):
0x8000000000000000L 是16进制long型的 但是程序中有上百处这样的16进制数,我想程序起初是不会有这些东东的 ,不知有什么更好的方法来更快的读懂这些代码?请帮忙.
rex0y 2003-08-22
  • 打赏
  • 举报
回复
抛开阅读上的问题,反编译出来 代码 一般会有些小问题, 我遇到好几次了
farmer0512 2003-08-22
  • 打赏
  • 举报
回复
不能重新编译的原因应该和扰乱码没有关系,因为扰乱码只能扰乱你对反编译后代码的阅读,对主体程序没有影响,无法编译的原因可能是引入(import)的包不存在。
jkit 2003-08-22
  • 打赏
  • 举报
回复
另外,如果是混淆器弄出来的话,反编译成原始样子的可能性就不大了。
jkit 2003-08-22
  • 打赏
  • 举报
回复
程序起初就是这样子的,如果是我也会这样写的! 毕竟0x8000000000000000L 要比9223372036854775808L 好看的多。
Jane000 2003-08-21
  • 打赏
  • 举报
回复
什么是混淆器,有什么用
zcjl 2003-08-21
  • 打赏
  • 举报
回复
这就是混淆器的奥妙了
不过到底是怎么弄的
我也不晓得
:)
ralihm 2003-08-21
  • 打赏
  • 举报
回复
别以为人家写的东西这么容易就可以反编译过的.

我将我自己的程序编译后加入混淆器再反编译也是这个样子的.

建议你再找其他的反编仪器.
或者试图猜出作者的想法重新写阿
davidTIm 2003-08-21
  • 打赏
  • 举报
回复
你可以用反编绎工具,网上有好多,你去找一找
wantvictory 2003-08-21
  • 打赏
  • 举报
回复
自己帮自己up
wantvictory 2003-08-21
  • 打赏
  • 举报
回复
自己帮自己up
wantvictory 2003-08-21
  • 打赏
  • 举报
回复
怎么没人来啊??
up一下也行啊,要不20分给谁呢?

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧