众所周知,Java编译后的Jar包和Class文件,可以轻而易举的使用反编译工具(如JD-GUI)进行反编译,拿到源码。
为了保护自己发布的Jar包和Class文件,采用的方式大多是混淆方式,这种方式对于Class文件的加密是不彻底的,还是能够通过分析得出核心算法。
本工具是采用jvmti方式对Class文件进行加密,使用C++生成加密和解密库,先用加密库对Jar包进行加密,将加密后的Jar包及解密库文件发布出去,执行时候需要JVM引入解密库文件,解密后执行。
c++的.dll文件和.so文件的破解难度是很大的,这就能有效的保护软件和代码的知识产权.使用方法:1.打开windows命令行(运行=>cmd=>回车),在命令行中进入EncryptJar目录2.执行java-jarencrypt.jar3.输入h,然后回车,可以看到帮助菜单4.输入3,然后按回车键,进入加入jar文件功能5.输入要加密的jar文件的路径6.提示输入秘钥(key)的时候,直接回车,不要输入任何字符(否则后面classhook将不可解密加密后的jar包)7.输入目标路径(加密后的jar文件路径,此处要注意:jar文件名要保持相同,将加密后的文件保存到不同的目录)8.将加密后的jar包,替换原来的没有加密的jar包,与要发布的程序一起进行发布.(一般替换lib目录下对应的jar包即可)9.加密后的jar包运行方法:windows下:拷贝libClassHook.dll文件到程序的根目录(通常为要执行的jar程序的根目录)使用以下命令启动程序:java-agentlib:libClassHook-jarxxxxxxxxxxx.jar则在运行过程中会自动进行解密操作(解密过程是运行过程中用c++的dll进行解密的,可以有效防止破解class文件)如果执行过程报错,可将程序根目录添加到环境变量path中去Linux下:拷贝libClassHook.so到程序的根目录(通常为要执行的jar程序的根目录)使用以下命令启动程序:java-agentlib:ClassHook-jarxxxxxxxxxxx.jar(这里要删除掉lib,linux系统下会自动补全)则在运行过程中会自动进行解密操作(解密过程是运行过程中用c++的dll进行解密的,可以有效防止破解class文件)如果执行过程报错,可以在程序根目录下执行以下语句:exportLD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH或将libClassHook.so拷贝到/usr/lib目录中去。
支持操作系统:加密请在windows64位系统并安装了64位jdk环境下进行。
需要解密运行的程序支持LINUX(64位)和windows(64位)安装了JDK1.8以上的系统。
测试程序:(t_lib目录下的jar包为经过加密的jar包)java-agentlib:libClassHook-jartest.jar
1
厌倦了安装Androidstudio怎么装都装不上,各种错误?英文看不懂?这里有极为方便的方法,顺便附有汉化包放到安装路径的lib目录中,重启软件即可不需要重命名,不需要解压,不需要删除任何jar包直接替换使用,默认安装目录:C:\ProgramFiles\Android\AndroidStudio\lib替换文件即可
2023/8/11 6:51:08 26.08MB Andrion 中文补丁 移动开发
1
找到相应的替换路径,我的路径如下H:\Anaconda3\Lib\site-packages\visdom,根据你环境的安装位置找打sever.py,解压以后替换原来的static
2023/8/9 20:38:40 1.07MB visdom
1
替换掉安装目录下的lib即可,不会的留言
2023/8/7 11:41:01 2.95MB hadoop native
1
最近项目用到播放RTSP视频流,研究了一阵子,初步写了个demo,放出源码,QT实现RTSP视频流播放这块例子比较少,而且大部分不可用,不是缺lib库就是缺运行库等,就算几个可用的VLC,QTAV,播放视频的速度及画面呈现质量实在不敢恭维,特意编写了此DEMO,全部放出代码以供学习
2023/8/6 3:33:06 13KB RTSP QT
1
一个小程序源代码,用VC6编写,直接可以运行记得编译后添加ws2_32.lib库文件
2023/8/5 2:01:02 12KB socket C++ 异步
1
sqlite3提供了加密函数,但没有实现。
本源码在sqlite最新版本sqlite3.7.7.1的基础上实现了加密函数。
下载源码后使用vs2010打开工程编译,生成sqlite3.lib和sqlite3.dll。
使用时,把sqlite3.lib和sqlite3.dll链接到你的工程中,在sqlite3_open后使用sqlite3_key(db,szPassword,nPasswordLen);,其他和未加密的库使用方法一样。
2023/8/3 23:06:56 8.19MB vs2010 sqlite3 支持加密 编译
1
在goldboar写的SM2签名及验签函数(http://download.csdn.net/detail/goldboar/3833072)的基础上,改写的一个纯粹用来做SM2签名验证的函数,编译时需要用到OpenSSL的头文件和库文件(libeay32.lib或libeay32.dll),与goldboar的程序区别如下:1.仅用于做验签,不能签名;
2.验签使用外部传入的SM2公钥,SM2公钥以(x,y)坐标形式传入;
3.签名也是以(r,s)坐标形式传入;
4.增加了一些内存清理语句,内存泄漏有改善;
5.goldboar的程序中使用的ECC参数是示例参数,不是GM/T0003.5-2012规范中定义的参数,这里的验签函数中采用的是规范中定义的参数。
6.将一些对椭圆曲线参数的验证操作放入_DEBUG宏限制的范围内。
因为参数是规范推荐的,已经过验证,所以在程序中无需再验证。
将这些验证语句放入_DEBUG宏限制的范围内以后,如果编译release版本时就不会包含这些验证语句,效率可以有一点提升。
2023/8/1 9:21:04 5KB SM2 数字签名
1
从vs2005中提取出的OpenGL中32位和64位的GlAux.lib和GlAux.h文件.两种平台的64位lib文件
2023/7/31 17:03:27 408KB 32_64GlAux
1
VC编译中出现以下错误时:LINK:fatalerrorLNK1104:cannotopenfile'uafxcwd.lib'解决方法1.菜单project-》settnigs-》link-》Object/Librarymodules:中添加uafxcwd.lib(win7下亲测可用)2.如果还是不行,选择vc的全部安装,而不是默认安装如果是unicode,可以用vc盘修复一下vc,钩选相关项。
如果以上方法不行,可以试试下面的方法。
说明:uafxcwd.lib多见于VC6编译过程中,有时候会遇到“fatalerrorLNK1104:cannotopenfile"uafxcwd.lib"”,意思是找不到uafxcwd.lib库文件,你可在此下载,存放在提示的路径下即可,若缺少这个文件而不修复的话,VC项目可能无法编译成功。
如果系统提示“没有找到uafxcwd.lib”、“缺少uafxcwd.lib文件”或者无法加载uafxcwd.lib等提示信息,您需要下载uafxcwd.lib后,拷贝到提示的路径里或在系统内安装注册该文件即可。
  安装及使用方法(仅供参考,本方法对BPL文件无效):  ①将下载解压的uafxcwd.lib文件复制到C:\Windows\System32系统目录下(请注意:Win7、Vista的系统目录请以实际为准);
  ②打开“开始”菜单-选择“运行”,输入“regsvr32uafxcwd.lib”,在接下来的窗口中按回车确认即可完成控件注册。
  ③如果在运行某一软件或程序编译时提示缺少、没有找到uafxcwd.lib等类似提示,您可按照提示的路径将lib拷贝到指定目录即可,或者重新添加文件引用。
2023/7/31 8:21:57 3.18MB fatal error LNK1104 uafxcwd.lib
1
共 871 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡