《Smali Viewer 用户指南》

1 基本信息
   欢迎使用SmaliViewer(简称“SV”),SV是一款免费的APK分析软件,无论从分析的深度还是广度来看,都是一款能够满足用户需求的产品,使您在APK分析的过程中,更加得心应手。 SV针对Android移动智能设备应用APK文件进行逆向,用于对移动应用软件代码的分析,采用多种方法来对疑似样本进行筛选判定,如证书信息,敏感SP号码信息,Android Manifest的权限信息,函数流程图(CFG),字串表,资源文件信息,敏感行为信息,动态行为等等综合进行判定。

2 安装
   运行环境:
   需装java 1.7及以上版本。
   安装方法:
   下载SmaliViewer.Zip包,解压在指定安装目录打开SmaliViewer文件夹。
   启动方法:
   windows系统下点击SmaliViewer.bat运行程序;Linux下点击SmaliViewer.sh运行程序。第一次运行程序,需同意《用户使用协议》。 1.1

3 使用方法
   3.1 界面工作区
   工作区被划分为四个区域,看到下面的图片:
   1- 菜单和工具栏。
   2- 主工作区。
   3- 操作日志和状态显示区。
   4- 类结构显示区。
   5- 成员列表显示区

3.1
3.2 载入apk
   SV的核心目的在于使APK分析更加简便,因此在使用方法上,也格外便捷:载入APK的方式主要有三种:

   1- 通过File菜单的Open按钮,然后选择需要打开的apk      2- 直接将需要分析的apk拖入指定区域    3- 通过历史路径直接打开, 3.2 载入成功后,可以通过菜单和工具栏,选择需要查看的工作窗口。

3.3 工作区
   工作区通过View菜单以及快捷功能菜单的操作,可以打开以下8种工作窗口,通过这8种工作窗口,向您展示SV对APK的包含深度和广度的分析结果:
3.3

工作窗口 功能描述
Smali 可以查看到经过SV反汇编的.dex格式文件的Smali代码信息。
Graph 可以查看到用箭头表示的函数调用关系信息图。
AndroidManifest 可以查看APK文件反编译后的AndroidManifest文件信息
String 可以查看Dex中反编译的代码中的字符串信息,并且采用正则表达式,获取URL信息
Resources String 可以查看resource.asrc文件反编译的资源文件信息。
Certification 可以查看Apk的证书文件信息
Zip View 可以查看压缩包内的文件信息
Note 可以记录自己的分析信息
Comsearch 可以对smali代码内进行全局搜索

3.4

1- 快捷功能键,可以快速打开String工作区,Resources String工作区和Zip View工作区。 2- Tab目录,显示已打开的Tab,并可以通过双击或者点击关闭图标来关闭Tab。 3- 其他Tab可在菜单栏里的View中打开。

3.4 常用功能
   Search功能: 在使用SV查看代码时,可以通过打开Search功能,快速找到自己需要的代码位置。使用Search时分为Comsearch全局查找和Search当前页面查找。可以在Options中打开,或者使用快捷键。

3.5

  Comment功能: 在Smali Tab窗口下,为代码添加注释,鼠标所在位置,点击右键,便可以打开菜单,选择Comment功能,添加注释 Current查看功能: 在smali Tab窗口下,鼠标移动到指定行,点击右键,可以查看当前所在行代码的class 、Function、line、field信息 3.6

  跳转功能: 在Manifest Tab窗口下,将鼠标移动到带有下划线的代码内容,双击左键,可以跳转到Smali Tab窗口下的相应代码内容。 3.7

  Vt联网分析查看: 通过互联网连接到virustotal,进行在线APK分析,点击快捷功能图标启动联网分析功能 3.8
4 其他特色功能
   4.1 查看引用关系
   在类结构的显示区的成员列表显示区,选择一个方法或者变量,查看右键菜单选择ref to,便可查看该方法的引用关系,同时引用关系窗口的上方列表双击可以实现跳转。 4.1 4.2
   4.2 Graph图
   在选中成员列表的方法后,打开View中的Graph,可以查看方法内代码的跳转视图 1- 预览视图,拖动蓝色方框,可以变化主工作区的显示内容 4.3
    4.3 保存DEX2jar
   在Options目录下选择保存dex2jar按钮,可以将apk中的.dex文件另存为.jar格式,保存在原APK文件目录下,然后可是使用dex2jar_gui等其他软件打开,查看java代码。 4.4 4.5 5 Config设置
   在菜单栏Options目录下打开Config,设置的内容包括功能显示风格,和界面显示风格两种,在Functions窗口下可以显示代码的格式,点击OK确认选择。 View窗口下,可以开启夜间模式,语言模式,还有显示窗口的字体大小,以及窗口风格,点击OK确认选择。 5.1 5.2
6 关于AVL Team
  AVL Team是安天实验室旗下的独立移动安全公司,成立于2010年。成立至今,AVL Team始终专注于移动反病毒领域,致力于向合作伙伴提供最好的反病毒引擎和解决方案,对用户需求有着深刻的理解,并积累了丰富的经验和技术。AVL Team还对重大安全威胁作出高效的应急响应,并积极参与学术界和产业界活动。 AVL Team的主要产品是名为AVL SDK for Mobile的移动反病毒引擎中间件,可以用于检测移动平台的恶意代码、广告件和间谍件等。AVL SDK for Mobile的用户可以轻松地将它集成到自己的网络设备产品、软件或移动应用中,立即获得顶级的反病毒能力。AVL SDK for Mobile可以被移植到不同的硬件平台,并适应不同的网络环境和计算能力。 AVL SDK for Mobile对恶意代码的检测能力也已经得到权威测试的验证:2014年2月初,AVL SDK for Mobile获得了国际顶级测试机构AV-TEST颁发的2013年度唯一的移动安全防护大奖。