本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的。
第一个方法简单点,不过需要在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出一个窗口,这个窗口需要标准用户输入管理员的密码,谨世若输入不正确或不输入就不能安装或卸载以及更改一些磁盘,软件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)