爱加密加固病毒分析-脱壳篇

一.文件信息

文件名称:久秒名片赞系统 
包名: android.support.v8 
大小: 1497829 bytes 
MD5: 8123AC1150B47EF53507EC2360164E3B 
SHA1: 958B1E341C72DBCF52863C570B77C71A862987B1 
程序壳:爱加密 
描述:爱加密有反调试功能,无法直接给关键函数下断点,所以只能单步跟踪到它检测反调试的地方修改比较值,从而跳过反调试。壳程序通过读取进程文件(/proc/uid/status)中的TracerPid属性来确认自己是否被调试,该属性如果不为0则说明程序是被调试状态。如果要获取该文件的值那么必然是有读写操作的,通过在读写函数地方下断点,就可以修改它的值从而骗过反调试。即只要在fopen和fgets处下断点单步跟踪就可以了(函数在libc.so)。


二.调试准备

  1. 安装IDA Pro 服务器: 
    adb push android_server /data/local/tmp 
    设置服务器运行权限: 
    cd data/local/tmp/ chmod 777 android_server 
    运行服务: 
    adb shell & cd /data/local/tmp & ./android_server 
    设置端口转发: 
    adb forward tcp:23946 tcp:23946
  2. 调试运行 
    adb shell am start -D -n android.support.v8/android.support.v7.q448870015
  3. IDA 附加进程调试 
    Debugger -> Attach 
    Ctrl+F 搜索 android.support.v8
  4. 函数下断点 
    Modules中搜索 libc.so 
    给fopen,fgets下断点 
    Modules 中搜索 libdvm.so 
    给dvmDexFileOpenPartia 下断点
  5. jdb调试 
    打开monitor 
    鼠标选中要调试的进程(android.support.v8) 
    jdb–connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700

三.调试脱壳

环境准备好后按F9 开始运行程序,这时会断到我们下断点的地方。 
 
此时 R7寄存器中有值 /proc/self/cmdline.debug.atrace 
 
使用adb查看

继续F9 运行让程序再次断在fopen函数处。在运行的过程中可能出现如下错误提示,忽略它继续运行。

 
程序再次断在fopen函数处,这时 R7寄存器中的值 
 
即 /proc/11446/status ,从这里开始壳程序开始读取status文件检查自己是否被调试跟踪了。继续F9运行。程序会断在fgets函数处,这时我们在函数结束处下断点。查看函数返回值,如果是TracerPid属性则修改值为0。 
程序运行到函数末尾断点处,此时查看R0寄存器的值 
 
即 Name:roidd.support.v8 
通过查看status文件可以知道,这个值是文件内第一行的字符串 

从这里就可以知道程序还需要在运行5次才能读到 TracerPid属性 
F9运行5次,在次查看fgets函数返回值 
 
Tracerpid:11465 
这个值正是IDA 服务器进程的UID 
 
在Hex View中按F2修改这个值 
 
 
这里要注意,修改的颜色是橙黄色,但是还不能使用,必须在按F2应用才行。 
 
修改完之后,再次F9运行程序。 
 
在次断在fopen函数处,此时R0寄存器的值 
 
可以看到,壳程序再次读取 /proc/11446/status 文件。显然反调试不是只有一次的,那么继续修改它的返回值,直到不再读取这个文件。 
通过再次修改,壳程序不再读取 /proc/11446/status文件了。说明它的反调试就比较了两次,那么现在就可以去掉fgtes断点按F9让程序跑起来了。 
程序断在了这个函数处,这说明壳开始解密dex了同时证明前面已经成功欺骗了反调试,继续单步观察寄存器中的值。 
 
R0寄存器中保存着dex在内存中的地址,R1寄存器中保存着dex文件的大小。 
 
通过Hex View 查看内存 
 
内存中已经显示 0A 78 65 64 dex文件头模数了,右边字符串同样显示着dex.035。红框中 06 FD 00 和R1寄存器的值一样。已经得到了dex内存地址和大小,接着使用IDA脚本dump出这个dex文件。

static main(void)
    {
        auto fp, begin, end, dexbyte;
        fp = fopen("F:\\dump.dex", "wb"); //打开或创建一个文件
        begin =  R0;                       //dex基址
        end = begin + R1;                  //dex基址 + dex文件大小
        for ( dexbyte = begin; dexbyte < end;dexbyte ++ )
        {
            fputc(Byte(dexbyte), fp);     //按字节将其dump到本地文件中
        }
    }

 
将dump出的文件使用工具打开: 
 
文件能正常打开,下一篇分析锁机密。


四.问题总结

调试环境中出现问题的解决: 
IDA附加程序时显示目标积极拒绝则 重新输入端口转发命令。 
IDA附加程序弹出错误则 重新运行IDA服务器命令 
IDA F9运行程序如果没有反应则 检查是否输入jdb调试命令。 
因为该程序是加壳的锁机软件,所有调试过程中难免会因为错误步骤让程序运行起来从而导致锁机,这时可以运行 adb uninstall android.support.v8 卸载锁机软件(注意:在手机被锁后切勿拔掉usb数据线)。

时间: 2024-11-02 23:40:51

爱加密加固病毒分析-脱壳篇的相关文章

爱加密加固App漏洞&#160;防“越位木马”侵袭世界杯!

距离四年一度的世界杯重燃战火还有不到一个月的时间,但是伴随本届巴西世界杯的负面消息却是连续不断.有消息指出,本届世界杯不仅遭遇巴西人民抗议.面临球场无法按时交付等不利条件,还要谨防各种"毒",比如巴西日益猖獗的贩毒活动以及世界杯球衣球鞋上的有毒化学品都会让本次世界杯面临严峻的考验.其中,就在我们身边.最防不慎防的"毒"要数借世界杯类App专门侵害用户隐私与利益的"越位木马"病毒. "越位木马"损耗资费.窃取隐私 为了服务广大球

安卓App有风险,爱加密加固保护App安全!

如今安卓系统的开源性和手机厂商多样性的增多以及安卓系统存在各个手机中,还有手机厂商对安卓系统修改的面目全非的问题,最终导致安卓系统的安全问题无法得到避免.比如最近的"心脏流血"漏洞虽然经过修复在安卓平台基本不会出现,但是安卓4.1.1版本仍含有此漏洞,并且目前仍然有数百万台智能机和平板电脑使用的Android 4.1.1. 来源:www.ijiami.cn 互联网科技快速发展的今天,其中App安全尤为重要.由于android系统漏洞多,被黑客攻击的安全问题也主要集中在android系统

爱加密so保护简单脱壳测试

1.   最近研究so文件的保护,在网上搜索发现爱加密支持对so文件的保护,然后联系客户,本来是想让客户保护一个自己的so文件来做测试的,结果客户各种不愿意,说要签什么XX协议后才能给so保护,各种蛋疼..最后客户给了我一个他们保护后so和一个保护前的so与一个说明文档,如下图: 今天我们主要是分析它这个加密后的so,看它是用什么方式保护的,是否具有安全性. 2. 根据它.doc中的说明"加密前so文件大小为14KB,加密后so文件大小为9KB.加密后so库体积可以减小40%左右."如

Apk脱壳圣战之---脱掉“爱加密”的壳

一.前言 今天是端午节,然而小编不能吃粽子了,只能继续破解之路,今天我们来看一下在了解了破解三部曲之后,如何开始脱掉各个市场中的apk壳,关于破解三部曲在之前已经介绍了: 第一篇:Android中使用Eclipse动态调试smali源码 第二篇:Android中使用IDA动态调试so源码 第三篇:Android中破解加固的apk 在看完这三篇文章之后,我们开始操作如何破解市场中的加壳方案,现在市场中比较流行的加壳平台就那么几个:爱加密,梆梆加固,360加固,腾讯加固等,所以后面会一一介绍如何脱掉

爱加密提供专业Android加固,做最好的App安全服务平台!

随着时代的进步,科技的发展,电子产品越来越多,也越来越先进,手机也逐渐的从之前的打电话的大哥大到可以发短信,发彩信,手写 上网,等等,到现在我们连银行支付都去用手机去支付,越来越多的人习惯性把自己的个人信息放在那个巴掌大的手机里,于是各种问题也渐渐的显现出来,例如由于盗版软件而带来的话费无缘无故被扣,流量无缘无故减少,个人信息泄露等,这对于个人信息高级集中的人来说,可以说是一个不小的打击. 有数据显示,今年前三个月,针对安卓智能手机的病毒呈现大幅增加的趋势,而第三方应用成为各种恶意软件"附体&q

手游Apk破解疯狂,爱加密apk加固保护开发人员

2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.权威数据显示, 我国移动游戏市场实际销售收入从2012年的32.4亿猛增到2013年的112.4亿元,同比增长了246.9%,手游用户从2012年的8900万迅 速增长到2013年的3.1亿,增长幅度高达248.5%.来源!www.ijiami.cn 可是,在移动手游快速发展的同一时候,暴露出的手游破解问题也日益严重,手机游戏软件被破解后注入恶意代码.盗取用户財产.窃取用户设备信息的现象屡见不鲜.2014年1月,台湾易游网络有限公司旗

App漏洞分析,爱加密全网首推智能安全检测

2014年6月初,爱加密高调推出免费自动化App安全检测平台,这是国内首家自动化App安全检测平台,也是爱加密推出的一个重磅产品.作为国内首家免费自动化App安全检测平台,在目前整个互联网行业,包括移动互联网行业还没有这样的服务平台出现,行业前景相当乐观. 文章参考:www.ijiami.cn 只需一键,专业简单,让风险漏洞无处遁形 爱加密漏洞分析平台的推出旨在打造一个服务于移动互联网开发者的安全服务平台,同时也给整个移动互联网安全领域带来一份保障.目前移动应用开发者越来越多,他们不知道自己的应

爱加密:金融行业网络安全面临“多重考验”

互联网的"创新力"令人着迷,它为金融行业实现业务突破.为用户提供最佳服务体验,迎来了无限机会和可能.但在移动支付.云计算.大数据这些全新的应用环境和商业模式下,愈演愈烈的网络威胁却严重影响着金融行业的健康发展,数以亿计的恶意程序.成熟的地下黑色产业链.防不胜防的APT攻击,都如"吸血鬼"一样盯上金融用户,让金融行业网络安全面临诸多考验. 金融行业网络安全面临的诸多考验 作为IT系统应用与创新的先锋,金融行业对网络安全的依赖更是形同鱼水,但当下的互联网应用环境却如同&

ZJDroid脱 爱加密 的壳的经过

用ZJDroid给某爱加密加壳的apk脱壳的经过. 本菜鸟虽然编码的经验还是有的,但是破解可以说是第一次.这次在用ZJDroid给某个APK脱壳碰到了一些问题,所以记录下来,如果能给碰到同样问题的童靴提个醒,就很高兴了.所以 高手请绕道,别笑话菜鸟啊 :) 背景 这个APK包名为com.xxx.client包含了一个so文件,叫libxxx.so 整个包用爱加密加了壳. 典型特征就是apk的assert目录下有ijiami.dat文件 原理 一句话来说的话,就是用ZJdroid的"backsma