导航:首页 > 源码编译 > jar编译混淆变量名

jar编译混淆变量名

发布时间:2022-02-24 22:16:26

A. java 代码导出jar包 混淆的问题

可以用proguard混淆,proguard有个混淆配置文件,应该能达到楼主的要求

B. JAVA 有对源代码进行混淆的混淆器么

不需要对源代码混淆。class有这种功能的,在J2ME中混淆是必须的,结果跟你说的一样,不过原理不是你那么走的,混淆以后的class反编译也会让人看不懂,全部变成了a,b,c,d这样的名字。

C. 反编译的java源码,里面全是abcdef的类名和包名,如何解决

这是被混淆过的jar包。
没有被混淆是可以反编译出来的。

D. android jar包混淆怎么把所有的包名和类名都改写成abcdef这种不规则命名,在线等研究一天了

这个要说起来就太复杂了,简短的回复一下你。首先强调一下混淆的目的就是不让别人能反编译看懂你的代码。包名和类名就相当于PC上的路径名(你可以把它理解为稳定的定位符);清晰的包名类名,能让你很容易定位到文件和方法,改成abcd这简短的名称之后,就使人无法轻易看懂代码了。

E. android jar包类名如何混淆成方框

一、如何指定某个包不被混淆

不被混淆的包下放一个指定不被混淆的class,这样该包名就不会被混淆

举例demo原有目录结构如下:

图1-1

指定MainActivity不被混淆

-keep public class * extends android.app.Activity # 保持哪些类不被混淆

-flattenpackagehierarchy 'yjrtest' #重新包装所有重命名的包并放在给定的单一包中

混淆后的目录结构如下:

图1-2

可以看出除了MainActivity所在的包没有被混淆之外其他的包名都被混淆了。

F. jar 反编译后 可读性很差,包名,类名全是一大串的0oo0 原因与解决办法

这个是用混淆器把代码混淆了。
原作者会这样做是不希望反编译的代码被人看懂,可能是个人原因也可能是出于保密
没有解决办法,有耐心的话理论上挨个程序分析可以破解。

G. 提供给别人使用的jar包怎么混淆

1)导出jar包
如何在eclipse上android工程中导出jar包?google,.bing
2)混淆jar包,打乱代码
android的jar包跟普通的java的jar包不一样,我们不想打乱一些activity或者server等跟系统打交道的代码,这是因为如果把这些也混淆了,那你还需要搞清楚混淆后这些activity变成了什么名字,然后告诉使用你这个jar包的人androidmanifest.xml中增加这些打乱了名字的activity。
混淆jar包用到的工具是proguard,可以在android SDK里面找到,如我的是在...\adt-bundle-windows-x86-20130219\sdk\tools\proguard。
运行sdk\tools\proguard\bin\proguardgui.bat,运行界面如下,如果点击next,会发现这些配置很难配(全英文,又很杂)。
其实这里直接导入一个cfg文件就可以了,单击下图右下角的Load Configuration,然后选择配置文件。

配置文件又要怎么写?找到android工程里面的proguard.cfg文件,这个文件是用来混淆apk代码的配置文件,我们现在是要混淆jar包的代码,当然不能直接用。看下面是proguard.cfg的配置,配置会保留activity和server等一些类。这些配置都是不用改的,可以直接拿来用。
?

-optimizationpasses5
-dontusemixedcaseclassnames
-
-dontpreverify
-verbose
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*

-keeppublic class *extends android.app.Activity
-keeppublic class *extends android.app.Application
-keeppublic class *extends android.app.Service
-keeppublic class *extends android.content.BroadcastReceiver
-keeppublic class *extends android.content.ContentProvider
-keeppublic class *extends android.app.backup.BackupAgentHelper
-keeppublic class *extends android.preference.Preference
-keeppublic class com.android.vending.licensing.ILicensingService

- *
{
native <methods>;
}

-keepclasseswithmembersclass *
{
public <init>(android.content.Context,
android.util.AttributeSet);
}

-keepclasseswithmembersclass *
{
public <init>(android.content.Context,
android.util.AttributeSet, int);
}

-keepclassmembersclass *extends android.app.Activity
{
public void *(android.view.View);
}

-keepclassmembersenum *
{
public static **[]
values();
public static **
valueOf(java.lang.String);
}

-keepclass *implements android.os.Parcelable
{
public static final android.os.Parcelable$Creator
*;
}

将上面的配置增加几行改成如下,并重新命名文件为:test.pro
?

-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*

//...begin
#混淆后的导出jar包的位置和jar包名
-outjars'E:\test_after.jar'

#原始jar包的位置和jar包名
-injars'E:\test.jar'

#jar包依赖的其他库的位置和名称
-libraryjars'E:\workspace\beautytilepuzzle\libs\alipay_msp.jar'
-libraryjars'E:\workspace\beautytilepuzzle\libs\android-support-v4.jar'
-libraryjars'E:\android\adt-bundle-windows-x86-20130219\sdk\platforms\android-10\android.jar'

#下面的Test类将不会被混淆,这样的类是需要被jar包使用者直接调用的
-keeppublic class com.example.Test
{
public <fields>;
public <methods>;
}
//...end

-keeppublic class *extends android.app.Activity

现在Load Configuration里选择上面test.pro,一直next,最后混淆后的jar包就是E://test_after.jar。
用winrar打开jar包,会发现除了Test.class,一些继承自activity等的class外,其他的类都被abcdefg这样的字母给混淆了。
提醒:如果你把上面配置直接拷贝过去,是会失败的,请将文件里的#号后的中文注释去掉,或者改成英文的。

H. 混淆后的jar文件反编译为a.class,b.class等该怎么看

混淆的目的就是不让你轻易看懂的,你若轻易看懂,还要混淆作甚

I. 如何混淆Java编译后的类或jar,或将jar编译成exe,使人无法反编译获得源代码

混淆就可以了
我一直在用proguard4.5.1做Java项目的混淆

J. j2me 生成jar包时加混淆代码的问题

这个和你用的混淆器有关。在调用混淆器的时候配置一下就行了。

比如用ProGuard,你先运行eclipse,选择菜单windows-preferences-j2me-obfuscation,在这里先指定正确的Proguard的根目录,下面是配置Proguard keep eXPressions就是所保存的类,在表格里就要有public class * extends javax.microedition.midlet.MIDlet,因为你不能把midlet的类名都混淆,要不然调用的时候找不到入口。

阅读全文

与jar编译混淆变量名相关的资料

热点内容
如何解锁平板电脑的加密 浏览:990
长沙社保是什么app 浏览:860
单片机的位寻址 浏览:851
服务器怎么设置内网穿透 浏览:753
pdf转jpg工具注册码 浏览:409
php上传进度百分比 浏览:923
江苏服务器阵列卡驱动云主机 浏览:416
魔兽世界怎么切换回服务器 浏览:226
如何使用java编程 浏览:191
win8c语言编程软件 浏览:407
cc是程序员必须学会的语言吗 浏览:594
广东源码论坛小程序 浏览:423
美团打车什么时候出的APP 浏览:370
chromejava插件安装 浏览:374
帅气牛仔用什么app 浏览:503
服务器read卡怎么查看型号 浏览:706
zcat命令 浏览:112
单片机程序案例 浏览:123
透传程序员 浏览:749
java连接字符串数组 浏览:752