首页
社区
课程
招聘
[讨论]mpowerplayer 的保护机制
发表于: 2008-4-16 23:52 4687

[讨论]mpowerplayer 的保护机制

2008-4-16 23:52
4687
最近我研究j2me,发现mpowerplayer是一个desktop midp emulator,经过它的SDK保护过的j2me游戏,有时间限制。下面是一段它的readme.txt:

The mpp protector takes jad and jar files and combines them into a single
encrypted file.  Use this to protect your content before making it available for
demonstration with the mpowerplayer webstart service.  The protector accepts both file paths and network urls as arguments.

Usage:
java -jar protector.jar [-out output-dir] [-force] path-to-jad-or-jar ...

Example:
mpp% java -jar protector.jar http://ota.mpowers.net/piranha/pna-us.jad
mpp protector 1.0.373
read: http://ota.mpowers.net/piranha/pna-us.jar
wrote: Piranha Pricecheck.mpz
SHA-1: 8314443f3565eb1b56e07cb02d8f333fbfa0cbda

The generated mpz file cannot be opened by the mpp-sdk.  You will need to setup a link to the mpowerplayer webstart service from a page on your web server.  See http://content.mpowerplayer.com for full details.

The mpp protector not only encrypts your files, it also injects both j2se-specific
and mpp-specific bytecodes into the encrypted classfiles, making them unusable
outside the mpowerplayer environment.  For improved desktop performance, calls to System.gc are removed.  For compatibility with mpp's classloader scheme, calls to getResourceAsStream on system or bootstrap classes are redirected to your midlet class.

通过分析protector.jar ,这是用ZKM4.3.6b(Zelix KlassMaster)保护,进行过代码混淆。请问高手有什么思路可以将加密过的游戏文件{mpz}还原为纯正的j2me 程序{jad & jar}?

以下是测试文件和SDK:
http://content.mpowerplayer.com/hosting/eamobile.com/Bejeweled.mpz
http://content.mpowerplayer.com/hosting/eamobile.com/Bejeweled.jad
http://mpowerplayer.com/mpp-sdk-1185.zip

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
Zelix KlassMaster混淆效果就是好,
看得人云里雾里的,有时间了写一篇分析文章
2008-4-23 08:46
0
雪    币: 328
活跃值: (39)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
我写了几篇文章,关于ZKM逆向工程的,可可以看一下,http://feed.feedsky.com/vhly  
2008-6-9 21:46
0
游客
登录 | 注册 方可回帖
返回
//