使用Proguard混淆J2ME应用程序

j2me反编译工具【超强】 j2me反编译工具,用他打开JAR文件能直接看里面的源码,也能打开calss查看里面的源码,百分百成功,本人试过 立即下载
 如果我们的开发的J2ME应用程序直接打包成JAR文件发布,那么存在被其他人反编译的可能。因为反编译class文件并不是一件困难的事情。为了保护我们的程序代码不被破解,我们可以使用混淆器Proguard。非常幸运的是eclipse已经把Proguard集成在一起了。

    Proguard是开源的软件,他是基于java语言写成的,因此他的运行需要java2运行环境。我们可以从http://Proguard.sourceforge.net 免费下载到。目前的最新版本为proguard3.0。把他解压缩安装在C:/proguard3.0.1。运行eclipse,选择菜单windows-preferences-j2me-obfuscation,在这里我们应该指定正确的Proguard的根目录,由于我们混淆的时候要保留扩展了MIDlet的类,不然程序将无法执行。所以在Proguard keep expressions中应该写public class * extends javax.microedition.midlet.MIDlet。请参考下图

 

 

 

 

 

 

 







 

 

 

    下面我们按照开发J2ME的应用程序一样编写代码、编译、预验证。为了节省时间,在这里略去这些步骤。以下面的代码为例演示如何使用proguard混淆J2ME应用程序:

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;

public class ImageGetter extends MIDlet implements CommandListener
{

    private Display display;
    public static final Command connCommand = new Command("Connect",
            Command.ITEM, 1);
    public static final Command exitCommand = new Command("Exit", Command.EXIT,
            1);
    private Form mainForm;
    private GetterThread gt;

    protected void startApp() throws MIDletStateChangeException
    {

        display = Display.getDisplay(this);
        mainForm = new Form("Image Getter");
        mainForm.append("Click Connect to get Image");
        mainForm.addCommand(connCommand);
        mainForm.addCommand(exitCommand);
        mainForm.setCommandListener(this);
        display.setCurrent(mainForm);
        gt = new GetterThread(this);
        gt.start();

    }

    public void setImage(Image image)
    {

        mainForm.append(image);
        display.setCurrent(mainForm);
    }

    protected void pauseApp()
    {

    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {

    }

    public void commandAction(Command cmd, Displayable disp)
    {
        if (cmd == connCommand)
        {
            synchronized (this)
            {
                notify();
            }
        } else if (cmd == exitCommand)
        {
            exitMIDlet();
        }
    }

    private void exitMIDlet()
    {
        try
        {
            destroyApp(false);
            notifyDestroyed();
        } catch (MIDletStateChangeException e)
        {
            e.printStackTrace();
        }
    }

    class GetterThread extends Thread
    {
        private ImageGetter midlet;
        public static final String URL = "http://localhost/j2medev.png";
        private HttpConnection httpConn = null;
        private InputStream is = null;

        public GetterThread(ImageGetter midlet)
        {
            this.midlet = midlet;
        }

        public void run()
        {
            synchronized (midlet)
            {
                try
                {
                    midlet.wait();
                } catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
            System.out.println("connect to server...");
            try
            {
                httpConn = (HttpConnection) Connector.open(URL);
                is = httpConn.openInputStream();
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                int ch = 0;
                while ((ch = is.read()) != -1)
                {
                    baos.write(ch);
                }
                byte[] imageData = baos.toByteArray();
                Image image = Image.createImage(imageData, 0, imageData.length);
                midlet.setImage(image);
                baos.close();
                is.close();
                httpConn.close();

            } catch (IOException e)
            {
                e.printStackTrace();
            }

        }
    }

}

右键选择项目GetImage-J2ME-create obfuscated package,这样proguard就会把除MIDlet之外的class文件混淆。如下图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 







 




在deploy文件夹内我们可以看到GetImage.jar、GetImage.jad和一些proguard产生的其他文件,你可以用jar命令解开GetImage.jar,发现他的另一个class文件已经被混淆成a.class了,MIDlet类则没有任何改变,Proguard除了混淆的功能之外同时会把我们的jar文件减小,提高一些运行效率。

 

 

proguard4.10.zip j2me最新版混淆器 j2me混淆器 最新 2013-07-30日更新的 立即下载

相关推荐

J2me代码混淆器 proguard4.2

J2me代码混淆器 proguard4.2,可以方便把JavaMe程序代码混淆成变量名及类名都用无意义的字母代替的代码

J2ME游戏破解心得暨反编译字节码操作研究

      最近换了一个新手机samsung F488E,终于可以在自己的手机上耍耍游戏了(以前开发J2ME的游戏,都是用的公司测试机)。于是疯狂的下载了一些适合触摸屏240*320的java游戏,其中有一款RPG游戏玩得很开心,可惜某些地方要发短信收费,一气之下动了破解的念头。以前做过J2ME的开发,熟知J2ME程序都会在最终发布的时候进行混淆编译,一是避免程序被反编译,二是可以大大的减小程序包

穿拖鞋写程序 4990

j2me混淆器安装与使用方法

j2me混淆器安装与使用方法 j2me混淆器安装与使用方法

J2ME打混淆包

1.先下载一个混淆器http://www.ij2me.cn/Html/DownLoad/down/index.htm  开发平台和工具里面下载打包混淆器proguard 3.4 2.然后解压 比如我是解压到D:/proguard3.4 3.配置:(我用的开发工具是Eclipse)windows->preferences->j2me->packaging->obfuscation  

七缀轩 3369

J2ME混淆打包工具proguard4.4.zip

最新版的J2ME混淆打包工具,具体使用方法网上到处都是,用于对J2ME程序进行混淆打包

DCA1000EVM数据采集实战:从mmWave Studio配置到MATLAB后处理的全链路解析

本文详细解析了DCA1000EVM数据采集的全流程,从mmWave Studio配置到MATLAB后处理,涵盖数据存储结构解析、后处理引擎剖析及Python数据处理方案。通过实战案例,帮助开发者高效处理毫米波雷达原始数据,实现从数据到应用价值的转化,提升开发效率。

weixin_33743661的博客 710

j2me混淆

如果我们的开发的J2ME应用程序直接打包成JAR文件发布,那么存在被其他人反编译的可能。因为反编译class文件并不是一件困难的事情。为了保护我们的程序代码不被破解,我们可以使用混淆器Proguard。非常幸运的是eclipse已经把Proguard集成在一起了。   Proguard是开源的软件,他是基于java语言写成的,因此他的运行需要java2运行环境。我们可以从http://Pro...

zhenlimeng1983的专栏 254

Mathtype公式下标深度调整技巧:解决固定行距下的显示不全问题

本文针对在Word等文档中设置固定行距时,Mathtype公式下标显示不全的问题,提供了专业解决方案。核心在于调整Mathtype软件内部的“下标深度”参数,通过修改单个公式或批量格式化全文,使公式完美适配固定行距,确保下标清晰完整,且不影响文档整体排版。

pepsi的博客 1503

J2ME 混淆器的使用:安装 Proguard4.2 至 eclipse

J2ME 混淆器的使用:安装 Proguard4.2 至 eclipse Proguard4.2.zip 下载链接地址    在 Eclipse 环境下打包,右击工程名,选择 J2ME,再选择 create obfuscated package 后就弹出一个警告框,上面内容是这样的:    Proguard is not correctly configured    Please con

Defonds 的专栏 1万+

STK传感器约束设置保姆级教程:从方位角到传播延迟,手把手教你避开新手常见坑

本文详细解析了STK传感器约束设置的关键技巧,涵盖方位角、仰角、高度及传播延迟等核心参数。通过实战案例和代码示例,指导用户避开常见误区,优化卫星通信和航天任务仿真精度,特别适合STK新手和需要提升传感器配置效率的工程师。

weixin_33701294的博客 393

FOC电机控制实战:增量式编码器零位校准的5个关键步骤(附STM32代码)

本文详细解析了FOC电机控制中增量式编码器零位校准的5个关键步骤,包括电角度锁定、定时器计数清零、机械偏移角补偿等,并提供了STM32平台的实战代码。通过精准的零位校准,可显著提升电机控制系统的精度和稳定性,适用于工业伺服和机器人关节等高精度场景。

rum55的博客 619

2005年毕业论文----J2ME手机游戏开发高计

一  前  言 1.1 摘要 J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。 随着手机的日益普及、Java功能在移动设备上的实现,Java应用

Scent of Mobile Application 3766

Hermes-Agent-完整指南

Hermes Agent 是由 **Nous Research** 开发的一款**自我改进型 AI Agent**,具有内置的学习闭环系统。它的核心理念是"一个与你共同成长的 Agent"。- 能够从经验中创建技能(Skill-Learning Automated),在使用过程中自我改进, 跨会话持久记忆, 深度用户建模

liu_zhiyi的博客 3041

Eclipse下混淆压缩J2ME包的方法

      由于java是解释性语言,生成的class文件很容易被反编译,所以一般J2ME程序制作出来后的jar包,都要经过混淆处理。今天使用到了最常见的proguard来进行混淆和压缩处理。     本人使用的是Myeclipse加Eclipseme插件进行J2me开发的,其自身就带有对proguard的支持,下载proguard 4.3到本机,并解压。     在Eclipse中配置p

穿拖鞋写程序 5493

S/4HANA Private Cloud 与 On-Premise 的 Key User Custom Fields 运输与升级避坑指南

本文探讨了SAP S/4HANA Cloud Private Edition和On-Premise系统中Key User Custom Fields的管理要点。文章指出,Custom Fields涉及元数据生成、对象一致性、传输治理等完整链路,操作不当会导致字段丢失或升级失败。关键建议包括:使用ATO Fiori App管理扩展项与传输绑定,配置正确的job user权限,避免在多系统并行开发同一字段。特别强调升级时需执行CFD_REGENERATE_IN_ONPREMISE报表,并通过标准传输机制推进变更

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 196

Codex入门19-数据库操作(解放双手:用自然语言写SQL、建表和数据迁移)

写 SQL 是后端开发的日常,但复杂的 JOIN、子查询、窗口函数总让人头疼。本文教你用 Codex CLI 实现:自然语言直接生成 CREATE TABLE、复杂 SQL 查询、数据库迁移脚本(Prisma/Knex/Alembic)、ORM 模型代码(SQLAlchemy/TypeORM)、甚至自动生成数据库文档。重点强调安全红线——永远不要让 AI 直接连接生产数据库。从需求描述到完整数据库层代码,一篇搞定。

yueyeguzhuo的专栏 234

EclipseJ2me版添加Proguard4.5.1混淆器

以前本着开放原则,写的J2me从不考虑混淆。不用可以,但得懂,于是添加了下试试。 0 proguard4.5.1 下载地址 http://proguard.sourceforge.net/index.html#/downloads.html 1 Eclipse J2me版,在项目上右键选择 MoBile Tools For Java ,有Create package单纯打包,和C...

836811384 112

基于simulink的多能源系统协同与能源互联网的电网系统场景实例:虚拟电厂(VPP)中电网与储能集群的协同控制

本文详细介绍了使用Simulink构建虚拟电厂(VPP)与储能集群协同控制系统的完整建模过程。主要内容包括:1) VPP系统架构设计;2)分步骤建模过程,涵盖虚拟电厂系统创建、储能单元与集群建模、VPP控制器设计(核心)以及协同控制场景仿真;3)性能分析与典型应用场景。通过混合整数线性规划优化调度和智能指令分解策略,实现了VPP参与电力市场交易、电网调频调峰等功能,验证了系统在提升可再生能源消纳率(96%)、降低电网峰谷差(35%)等方面的优异性能。该建模方法为能源互联网中的分布式资源聚合与协同控制提供了实

xiaoheshang_123的博客 476

j2mepolish中obfuscator(混淆器)的应用

[size=14]我们知道在j2mepolish带有一个ant构件工具,且有一个build.xml文件。在build.xml里边定义了一个工程的编译(compile)、混淆(obfuscate)、打包(package).....等命令。所以很多人都喜欢用j2mepolish来的ant来管理一个j2me工程的编译打包工作,即使他们没用到polish, 避免了用ant时写build文件的...

怒放的生命 265

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台

1. 导入设备定义 你必须至少配置一种设备定义之后才能开始使用EclipseME。请按下列步骤来配置设备定义: 从Eclipse的窗口菜单中选择首选项。 打开左边面板的J2ME选项分支,点击设备管理(Device Management)。 按导入...(Import)按钮。

虫二的专栏~~在路上~~~ 3710

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【J2ME】配置J2ME环境

Java_SDK = Java Platform Micro Edition Software Development Kit 3.0 for Windows [url]http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html[/url] 下载[url]https://cds.sun.com/is...

德罗德 183

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

J2ME开发环境配置备忘

1、安装 Eclipse Eclipse :http://www.eclipse.org 2、下载安装 WTK(Wireless Tools Kit) 2.5.2 http://cds-esd.sun.com/ESD37/JSCDL/sun_java_wireless_toolkit/2.5.2-ml/sun_java_wireless_toolkit-2_5_2-m...

ianwei的博客 163

配置eclipse

1. 导入设备定义你必须至少配置一种设备定义之后才能开始使用EclipseME。请按下列步骤来配置设备定义: 从Eclipse的窗口菜单中选择首选项。 打开左边面板的J2ME选项分支,点击设备管理(Device Management)。 按导入...(Import)按钮。 在接下来的对话框中,选择一个包含无线工具包的根目录,EclipseME将从中查找...

(Never Give Up)--(我的知识点滴) 274
上一篇: J2SE 5.0新特性之static import
下一篇: J2ME游戏开发中使用层的概念
mingjava
博客等级 码龄24年 68粉丝 114原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值