「java加壳」java如何添加jar包

博主:adminadmin 2023-03-19 01:28:07 436

今天给各位分享java加壳的知识,其中也会对java如何添加jar包进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java软件如何加壳成mpkg ,用什么工具?

很简单。网上搜一个jar加了mpkg外壳的软件。(motobbs.com里有这样的UC7.8)。改文件缀名为.tar.gz。解压,得到文件夹。把里边的那个*.jar(假设newjar.jar)替换成你想要的(注意文件名改成newjar.jar)。还没完,flie文件夹里现在还少东西。你需要先安装一下自己后来的newjar.jar。在.system/java/Downapps/MIDlet*****/file里找到newjar.apnewjar.ii之类的小文件。然后复制出来,用这些替换那个外壳中的小文件。

然后压缩,改缀名为.mpkg然后就能安装了。

844625102@qq 不明白的还可以讨论

如何对java的class类进行加密

可以使用Virbox Protector Standalone 加壳工具对java的class类进行加密,支持各种开发语言的程序加密。可防止代码反编译,更安全,更方便

产品简介

Virbox Protector Standalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改。

Virbox Protector Standalone 将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟程序执行,进入和离开虚拟机都有高级代码混淆。虚拟机配合代码混淆可以达到很好的保护效果,尤其是开发者的私有逻辑。高级混淆利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。应用程序的解压缩含有动态密码,让一切自动脱壳工具失效,有效的阻止.Net、PE 程序的直接反编译。

特点

多种加密策略:代码虚拟化、高级混淆、智能压缩

性能分析:智能分析引擎,一键分析各个函数模块调用的次数

支持多种开发语言:多种开发语言加壳支持

源码级保护:保护到汇编级别,c#保护IL级别

免费更新:免费版本升级

用JAVA编写一个可执行程序的加壳和脱壳程序。 如果被采纳,加分多多。或者直接联系我。

JAVAJDK本身就有几个类是用来加密的,调用就可以了。

看一下这个教程吧

求教如何使用java编写加壳程序

这个问题就需要来谈谈壳的架构问题了。

壳的三大架构

1.最早的壳几乎都是virus演化来的,大部分都是汇编直接写的。

好处就是直接可以把汇编代码复制出来当作壳的loader代码添加(感染)到程序上

知名的比如aspack,upx,telock,PESpin

2.随着对于反调试要求越来越高,功能越来越多,代码一多就难以维护。

于是诞生了新的壳架构,功能采用DLL开发,使用loader来加载

这里有两个变种:

ShellCode Loader + DLL ASProtect。Themida,ACProtect等等你所熟悉的加密壳绝大部分都是这样的架构

memory loader + DLL bigfoot为代表的bambam,ZProtect,eXPressor,npack,ChinaProtect等等

这种架构简单,好维护,更好调试。其实许多其他壳或多或少的都使用这两种架构

3.对于一些纯VM的保护壳,由于没有固定代码(VMProtect等)

所以对于这样的需求首先你需要一个codegen(这个东东将陪伴你写壳的一生)

而且对于codegen其实完全可以构造一个完整的壳代码(调试比较麻烦)

不管什么语言开发的加壳软件最终都要回到opcode操作上,而对于opcode其实用神马语言都差不多

这三种架构介绍完了。那么谈谈java写壳的问题吧

其实可以简单的从语言优势上来解答:

如果说开发第三种壳用啥其实都差不多,Java和C#说不定更有优势。

上面我们说到codegen的问题,真正不适合开发的地方其实主要是在各种地址转换上面,

反汇编引擎反汇编的都是opcode结构,然后再将这些opcode串联起来构造出AST,省下的就是mutation,vm,还是其他等等操作了,

如果单纯为了解决opcode---AST(Abstract Syntax Tree抽象语法树)解决了地址转换这个问题的话其实汇编,C\C++还是Java都差不多。

反而由于Java和C#这些语言有很好的容器可以更好的来控制对象

opcode生成其实也不是难事,这些用Java还是C++其实都差不多。

真正的难点就在于上面所说的壳Loader的开发上,不管是汇编,C\C++,Delphi(不管在国内外特别是国外其实许多壳都是Delphi开发的)

都可以直接开发DLL,直接拿来变形后塞进原始程序当作壳的Loader Main部分。

而Java就只能从codegen来构造壳代码了。。。

这是一件很痛苦的事情(相信我~如果你用过Java写过c语言编译器-带连接器的那种你就会明白痛苦了)

综上所述~介于楼主的语言选择问题,估计多数是只会Java,或者需要在web层调用。

那么最好的办法还是壳主体ASM,C\C++来开发,然后开发成命令行版本,然后Java调用这个模块。

架构就这样了,剩下的就是动手操作了

求教Java web项目一般怎样做代码混淆或加密

一、java web项目混淆

proguard4.8工具,说是支持war的,可混淆过后少了classes目录了,自然成功不了。网上搜的过程不详说了,最后找着--“J2EE-web工程ProGuard代码混淆07_28”,网址:

根据提示一步步完成。

把web项目打成jar包后用proguard进行混淆,然后把混淆过后的class目录替换发布包war中的对应目录,启动运行是正常的。

主要注意利用proguard生成xxx.pro文件,然后手动加工-keep class WebRoot.WEB-INFO.lib.* 等项目中不需要混淆的包和类。

二、java web项目打成.exe

没找到免费的,这搜到个收费的--Jinstall,试了下功能挺好,

可以加密、集成jdk、tomcat,如果数据库是mysql也集成,其他数据库的话要设置数据库的url.

【转】如何保护Java代码

以下从技术角度就常见的保护措施 和常用工具来看看如何有效保护java代码:1. 将java包装成exe 特点:将jar包装成可执行文件,便于使用,但对java程序没有任何保护。不要以为生成了exe就和普通可执行文件效果一样了。这些包装成exe的程序运行时都会将jar文件释放到临时目录,很容易获取。常用的工具有exe4j、jsmooth、NativeJ等等。jsmooth生成的exe运行时临时目录在exe所在目录中或是用户临时目录 中;exe4j生成的exe运行时临时目录在用户临时目录中;NativeJ生成的exe直接用winrar打开,然后用zip格式修复成一个jar文件,就得到了原文件。如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。2. java混淆器特点:使用一种或多种处理方式将class文件、java源代码进行混淆处理后生成新的class,使混淆后的代码不易被反编译,而反编译后的代码难以阅 读和理解。这类混淆器工具很多,而且也很有成效。缺点:虽然混淆的代码反编译后不易读懂,但对于有经验的人或是多花些时间,还是能找到或计算出你代码中隐藏的敏感内容,而且在很多应用中不是全部代码都能混淆的,往往一些关键的库、类名、方法名、变量名等因使用要求的限制反而还不能混淆。3. 隔离java程序到服务端特点:把java程序放到服务端,让用户不能访问到class文件和相关配套文件,客户端只通过接口访问。这种方式在客户/服务模式的应用中能较好地保护java代码。缺点是:必须是客户/服务模式,这种特点限制了此种方式的使用范围;客户端因为逻辑的暴露始终是较为薄弱的环节,所以访问接口时一般都需要安全性认证。4. java加密保护特点:自定义ClassLoader,将class文件和相关文件加密,运行时由此ClassLoader解密相关文件并装载类,要起到保护作用必须自定 义本地代码执行器将自定义ClassLoader和加密解密的相关类和配套文件也保护起来。此种方式能很有效地保护java代码。缺点:可以通过替换JRE包中与类装载相关的java类或虚拟机动态库截获java字节码。 jar2exe属于这类工具。5. 提前编译技术(AOT) 特点:将java代码静态编译成本地机器码,脱离通用JRE。此种方式能够非常有效地保护java代码,且程序启动比通用JVM快一点。具有代表性的是GNU的gcj,可以做到对java代码完全提前编译,但gcj存在诸多局限性,如:对JRE 5不能完整支持、不支持JRE 6及以后的版本。由于java平台的复杂性,做到能及时支持最新java版本和JRE的完全提前编译是非常困难的,所以这类工具往往采取灵活方式,该用即时编译的地方还是 要用,成为提前编译和即时编译的混合体。缺点:由于与通用JRE的差异和java运用中的复杂性,并非java程序中的所有jar都能得到完全的保护;只能使用此种工具提供的一个运行环境,如果工具更新滞后或你需要特定版本的JRE,有可能得不到此种工具的支持。 Excelsior JET属于这类工具。6. 使用jni方式保护特点:将敏感的方法和数据通过jni方式处理。此种方式和“隔离java程序到服务端”有些类似,可以看作把需要保护的代码和数据“隔离”到动态库中,不同的是可以在单机程序中运用。缺点和上述“隔离java程序到服务端”类似。7. 不脱离JRE的综合方式保护特点:非提前编译,不脱离JRE,采用多种软保护方式,从多方面防止java程序被窃取。此种方式由于采取了多种保护措施,比如自定义执行器和装载器、加密、JNI、安全性检测、生成可执行文件等等,使保护力度大大增强,同样能够非常有效地保护java代码。缺点:由于jar文件存在方式的改变和java运用中的复杂性,并非java程序中的所有jar都能得到完全的保护;很有可能并不支持所有的JRE版本。 JXMaker属于此类工具。8. 用加密锁硬件保护特点:使用与硬件相关的专用程序将java虚拟机启动程序加壳,将虚拟机配套文件和java程序加密,启动的是加壳程序,由加壳程序建立一个与硬件相关的 受保护的运行环境,为了加强安全性可以和加密锁内植入的程序互动。此种方式与以上“不脱离JRE的综合方式保护”相似,只是使用了专用硬件设备,也能很好地保护java代码。缺点:有人认为加密锁用户使用上不太方便,且每个安装需要附带一个。从以上描述中我们可以看出:1. 各种保护方式都有其优缺点,应根据实际选用2. 要更好地保护java代码应该使用综合的保护措施3. 单机环境中要真正有效保护java代码,必须要有本地代码程序配合当然,安全都是相对的,一方面看你的保护措施和使用的工具能达到的程度,一方面看黑客的意愿和能力,不能只从技术上保护知识产权。总之,在java 代码保护方面可以采取各种可能的方式,不可拘泥于那些条条框框。

java加壳的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何添加jar包、java加壳的信息别忘了在本站进行查找喔。