-
-
[原创]java外壳保护原理
-
发表于: 2016-9-14 22:15 4162
-
好长时间没有碰过java加解密了,今天拿出来翻翻
先随便写一个可以运行的Java文件 编译成xxx.class文件,然后在文件尾部添加一段标志数据。现在的xxx.class文件再用Java xxx已经报错了,就理解成xxx.class文件已经被我们加密了吧
如果想正确运行这个文件该怎么办呢?现在就提到了正题,使用JVMTI技术。
这个JVMTI是java虚拟机调试接口,具体的大家网上搜索就行了。
下面举个栗子:
加密代码:
#include <stdio.h> #include <windows.h> BYTE EncryptFlag[10] = { 0x73, 0x75, 0x70, 0x65, 0x72, 0x5F, 0x6D, 0x69, 0x6D, 0x69 }; //随意加的加密标记 int main() { HANDLE hFile = CreateFile("Jvmti.class", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING,NULL,NULL); if (hFile == NULL) { CloseHandle(hFile); return 0; } SetFilePointer(hFile, 0, 0, FILE_END); DWORD dwnum = 0; BOOL is_Write = WriteFile(hFile, EncryptFlag, 10, &dwnum, NULL); if (!is_Write) { printf("写入失败!\n"); CloseHandle(hFile); return 0; } printf("写入成功!\n"); getchar(); return 0; }
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏记录
参与人
雪币
留言
时间
飘零丶
为你点赞~
2024-5-31 07:41
shinratensei
为你点赞~
2024-5-31 07:32
一笑人间万事
为你点赞~
2023-2-20 02:05
赞赏
他的文章
- [讨论]有必要去报英语培训班吗 2480
- [求助]怎样在内核下获取当前活动的窗口 3429
- [求助]哪位老哥有驱网帐号,或者帮忙下个东西 2770
- [求助]有没有透明加解密 双缓冲的开源代码 3514
看原图
赞赏
雪币:
留言: