1、可能没有加载出来,过一会儿就有了。
2、存在了sd卡里,需要去文件管理里面查找。
3、你手机的媒体扫描有问题,正常情况微信是不会被隐藏的,唯一的解决方案是用xposed的mediascanner,或者换手机。
扩展:健康武汉官微小程序
1、这一系统是特意为武汉的朋友打造出的,让我们能够更为便捷的查找到自身的抗体检测结果。
2、实际 *** 作起来十分的便捷,会带来特别多抗体检测有关的消息和常见问题,各种各样流程都是有具体的讲解。
3、客户在开展抗体检测以后想要知道结果只须要在网络平台上查看就可以查询对应的检验检查报告。
4、各种服务项目都特别的便捷简易,还可以利用网站预定检验,还可以为各位带来许多身心健康有关的信息内容。
5、家庭医师:客户可在小区签订一对一家庭医师,家庭医师会时时刻刻跟踪你的慢性疾病身体状况,并按时开展沟通交流具体指导和随诊。
首先,下载一个名为Xposed框架的软件
(这个软件多种版本)
(小编找一个非常合适的版本)
(拉到底部可以下载本软件)
安装之后打开这个软件
这是这个软件的主页界面
注意:使用本软件手机必须有root权限
获取root权限,请下载root精灵获取
接着
点击框架
然后进入下面这个页面
点击安装
就会d出下方这个页面
点击确定
此时手机重启了
等重启好了之后
安装应用变量这个软件
这个软件拉到底部可以下载
点击Xposed框架软件里面的模块
给应用变量打上勾
然后点击这个软件
接着就进来这里了
这里就是让你选择你手机安装的APP
然后给APP修改型号
我这里用QQ来说
点击QQ
然后进来这个页面
设置厂商
我们伪装为iPhone手机
所以厂商为iPhone
接着就是设置型号
直接设置为6s Plus
然后打开QQ
(若QQ在运行重启QQ再打开)
设置手机型号你会发现你的手机型号就变成这样了
接着可以发条说说装逼啦哈哈
想要下载上面提到的这两个软件
可以关注微信公众号:HLZYDSXH
然后在那里回复“APP”即可下载
因为这两个软件有一个是很难找到的
即使找到了也不一定稳定使用或者不匹配或者出现其他问题
不知你是否还记得,三四年前社交软件出现的各式各样小尾巴,什么「菲尔普斯专用机」、「宇宙无敌限量版 iPhone 10086」,奇葩来源层出不同,天真单纯的我曾经还认为需要很复杂的 *** 作才能如此,研究一番,发现一个 Xposed 插件就搞定了所有,它的名字叫「型号伪装」。
换ip不能解决问题的
手机的硬件信息串号MAC
都会被服务器记录的
每一台手机都会有全球独一无二的IMEI码和SN序列号,
就跟人的身份z一样,一旦下载客户的APP,
就会将你的IMEI码和SN序列号上传到服务器保存,
若是再用同一个手机注册是无法符合规则的
>
安卓60由于SE策略更新,需要对内核的sepolicy打补丁才能应用对system分区进行的修改,再者三星应用了KNOX硬件安全体系,里面存在KNOX质保熔断机制,只要系统固件不是完全官方签名(包括曾经刷过第三方ROM之后又刷回完全官方固件“四件套”),knox保修就会失效(你可以在系统的Odin模式顶端看见“KNOX WARRANTY VOID 0x1”这个字样),届时你不能为这种设备申请三星的免费保修服务。
其实熔断KNOX质保也就跟解锁Bootloader一个性质,均以破坏系统安全体系为代价修改系统内核,这会导致系统缺乏必要的安全体系运行高安全性应用,例如三星智付(SAMSUNG PAY)或三星浏览器的无痕模式。
但是root权限的权利实在太大,像xposed那样直接在内存活跃命令行层面修改应用运行命令而不需要修改应用本体的高级权限,经常会被“自动抢红包”、“永久保存闪照”等损人利己的功能——甚至“自动激活设备管理器”以强制加密勒索用户这种损人不利己的病毒所滥用,这也是安卓60开始讨伐root权限的原因。
常规的root权限激活模式要同时修改boot分区、system分区(甚至data分区),但是system分区就是被sepolicy加锁了无法修改,所以会导致权限激活不完全进而开机失败(常见的就是死在开机后第一个见到的logo)。
现在的root权限管理器基本上对安卓60开始的sepolicy束手无策,但有的管理器(例如chainfire的SuperSU)就开发了免系统固件写入模式(例如SuperSU的System less模式)通过仅修改boot分区和data分区进行“root权限模拟”(“模拟”就是因为无法完全修改系统),有时候就会出现“root完还能运行OTA更新、OTA更新完成之后还要再装一遍SuperSU”等奇怪情形。可是xposed就是修改内存活跃命令行,就是要在system分区写入固件,本来xposed所依赖的“root权限”就无法写入system了,xposed安装失败也是果不其然的事情。(busybox工具箱同理)
尽管如此你也不要“千方百计”通过recovery刷入xposed,道理都在上文中说到,写不到system安装不完全就会开机失败。
(我上次就是因为直接以recovery刷xposed导致开机失败,连续五天四夜进行了“三星救砖计划”,结果以所有应用包括用户应用和系统设置完全初始化告终。)
(附录)
如果你的三星手机安卓版本就是安卓60或以上,只能通过“免固件修改模式(systemless)”激活root权限,Chainfire管网就有适配于三星的Odin线刷版本,下载并通过Odin刷入之后会替换recovery固件以指定SuperSU卡刷程序强制systemless安装模式,卡刷后还需要系统重新整理Bootloader(固定logo画面后不要以为它死机了,开机动画出现的时候早就改好了boot和system开始载入data了,至多应用时间20分钟,完成后会自动重启)才算激活成功,激活后的root权限只能对用户安装应用进行修改(幸运破解器还可以拯救一下)。
以后三星手机多用Odin刷机,少用recovery,Odin可是三星官方独家的高级线刷工具,只对三星手机保证完美刷机。
一种android应用程序防篡改的方法、系统及计算机存储介质,基于内存检测的动态防篡改的检测方案,检测到恶意代码注入时进行即时反制,自动恢复成原始的程序,更加有效和准确地进行应用程序的自我保护,同时也保障用户的安全使用。
根据本发明一方面,提供了一种android应用程序防篡改的方法,包括:
检测当前函数的第一标志是否为第一预定标志;
比较所述当前函数的内存结构与原函数的内存结构,判断所述当前函数是否被篡改;
如果所述当前函数被篡改,则将当前函数恢复为原函数。
示例性地,所述检测当前函数的第一标志是否为第一预定标志包括:在dalvik运行模式下,检测当前函数的修饰符是否为acc_native。
示例性地,所述检测当前函数的第一标志是否为第一预定标志包括:在art运行模式下,检测当前函数的access_flags是否标识为被xposedhook。
示例性地,所述比较所述当前函数的内存结构与原函数的内存结构包括:通过获取所述当前函数的xposedhookinfo,并将其转换为method结构,比较所述当前函数的method结构与所述原函数的method结构。
示例性地,所述转换为method结构包括:在dalvik运行模式下,通过获取当前函数method的insns即xposedhookinfo,将其转换为method结构。
示例性地,所述转换为method结构包括:在art运行模式下,通过获取当前函数method的entry_point_from_jni,将hookinfo->original_mathod转换为artmethod结构。
示例性地,所述判断所述当前函数是否被篡改包括:如果所述当前函数的method结构与原函数的method结构中除了修改过的值,其余的值都相同,则确定当前函数被注入代码。
示例性地,在dalvik运行模式下,修改过的值包括:method结构中的accessflags,以及nativefunc、insns、registerssize、outssize中的至少一个;其余的值包括:clazz、methodindex、name、shorty中的至少一个。
示例性地,在art运行模式下,修改过的值包括:artmethod类结构中的access_flags_,以及entry_point_from_jni_、entry_point_from_quick_compiled_code_、dex_code_item_offset_中的至少一个;其余的值包括:declaring_class_、dex_method_index_、method_index_中的至少一个。
示例性地,将当前函数恢复为原函数包括:将检测到被篡改的当前函数的内存空间替换为备份的原函数内存空间。
根据本发明另一方面,提供了一种android应用程序防篡改的系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
根据本发明另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时实现上述方法的步骤。
根据本发明实施例的一种android应用程序防篡改的方法、系统和存储介质,采用非接触式的方法,基于内存检测的动态防篡改的检测方案,检测到恶意代码注入时进行即时反制,自动恢复成原始的程序,更加有效和准确地进行应用程序的自我保护,同时也保障用户的安全使用。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是用于实现根据本发明实施例的一种android应用程序防篡改的方法的示意性流程图;
图2是用于实现根据本发明实施例的在dalvik运行模式下检测当前函数是否被篡改的示意性流程图;
图3是用于实现根据本发明实施例的在art运行模式下检测当前函数是否被篡改的示例的示意性流程图;
图4是用于实现根据本发明实施例的在dalvik运行模式下恢复原函数的示例的示意性流程图;
图5是用于实现根据本发明实施例的在art运行模式下恢复原函数的示例的示意性流程图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
dex文件是android应用程序的可执行文件,如前所述,例如,基于xposed的开源框架下,动态注入的恶意代码,把原有函数的method结构体进行了拷贝,保存到一个新的地址a指向的内存空间,同时修改原函数的修饰符,修改原函数的入口指向一个回调函数,回调函数内容包含被注入的代码和原函数的代码(即a所指向的程序),保存原函数的代码是为了运行被注入的代码之后能够运行原函数的逻辑。这样原函数被调用时则会执行回调函数,原函数原有的运行逻辑或参数就被篡改了。
具体来说,例如:在dalvik运行模式下,首先通过拷贝当前函数相关信息保存到hookinfo实现原函数的备份,接着修改当前函数的method修饰符为acc_native(accessflags与0x00000100进行或运算),修改当前函数的nativefunc指向hook回调方法,以及替换当前函数的method->insns指向hookinfo,最后修正当前函数的registerssize及outssize;在art运行模式下,首先通过拷贝当前函数相关信息保存到hookinfo->original_method实现原函数的备份,接着修改当前函数的artmethod->access_flags_(与0x10000000进行或运算),以标志此函数为被注入的函数,替换当前函数的entry_point_from_jni_指向hookinfo,修改entry_point_from_quick_compiled_code_指向hook回调函数,最后修改dex_code_item_offset_为0。
这种对android应用程序的动态注入篡改程序是无法被现有的基于静态文件检测的方法所检测的。
因此,本发明实施例提出了一种android应用程序防篡改的方法。参考图1来描述用于实现本发明实施例的一种android应用程序防篡改的方法100。
首先,在步骤s110,检测当前函数的第一标志是否为第一预定标志;
在步骤s120,比较所述当前函数的内存结构与原函数的内存结构,判断所述当前函数是否被篡改;
在步骤s130,如果所述当前函数被篡改,则将当前函数恢复为原函数。
根据本发明实施例,步骤110可以进一步地包括:第一标志包括当前函数的修饰符或access_flags访问标志;第一预定标志包括acc_native或被xposedhook。
在一个实施例中,在dalvik运行模式下,检测当前函数的修饰符是否为acc_native。
在另一个实施例中,在art运行模式下,检测当前函数的access_flags是否标识为被xposedhook。
根据本发明实施例,步骤120可以进一步地包括:所述比较所述当前函数的内存结构与原函数的内存结构包括:通过获取所述当前函数的xposedhookinfo,并将其转换为method结构,比较所述当前函数的method结构与所述原函数的method结构。
根据本发明实施例,步骤120还可以进一步地包括:所述判断所述当前函数是否被篡改包括:如果所述当前函数的method结构与原函数的method结构中除了修改过的值,其余的值都相同,则确定当前函数被注入代码。
在一个实施例中,参见图2,图2示出了用于实现根据本发明实施例的在dalvik运行模式下检测当前函数是否被篡改的示例的示意性流程图。具体来说:
在dalvik运行模式下,首先通过获取当前函数method(标识为curmethod)的insns即xposedhookinfo,将其转换为method结构(标识为originmethod);
然后,比较所述当前函数中curmethod与originmethod的内存结构,如果除去修改过的值,其余的值都相同,就确定所述当前函数函数被xposed注入了代码。其中,修改过的值包括:method结构中的accessflags,以及nativefunc、insns、registerssize、outssize中的至少一个;其余的值包括:clazz、methodindex、name、shorty中的至少一个。
在另一个实施例中,参见图3,图3示出了用于实现根据本发明实施例的在art运行模式下检测当前函数是否被篡改的示例的示意性流程图。具体来说:
在art运行模式下,首先通过获取当前函数method(标识为curmethod)的entry_point_from_jni_即xposedhookinfo,将hookinfo->original_mathod转换为artmethod结构(标识为originmethod)。
然后,比较所述当前函数中curmethod与originmethod的内存结构,如果除去修改过的值之外,其余的值都一样,就可以判断该函数被xposed注入了代码。其中,修改过的值包括:artmethod类结构中的access_flags_,以及entry_point_from_jni_、entry_point_from_quick_compiled_code_、dex_code_item_offset_中的至少一个;其余的值包括:declaring_class_、dex_method_index_、method_index_中的至少一个。
根据本发明实施例,步骤230可以进一步地包括:将检测到被篡改的当前函数的内存空间替换为备份的原函数内存空间。
在一个实施例中,参见图4,图4示出了根据本发明实施例的在dalvik运行模式下恢复原函数的示例的示意性流程图。具体来说:在dalvik运行模式下,恢复当前函数method(标识为curmethod)为原函数originmethod的内容。
在另一个实施例中,参见图5,图5示出了实现根据本发明实施例的在art运行模式下恢复原函数的示例的示意性流程图。具体来说:在art运行模式下,恢复当前函数method(标识为curmethod)为原函数originmethod的内容。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
根据本发明实施例,还提供了一种android应用程序防篡改的系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。
此外,根据本发明实施例,还提供了一种计算机可读存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的android应用程序防篡改方法的相应步骤。所述存储介质可以包括只读存储器,可擦除可编程只读存储器等各种存储器,或上述存储介质的任意组合。
根据本发明实施例的android应用程序防篡改方法、系统以及存储介质,基于内存检测的动态防篡改的检测方案,检测到恶意代码注入时进行即时反制,自动恢复成原始的程序,更加有效和准确地进行应用程序的自我保护,同时也保障用户的安全使用。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
android应用程序被恶意篡改,除了反编译修改静态代码再重打包的方式进行静态篡改,还包括动态篡改,即原始应用程序安装之后,对原有程序动态注入恶意代码,在程序运行过程中改变程序的运行路径及运行参数。现有的应用程序防篡改的方法一般是基于安装包的静态文件校验,如对应用程序的存储文件进行校验生成验证文件再打包到安装包中的方法,或通过对apk进行解压修改classesdex执行文件重新打包的方法。这种基于静态文件校验的方法的不足之处在于无法检测程序被动态篡改的情况,例如程序被动态注入恶意代码,基于静态文件的检测方法就并无法检测出程序被篡改。这些恶意行为可能造成用户隐私被窃取、被远程 *** 控等安全问题。
因此,现有技术中存在无法检测动态注入的恶意代码,以及应用程序安全性低的问题。
以上就是关于为什么健康武汉官微小程序下载静态健康卡成功,但相册没有全部的内容,包括:为什么健康武汉官微小程序下载静态健康卡成功,但相册没有、怎么使用应用变量把QQ伪装成iPhone 6s Plus在线、有没有人懂破解一台设备只能注册一个号的方法,换了IP还是不行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)