怎么解除安卓软件 APK的时间限制

怎么解除安卓软件 APK的时间限制,第1张

在 android 的键仿慎API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用。

本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的。

第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:

1. 在应用程序的AndroidManifest.xml中的manifest节点中加入

android:sharedUserId="android.uid.system"这个属性。

2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行

3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

第二个方法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:

1. 同上,加入android:sharedUserId="android.uid.system"这个属性。

2. 使用eclipse编译出apk文件,但是这个apk文件是不能用的。

3. 用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。

4. 使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,

首先找到密钥文件,在我的Android源码目录中的位置

是"build\target\product\security",下面的platform.pk8和platform.x509.pem

两个文件。

然后用Android提供的Signapk工具来签名,signapk的源代码是

在"build\tools\signapk"下,

用法为"signapk platform.x509.pem platform.pk8 input.apk output.apk",

文件名最好使用绝对路径防止找不到,也可以修改源代码直接使用。

这样最后得到的apk和第一个方法是一样的。

最后解释一下原理,首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样就有权限来修改系统时间了。

只是加入UID还不够,如果大旁这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。

这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到platform.pk8 和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原稿敬始的Android中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。

最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。

如何破解软件时间限制第一破解时间限制软件原理:一般地共享软件要达到计算机用户使用次数或时间的目的,通常是在安装时将当前的时间标志或者用户使用软件的次数记录,隐蔽的存放在注册表或某个文件中。每次使用软件时都会提醒还可以使用软件多少次。如果我们能够找出软件从注册表中调用隐蔽的标志和记录位置,将时间标志和使用次数修改,就可以达到无限用得目的了.

第二注册表监视软件:如何从注册表中找到软件的时间标志或者使用次数记录呢?我们只要使用一款名为仿隐余RegSnap的软件,在软件运行前后对注册表各作一次快照,通过对比两次注册表快照,来判断出软件的时间标志或者使用次数的记录是哪一个键值,更改这个标志和记录,就可以实现破解共享软件使用时间和次数的限制了.

第三各位随便找一个软件就可以了. 现在开始.

第一步:建立一个注册表快照运行RepSnap后,点击菜单“文件” “新建”,在d出的保存快照对话框中选择快照项目为“仅注册表”,并输入快照说明文字以便后面区分(例如输入:使用50次)然后点击“确定”按纽,就可以开始扫描并保存注册表内容了.扫描完毕后,点击菜单“文件” “保存”命令,将当前快照保存。

第二步:建立第二个快照 运行你要破解的那个软件,可以运行多次,当软件提示可用次数发生变化后,再用上面同样的方法,保存一次注册表快照。

第三步:比较注册表快照这一步很重要,现在需要对比两个注册表快照,找出注册表中的不同之处,这可是破解使用次数限制的关键。当然我们不会去手工对照.可以直接使用 RepSnap的快照比较功能。 点击菜单“文件” “比较”命令打开快照比较对话框。RepSnap会自动将最近两次保存的快照调如进行比较。在报告选项中可以选择显示修改过得键名,也可以显示键名和键值,想得到详细的比较内容的话就选择第二项“显示修改过得键名和键值”吧接下来,点击“确定”按纽后,即可开始备滚比较两个注册表快照内容的不同之处.完成后显示详细报告信息

第四步:找到次数记录 从报告中可以看到注册表中有11个键值发生了变化。经过仔细的查看,发现一处重要的注册表更改项目(大家要仔细找)其中“49”和“48”不正是软件剩余的使用次数.

第五步:确定次数记录位置在RepSnap中点击工具栏上的“加载注册表编辑器”按钮,打开系统中的注册表编辑器,展开注册项目 “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IE4\Setup\”找到键值“KEYFSTIMES”。先关闭我们要修改那个软件,然后再次运行,返回到注册表中,刷新刚才的键值,可以看到该键值也减少了1,因此可以肯定此处就是记录软件剩余次数的关键了.

第六步:修改注册表(石头最怕的)先尝试修改注册表键值“KEYFSTIMES”,改为最初的50次,如果正确的话在重启就可以了. 重中之重来了.有种软件很坏的.记录的文件有两个地方.那么接着查看快照对比结果,在刚才的键值下面发现了两处修改信息:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion \Prefetcher\TracesProcessed 新:DWORD:6 (0乘31)旧:DWORD:5 (0乘c) HKEY_LOCAL_MACHIND\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Prefetcher\TracesSuccessful 新:DWORD:6 (0乘e) 旧:DWORD:5 (0乘9) 而这两处键值对应得正好就是我们已使用了的软件次数.也就是说我们还要更改这两处键值,才可以达到完全突破软件的使用次数限制。以后当我们使用了该软件50次后无法使用时,我们就可以将“KEYFSTIMES”键值改为50次,另两个携世键值改为0就可以使用了

windows7中有家长控制。

先以管理员身份创建一个标准用户,然后到家长控制面板,点击刚才创建的用户,选择启用。

然后下面有一些时间,游戏,程序控制,你需要自己仔细看。

若不想标准用户安装软件,打开控制面板\用户帐户和家庭安全\用户帐户(这个用户需要是管理员),点击更改用户祥拿肢账户设置,然后把光标拉到最上面也就是始终通知。最后需要给你的管理员设置一个密码。

然后标准用户在安装或卸载以及敏改更改一些磁盘,软件时都会d出一个窗口,这个窗口需要标准用户输入管理员的密码,谨世若输入不正确或不输入就不能安装或卸载以及更改一些磁盘,软件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12435810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存