911制品

《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...

《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...

《《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...》剧情介绍:与本场比赛同时进行的本组另一场比赛印尼队在主场与澳大利亚队0:0战平两轮之后国足仍然积0分垫底本组第3轮赛事将在1个月后举行10月10日国足将前往阿德莱德客场挑战澳大利亚队老哥坚持住孟土抓住焦黄的胳膊后者身受重伤血流不止《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...待方源稍稍靠近这些星线就直接透过他的双眸在他的脑海中浮现而出从降本增效维度带你拓展协同办公(OA)、费用报销系统、资金清结算与账务管理系统、交易系统、物流履约、客户关系(CRM)这六大业务知识

《《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...》视频说明:如何修复使用NOP指令抹去关键方法的DEX文件原创2017-04-14 11:05·安全客小安翻译:興趣使然的小胃预估稿费:140RMB投稿方式:发送邮件至linwei#360.cn或登陆网页版在线投稿一、前言在分析Android恶意软件的过程中我们经常会碰到某些APK样本对主逻辑代码进行了隐藏或加密处理只有在某些时刻才会将真正的代码释放到内存中因此我们需要找到正确的时机才能提取这些代码本文中我将举例说明当一个DEX文件中的某些关键方法被NOP指令抹去后我们如何去修复这个文件并且在程序执行时动态解压其代码请注意以下的分析基于Android 4.4.2_r1版本(KOT49H)二、具体操作首先我们使用某些反编译工具打开一个classes.dex文件如下所示:图1. DEX文件的反编译结果在图1中我们可以看到每个函数的代码全部被抹去了接下来我们先使用010 Editor来解析这个Dex文件如图2所示图2. 010 Editor无法解析此Dex文件看来010 Editor无法解析classes.dex文件原因可能在于Dex文件中的某些字段已经被修改过这些字段可能包含某些偏移量信息用来标识文件内部的偏移量如果偏移量的值超过了DEX文件的大小会导致文件解析错误该Dex文件的大小为0x2B2DD8我写了一个C++程序来解析Dex文件检查其中不正常的字段部分输出结果如图3所示图3. 使用C++程序解析Dex文件的输出结果我们可以看到DexCode结构中debugInfoOff字段的值不正常超过了文件本身的0x2b2dd8大小此例中这些不正常的debugInfoOff字段取值范围在0x3ffff30到0x4000000之间图4. DexCode结构体的定义为使010 Editor能正确解析这个Dex文件我修复了文件debugInfoOff字段的值我以MainActivity类中的OnCreate方法为例演示修复过后的Dex文件在010 Editor中的解析结果图5. 修复过后的Dex文件在010 Editor中的解析结果接下来我将debugInfoOff的值修改为0insns_size字段代表了代码中指令的长度每一条指令包括2个字节因此代码的长度为0x76OnCreate方法的具体代码以0E 00字节码开始其余部分全部为NOP指令0E 00字节码代表的是void返回类型现在的问题是如何获取该方法的真正字节码图5中某些关键方法已经被NOP指令抹去了程序准备调用某个方法前会先对该方法中的字节码进行解密调用完毕后程序会使用原始的NOP字节码重新替换填充在Dalvik虚拟机中方法在调用时其字节码必须是正确的换句话说如果某个方法不处于调用状态那么它的字节码可能是错误的这个样本充分利用了这一点实现了对方法的动态解密调用随后我研究如何在方法调用前对其进行动态解密通过某些逆向工程及分析工作我发现该程序可以hook dalvik虚拟机中的dvmResolveClass方法当某个类中的方法被调用时整个类必须完成加载过程dvmResolveClass方法正是在类的加载过程被调用下图是IDA Pro中dvmResolveClass方法的ARM指令:图6. IDA Pro中dvmResolveClass方法的ARM指令接下来我继续使用IDA Pro进行动态调试分析hook后的dvmResolveClass方法图7. hook后的dvmResolveClass方法当执行arm指令时程序跳转到了sub_75485310子函数图8显示了sub_75485310的执行流程图8. sub_75485310的执行流程图8中ARM指令BLX R3用来调用真正的dvmResolveClass方法之后程序执行位于0x75938000地址的指令运行到0x75938014地址时程序会跳转到0x414E468A地址调用实际的dvmResolveClass方法如图9所示图9. 从0x75938000地址开始程序的执行流程图10. 返回到实际的dvmResolveClass方法现在程序成功hook了dvmResolveClass方法此时此刻关键方法的正确字节码也已经加载到内存中具体保存在Method结构的insns指针中Method结构体的定义如图11所示图11. Method结构体的定义接下来我们可以修改dvmResolveClass方法的源代码提取真正的字节码部分关键代码如下图所示图12. 在dvmResolveClass方法中添加关键代码以获取实际字节码现在我们可以将真正的字节码保存为本地文件图13. 保存为本地文件中的真正字节码最后结合图13与图3的输出结果我研发了一个python脚本用来修改原始的classes.dex文件修改后的文件如下图所示图14. dex文件修改前后的对比图15. 使用dex反编译工具处理修改后的dex文件对比图1和图15的结果我们可以看到原来那些经过特殊处理的指令已经恢复正常三、总结Android系统是个开源系统通过阅读AOSP(Android Open Source ProjectAndroid开源项目)的源代码我们可以深入分析理解dalvik虚拟机的具体实现读者也可以自行修改dalvik虚拟机的源代码开发工具来修复其他经过混淆加固的DEX文件黄金腰带

导演:
编剧:
更新:

2024-12-23 18:09:50

备注:
国语
评价:
《善良的秘书》传奇片-高清字幕无弹窗免费观看 - 木瓜...
首页
电影
连续剧
综艺
动漫
APP