今天我的小网站出问题了,只好先写到博客了。

0x00 摘要

前两天有朋友在Q群里发一个QQ悄悄话查看器.apk,因为我之前有研究过,知道查看是不可能的,肯定是骗人的软件(当然了,其实当时我想的是,如果真的可以查看,我要看看他的原理是什么,我断定不可查看是因为:链接)

后来看到有人说,是一款恶搞的软件,很多人中招。

今天周六,看网上也没人分析,就抽时间分析了下。分析后发现……原来没人分析,是因为并没有分析的价值……

0x01软件概述

下载地址:从网上随便找的,本身就是假软件,应该不会再有假的了。

文件:qqqqhckq.apk

大小:580 KB(594,446 字节)

占用空间:584 KB(598,016 字节)

MD5:b1 3c 0c e0 b9 d8 a5 91 f8 79 b4 9a dd 00 20 7a

包名:com.o(这包名我也是醉了)

签名:(谷歌测试签名?)

所有者:EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=MountainView, ST=California, C=US

发布者:EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=MountainView, ST=California, C=US

序列号:936eacbe07f201df

有效期开始日期: FriFeb 29 09:33:46 CST 2008, 截止日期: Tue Jul 17 09:33:46 CST 2035

证书指纹:

MD5: E8:9B:15:8E:4B:CF:98:8E:BD:09:EB:83:F5:37:8E:87

SHA1: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81

SHA256:A4:0D:A8:0A:59:D1:70:CA:A9:50:CF:15:C1:8C:45:4D:47:A3:9B:26:98:9D:8B:64:0E:CD:74:5B:A7:1B:F5:DC

签名算法名称: SHA1withRSA

版本: 3

0x02分析实现

1,解包查看manifest

这是程序的入口,有了入口我们才能一步一步往下分析。

1.1我们看到一个e4a,猜想可能是一个类似e语言的吧,搜索后发现http://bbs.e4asoft.com/

1.2启动的StartActivity和mainActivity应该是e4a的,最后启动的是com.o.主窗口

1.3还有一个服务com.o.后台服务操作

   <applicationandroid:name="com.e4a.runtime.android.E4Aapplication"android:hardwareAccelerated="true"android:icon="@drawable/icon"android:label="QQ悄悄话查看器"android:persistent="true"android:theme="@style/ClassicTheme"><activityandroid:name="com.e4a.runtime.android.StartActivity"android:icon="@drawable/icon"android:label="QQ悄悄话查看器"android:theme="@style/StartTheme"><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.DEFAULT"/><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></activity><activityandroid:name="com.e4a.runtime.android.mainActivity"android:configChanges="keyboardHidden|orientation"android:icon="@drawable/icon"android:label="QQ悄悄话查看器"android:launchMode="singleTask"android:screenOrientation="portrait"android:windowSoftInputMode="adjustPan"><meta-dataandroid:name="MainForm"android:value="com.o.主窗口"/><meta-dataandroid:name="FontSize"android:value="true"/><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.DEFAULT"/></intent-filter></activity><service android:name="com.o.后台服务操作"><intent-filterandroid:priority="1000"><actionandroid:name="com.o.后台服务操作"/></intent-filter></service>
</application>

2,查看资源文件

网上说会播放声音的,常见的播放声音有2个地方,assets和raw,在assets中找到:

2.1,6M5UBF2J9ZI70.jpg

打开后显示的图,还有作者的QQ

2.2,0.mp3

播放的不可描述的声音。

2.3,0.wma

3,分析源码

这是包中的代码,R文件就不说了。

3.1 初始任务

这里把4个音量设为100

   /* The audio stream for system sounds */public static final int STREAM_SYSTEM = 1;/* The audio stream for the phone ring and message alerts */public static final int STREAM_RING = 2;/* The audio stream for music playback */public static final int STREAM_MUSIC = 3;/* The audio stream for alarms */public static final int STREAM_ALARM = 4;publicvoid 主窗口$创建完毕(){音量操作.置音量(4, 100); //设置音量的1234(代码写错这种我就不吐槽了)音量操作.置音量(4, 100);音量操作.置音量(2, 100);音量操作.置音量(3, 100);媒体操作.播放音乐("0.mp3");//播放音乐,我就想知道0.wma有什么卵用媒体操作.置循环播放(true);this.标签1.字体大小(10.0F);this.标签1.标题("" + 加密操作.RC4解密("4B9D72700A8217D0","0"));//解密后是“免责声明”this.系统设置1.屏幕锁定();this.系统设置1.保持屏幕常亮();this.系统广播1.注册广播("后台服务广播");this.系统闹钟1.设置闹钟(1, 500L, "闹钟");this.时钟1.时钟周期(500);}

3.2 屏蔽按键

这里屏蔽按键,使按键失效,code对应的音量加、音量减、菜单。

返回键呢?我测试的时候,可以点home键返回桌面,卸载。

    /** Key code constant: Volume Up key.* Adjusts the speaker volume up. */public static final int KEYCODE_VOLUME_UP       = 24;/** Key code constant: Volume Down key.* Adjusts the speaker volume down. */public static final int KEYCODE_VOLUME_DOWN     = 25; /** Key code constant: Menu key. */public static final int KEYCODE_MENU            = 82;public void 主窗口$按下某键(int paramInt, BooleanReferenceParameter paramBooleanReferenceParameter){boolean bool = paramBooleanReferenceParameter.get();if (paramInt == 24)bool = true;if (paramInt == 25)bool = true;if (paramInt == 82)bool = true;paramBooleanReferenceParameter.set(bool);}

3.3 时钟周期

  publicvoid 时钟2$周期事件(){this.时钟1.时钟周期(0);系统相关类.创建快捷方式2("QQ悄悄话查看器0", 2130837504, "http://");系统相关类.创建快捷方式2("QQ悄悄话查看器1", 2130837504, "http://");系统相关类.创建快捷方式2("快手双击工具2", 2130837504, "http://");系统相关类.创建快捷方式2("快手双击工具3", 2130837504, "http://");系统相关类.创建快捷方式2("QQ悄悄话查看器4", 2130837504, "http://");}

3.4标签点击事件

//解密后是“免责声明”
//“仅供整蛊娱乐,凡是使用本程序必须承担后果,请勿修改应用程序否则后果自负!”
//“我同意”public void 标签1$被单击(){对话框类.信息框("" + 加密操作.RC4解密("4B9D72700A8217D0", "0"), "" + 加密操作.RC4解密("35891F2916806DE1E71622A2DDD1EC7040CC953D96DFBA0145EE0E1F177C902D5CFDD9F787E0B14554D9103F81B7ECDA9E8BE63EA8CFF797820796B2DF4C1BE9856BA4659E76", "0"), "" + 加密操作.RC4解密("46AD6B2C1199", "0"));}

3.5广播

  publicvoid 系统广播1$收到广播(int paramInt){主窗口.标题(this.系统广播1.取广播内容());if (主窗口.标题().equals("1")){if (!应用操作.是否在前台()){音量操作.置音量(4, 100);音量操作.置音量(1, 100);音量操作.置音量(2, 100);音量操作.置音量(3, 100);应用操作.返回应用();this.系统设置1.屏幕解锁();}}elsereturn;this.标签1.字体大小(10.0F);}

0x03 修改测试

为什么不直接测试,而要先分析呢?你以为我傻呀,当然要先研究透才能测试呀。O(∩_∩)O~

1,修改音乐文件

1.1我直接替换assets中的0.mp3,重签名安装后,发现音乐不能播放了。

排除签名认证,软件是可以打开的。

排除音乐文件认证,代码总共才那几行。

最后看log,

Token{42656530 ActivityRecord{427b6448com.o/com.e4a.runtime.android.mainActivity}} failed creating starting windowandroid.view.InflateException:Binary XML file line #34: Error inflating class <unknown>

好像没有跟播放声音有关的呀……

哈哈,我想可能是e4a不能这样改,

于是用ApkIDE编译。

1.2 ApkIDE报了一个

libpng error: Not a PNG file
ERROR: Failure processing PNG imageE:\xxunpack\ApkIDE\Work\com.o\res\drawable\icon.png

于是换了一张png的

成功,打开软件终于唱起了葫芦娃,终于不是不可描述啦。

2,去除屏蔽按键

.method public 主窗口$按下某键(ILcom/e4a/runtime/parameters/BooleanReferenceParameter;)V.registers 5invoke-virtual {p2},Lcom/e4a/runtime/parameters/BooleanReferenceParameter;->get()Zmove-result v0const/16 v1, 0x18if-ne p1, v1, :cond_9const/4 v0, 0x1:cond_9const/16 v1, 0x19if-ne p1, v1, :cond_econst/4 v0, 0x1:cond_econst/16 v1, 0x52if-ne p1, v1, :cond_13const/4 v0, 0x1:cond_13invoke-virtual {p2, v0}, Lcom/e4a/runtime/parameters/BooleanReferenceParameter;->set(Z)Vreturn-void
.end method

改最后的返回就可以了

   :cond_13const/4 v0, 0x0invoke-virtual {p2, v0},Lcom/e4a/runtime/parameters/BooleanReferenceParameter;->set(Z)Vreturn-void

0x04总结

正如前面所说的,并没有分析的价值

1,今早想从群里下载时,也经无法下载了

2,安装时,某流氓也会提示该软件有问题了

qq悄悄话查看器-分析报告相关推荐

  1. [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明

    这是一个完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢. 先看一下使用的截图吧: 做相关说明如下: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片 ...

  2. Qt 仿QQ图片查看器

    最近项目中,由于需要查看图片.看了网上写的各种图片查看器.感觉都没有QQ图片查看器那种界面好看一点.并且放大了可以移动图片.为此,想着仿QQ图片查看器自己写了一个,如图: 主要实现的功能有: 鼠标滚轮 ...

  3. 基于STM32的照片查看器课程报告

    注:资料借鉴正点原子正点精英板STM32F1开发指南(库函数版):程序是正点精英板STM32F1实验四十三章图片显示实验. 程序地址:实验38图片显示实验.7z-嵌入式文档类资源-CSDN下载 目录 ...

  4. 窗口程序ImageView(仿QQ图片查看器)

    近期一直在学习窗口程序之类的问题,下午正好有机会和大家讨论一下. 程序运行截图: 应用方法: 1.直接把图像文件拖到图标上表现 2.通过命令行方式,示例:ImageView.exe "带全路 ...

  5. ImageView(仿QQ图片查看器)

    程序运行截图: 使用方法: 1.直接把图像文件拖到图标上显示 2.通过命令行方式,示例:ImageView.exe "带全路径的图像文件名称" 3.打开ImageView.exe, ...

  6. jQuery 图片查看插件 Magnify 开发简介(仿 Windows 照片查看器)

    前言 因为一些特殊的业务需求,经过一个多月的蛰伏及思考,我开发了这款 jQuery 图片查看器插件 Magnify,它实现了 Windows 照片查看器的所有功能,比如模态窗的拖拽.调整大小.最大化, ...

  7. 系统安全运维 Server 2008 R2 事件查看器实现日志分析

    <系统安全运维>  Server 2008 R2 事件查看器实现日志分析 在 windows server 2008 R2 中,可以通过点击 "开始" -> &q ...

  8. Android 日志自动分析,Android Log Viewer:一个日志查看器工具,可简化实时对Android日志的分析...

    作为与Cordova一起工作的移动应用程序开发人员, 我知道调试应用程序的本机部分会很困难, 例如, 当你为应用程序创建本机插件时(在这种情况下, Android Studio无效).在试图找出我的应 ...

  9. epub 阅读器_全球与中国EPUB阅读器市场深度调研分析报告

    QYResearch预测:2020-2026全球与中国EPUB阅读器市场现状及未来发展趋势 [纸版价格]:RMB 18000 [电子版(PDF)价格]:RMB 18000 [报告篇幅]:103 [报告 ...

  10. bin文件查看器app_腾讯文件:腾讯官方出品的微信 / QQ 文件管理和清理利器

    前言 微信和 QQ 基本是大家手机上的必备应用了,但是使用时间久了,难免会积攒很多文件,甚至引起应用卡顿. 包括垃圾/缓存文件,或者我们接收保存的文件等等,占据了大量空间,又不好管理. 今天就分享一款 ...

最新文章

  1. JSPServlet学习手册
  2. 如何在Centos 7上用Logrotate管理日志文件
  3. 我的世界服务器怎么显示腐竹来了,我的世界腐竹开服必看manu权限组教程
  4. MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度
  5. 正则表达式的捕获性分组/反向引用
  6. mysql ngram_MySQL ngram全文解析器
  7. sql语句截断_SQL Server中SQL截断和SQL删除语句之间的区别
  8. Note: File Recipe Compression in Data Deduplication Systems
  9. Swift 06.Closures
  10. html返回底部代码,返回页面顶部及去页面底部的js实现代码
  11. AD9的PCB技巧——覆铜的规则设置
  12. python二分法求函数零点_在SciPy/NumPy中求复函数的零点
  13. 数据库管理系统的概念及数据库管理系统的基本功能
  14. Problem G: 切煎饼
  15. 学妹:大学四年以算法为重还是技术为重?
  16. 基于MATLAB的电弧仿真模型(Mayr/Cassie 电弧模型)
  17. 无光驱安装redhat企业版
  18. 七夕快到了,用python给女朋友画张素描吧
  19. uboot引导vxworks6.9(T4240) 启动
  20. layui-vertify不生效

热门文章

  1. 步进电机基础(5.9)-步进电机的驱动与控制-三相步进电机的驱动电路
  2. 【科普视频】信号在时域和频域上的区别
  3. WiFi无缝漫游详解
  4. PDF reference 1.0-1.7 下载(免费)以及PDF结构介绍
  5. oracle 英文 简历,英文优秀个人简历模板范文
  6. 【今晚群分享预告】 58集团监控系统实践
  7. 万兆局域网方案_局域网组建实施方案.doc
  8. 江天数据220kV变电站开建 实现更高电能质量和电力可靠性
  9. 转动惯量与惯性矩(截面)比较
  10. 违反计算机安全网络,违反网络安全法规定会受到哪些处罚