今天我们来用最近比较火的“ChatGPT”学习一下Android病毒分析基础,看看和我们之前学的有什么不同,又能学习到什么新的东西,同时了解一下“ChatGPT”提问的一些精髓。

和我们之前的“Android病毒分析基础(一)”一样,我们先看一下环境搭建、工具使用、在线查杀、病毒分析方法以及特征提取等问题。

以下各项均是“ChatGPT”回答,本人只做了些许删减。

如何便捷的使用ChatGPT

在ChatGPT火了没多久,很多大佬就相继开发出了很多插件,包括了浏览器插件、MAC菜单栏程序、国内镜像接口等便捷的插件。

浏览器插件

项目地址:https://github.com/wong2/chat-gpt-google-extension

支持浏览器:Chrome、Edge、Firefox

支持搜索引擎:Google, Baidu, Bing, DuckDuckGo, Brave, Yahoo, Naver, Yandex, Kagi, Searx

安装:

我们直接选择在chrome应用商店下载:https://chrome.google.com/webstore/detail/chatgpt-for-google/jgjaeacdkonaoafenlfkkkmbaopkbilf

其他浏览器可以直接在github下载对应插件安装即可。

效果:

MAC菜单栏程序

项目地址:https://github.com/vincelwt/chatgpt-mac

支持MAC全系列

安装:我们直接在项目下下载对应的dmg文件安装即可

效果:

以上两个插件都是需要登录自己注册的账号,下面我们来介绍几个国内镜像接口,免登录直接使用。

ChatGPT国内镜像(可能被限制)

1、https://gpt.chatapi.art

2、https://trychatgpt.ssi.plus/

现在国内镜像被访问过多,可能都被限制了,所以最好还是自己注册一个账号,我们只需要找一个接码平台获取对应验证码即可,例如:https://sms-activate.org

接下来,我们进入正题,来看看ChatGPT如何教我们学习Android病毒分析。

环境搭建

  1. 安装虚拟机软件:需要安装一款虚拟机软件,如 VirtualBox 或 VMware,来运行 Android 系统。

  2. 下载 Android 系统镜像:可以从 Android 官网或其他网站下载 Android 系统的镜像文件。

  3. 创建虚拟机:使用虚拟机软件创建一个新的虚拟机,并将 Android 系统的镜像文件设置为启动盘。

  4. 安装 Android SDK:下载并安装 Android SDK,这是一个用于开发 Android 应用的工具集。

  5. 安装 Apktool:Apktool 是一款反编译工具,可以将 APK 文件反编译为可读的文本文件,以便进行病毒分析。

  6. 安装其他工具:根据您的需要,还可以安装其他工具,如 DEX2JAR、JD-GUI 等。

按照本人分析病毒经验,这些环境略显不足,所以我输入“继续”,结果机器人直接来了环境搭建后的分析过程:

  1. 获取待分析的病毒文件:可以从网络下载或从其他来源获取病毒文件,通常为 APK 格式。

  2. 反编译 APK 文件:使用 Apktool 将 APK 文件反编译为可读的文本文件。

  3. 分析反编译后的代码:打开反编译后的文件,查看源代码并分析病毒的行为。

  4. 运行病毒:在 Android 虚拟机中安装病毒 APK 文件,并观察它的行为。

  5. 分析病毒的攻击手段:分析病毒使用的漏洞、攻击手段、传播方式等。

  6. 分析病毒的持久化机制:检查病毒是否在系统启动时自动运行,或者是否安装了后门等。

这个分析过程也是较为简洁,我们“继续”,结果机器人直接开始介绍防范手段:

  1. 安装杀毒软件:使用专业的杀毒软件,如 McAfee、Norton 等,来查杀病毒。

  2. 升级操作系统和应用程序:及时升级操作系统和应用程序,以获得最新的安全补丁。

  3. 使用防火墙:使用防火墙来阻止未经授权的网络连接,并设置安全规则以防止病毒的传播。

  4. 不打开未知的邮件附件:避免打开未知来源的邮件附件,特别是 EXE、BAT、SCR 等可执行文件。

  5. 不下载未知的文件:避免从未知来源下载文件,特别是未经检查的 APK 应用程序。

  6. 使用双因素身份验证:使用双因素身份验证(2FA)来增强账户的安全性。

以上的回答显然不够入门,只是一些基础知识,我们换种方式提问,看看效果。

通过上图可以看出,我们可以对机器人纠错,也可以对某一个点进行深入提问,也可以通过“继续”来了解更多内容。

下面我们让机器人为我们详细列举病毒分析方法和病毒特征提取两个点。

Android病毒分析方法

  1. 静态分析:分析 APK 文件的二进制代码,可以通过反编译和解析资源文件获取更多信息。

  2. 动态分析:在设备上运行 APK 文件并监测其行为。可以使用模拟器或真机测试。

  3. 反汇编:通过反汇编工具分析二进制代码,获取程序的源代码和汇编代码。

  4. 反编译:通过反编译工具获取程序的高级语言代码(如 Java 代码)。

  5. 分析资源文件:通过解析 APK 文件中的资源文件,如布局文件、图像文件和字符串资源文件,获取有关程序的信息。

  6. 手机取证:通过从手机中获取数据来分析病毒行为。

  7. 分析通信:通过分析程序的网络通信来获取有关其功能和行为的信息。

  8. 分析存储:通过分析程序在设备上存储的数据,获取有关其功能和行为的信息。

  9. 分析注册表:通过分析设备的注册表来获取有关病毒的信息。

  10. 分析权限:通过分析程序请求的权限,了解其功能和行为。

  11. 分析关联文件:通过分析程序与其他文件之间的关联关系,了解其功能和行为。

  12. 分析数据流:通过分析程序处理数据的方式,了解其功能和行为。

  13. 分析代码签名:通过分析代码签名,了解程序的可信度和安全性。

  14. 分析程序依赖关系:通过分析程序与其他程序之间的依赖关系,了解其功能和行为。

  15. 分析加密方法:通过分析程序使用的加密方法,了解其功能和行为。

  16. 分析恶意行为:通过分析程序的恶意行为(如窃取数据、恶意广告、挖矿等),了解其功能和风险。

  17. 分析隐藏行为:通过分析程序隐藏的行为(如后台运行、注册启动项等),了解其功能和风险。

  18. 分析恶意代码:通过分析程序中的恶意代码(如木马、蠕虫等),了解其功能和风险。

  19. 分析关键字:通过分析程序中的关键字(如加密、网络通信、隐藏等),了解其功能和风险。

  20. 分析病毒特征:通过分析病毒的特征(如文件扩展名、图标、病毒库等),了解其功能和风险。

Android病毒特征提取方法

  1. 静态特征提取:分析 APK 文件的二进制代码,提取关于病毒的信息,如病毒库、文件扩展名、图标、病毒特征哈希值等。

  2. 动态特征提取:在设备上运行 APK 文件,监测病毒的行为,提取病毒的动态特征,如网络通信、文件操作、进程操作等。

  3. 分析资源文件:通过解析 APK 文件中的资源文件,如布局文件、图像文件和字符串资源文件,提取病毒的特征信息。

  4. 分析注册表:通过分析设备的注册表,提取病毒的特征信息,如启动项、服务、安装信息等。

  5. 分析权限:通过分析程序请求的权限,提取病毒的特征信息,如需要获取敏感信息、需要运行后台等。

  6. 分析关联文件:通过分析程序与其他文件之间的关联关系,提取病毒的特征信息。

  7. 分析数据流:通过分析程序处理数据的方式,提取病毒的特征信息。

  8. 分析代码签名:通过分析代码签名,提取病毒的特征信息,如签名证书、签名者信息等。

  9. 分析程序依赖关系:通过分析程序与其他程序之间的依赖关系,提取病毒的特征信息。

  10. 分析加密方法:通过分析程序使用的加密方法,提取病毒的特征信息,如使用的密钥长度、加密算法等。

  11. 分析恶意行为:通过分析程序的恶意行为(如窃取数据、恶意广告、挖矿等),提取病毒的特征信息。

  12. 分析隐藏行为:通过分析程序隐藏的行为(如后台运行、注册启动项等),提取病毒的特征信息。

  13. 分析恶意代码:通过分析程序中的恶意代码(如木马、蠕虫等),提取病毒的特征信息。

  14. 分析关键字:通过分析程序中的关键字(如加密、网络通信、隐藏等),提取病毒的特征信息。

  15. 分析病毒特征:通过分析病毒的特征(如文件扩展名、图标、病毒库等),提取病毒的特征信息。

  16. 分析病毒签名:通过分析病毒的签名信息(如证书链、签名者信息等),提取病毒的特征信息。

  17. 分析病毒的网络特征:通过分析病毒的网络行为(如通信协议、连接地址、端口号等),提取病毒的特征信息。

  18. 分析病毒的文件操作特征:通过分析病毒对文件的操作(如创建、修改、删除等),提取病毒的特征信息。

  19. 分析病毒的进程操作特征:通过分析病毒对进程的操作(如创建、修改、删除等),提取病毒的特征信息。

  20. 分析病毒的系统调用特征:通过分析病毒使用的系统调用(如文件操作、网络通信、加密等),提取病毒的特征信息。

  21. 分析病毒的加解密特征:通过分析病毒使用的加解密方法(如对称加密、非对称加密、哈希算法等),提取病毒的特征信息。

  22. 分析病毒的库文件特征:通过分析病毒使用的库文件(如加密库、网络通信库、图像处理库等),提取病毒的特征信息。

  23. 分析病毒的注册表特征:通过分析病毒修改的注册表项(如启动项、服务、安装信息等),提取病毒的特征信息。

  24. 分析病毒的数据库特征:通过分析病毒修改的数据库(如联系人数据库、短信数据库、通话记录数据库等),提取病毒的特征信息。

  25. 分析病毒的文件属性特征:通过分析病毒修改的文件属性(如文件名、文件扩展名、文件图标等),提取病毒的特征信息。

  26. 分析病毒的系统服务特征:通过分析病毒修改的系统服务(如后台服务、自动启动服务等),提取病毒的特征信息。

  27. 分析病毒的系统属性特征:通过分析病毒修改的系统属性(如系统语言、时区、网络设置等),提取病毒的特征信息。

  28. 分析病毒的加密文件特征:通过分析病毒加密的文件(如照片、文档、视频等),提取病毒的特征信息。

  29. 分析病毒的软件更新特征:通过分析病毒更新的软件(如系统软件、应用软件等),提取病毒的特征信息。

  30. 分析病毒的硬件驱动特征:通过分析病毒安装的硬件驱动(如显卡驱动、声卡驱动等),提取病毒的特征信息。

  31. 分析病毒的进程伪装特征:通过分析病毒伪装的进程(如使用常见进程名称、修改进程信息等),提取病毒的特征信息。

  32. 分析病毒的网络通信加密特征:通过分析病毒使用的网络通信加密方式(如 SSL/TLS、SSH 等),提取病毒的特征信息。

  33. 分析病毒的反调试特征:通过分析病毒使用的反调试技术(如软件断点、硬件断点、调试器检测等),提取病毒的特征信息。

  34. 分析病毒的网络隐蔽特征:通过分析病毒使用的网络隐蔽技术(如代理、隧道、混淆等),提取病毒的特征信息。

用python写一个Android程序分析工具

总结

可以看到chatGPT在某些问题上给出的答案远超出我们之前总结的内容,提供了不少新的思路,它在语义理解上已经远超过很多AI,我们可以持续提问,在这个过程中我们可以不断纠错,或者针对某个点再详细提问等,他都会结合上下文给出详细的解答,但是,我也试了很多问题,比如一些代码出现问题后,他可能无法纠正,他会给你一个答案,但是答案可能类似于套娃,无限循环,不过这个问题也可能是本人提问方式有问题,导致自己和chatGPT都进了死胡同。

总的来说,chatGPT在很多方面都表现很好,我们完全可以在工作中尝试使用它,可以用来写一些工具,例如我们可以让他写一些VBA来处理批处理excel等,可以快速生成一些文档模版等。

参考文章:https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

Android病毒分析基础(二)—ChatGPT提问技巧的更多相关文章

  1. Android多线程分析之二:Thread的实现

    Android多线程分析之二:Thread的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处   在前文<Android多线程分析之一 ...

  2. 【Android病毒分析报告】 - ZooTiger “集恶意推广、隐私窃取、恶意吸费于一体”

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11772379 作者:Jack_Jia    ...

  3. 【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生

    from://http://blog.csdn.net/androidsecurity/article/details/18984165 2014年1月8日,央视曝光了一款名为“银行悍匪”的手机银行木 ...

  4. Android核心分析之二十三Andoird GDI之基本原理及其总体框架

     Android GDI基本框架 在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了.但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理. GDI主 ...

  5. 【Android病毒分析报告】 - ZxtdPay 吸费恶魔

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11581543 作者:Jack_Jia    ...

  6. Android核心分析之二十四Android GDI之显示缓冲管理

    Android GDI之屏幕设备管理-动态链接库 万丈高楼从地起,从最根源的硬件帧缓冲区开始.我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某 ...

  7. Android核心分析之二十二Android应用框架之Activity

    3 Activity设计框架 3.1 外特性空间的Activity    我们先来看看,android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的 ...

  8. Android核心分析之二十一Android应用框架之AndroidApplication

    Android Application Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征.在Android实际空间中看不到实际意义上的应用程 ...

  9. Android核心分析 之二方法论探讨之概念空间篇

    方法论探讨之概念空间篇 我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描述方式,我们越容易接受和使用.各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方 ...

  10. Android核心分析之二十八Android GDI之Surface&Canvas

    Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoi ...

随机推荐

  1. jupyter 数据显示设置

    #设置显示行数pd.set_option('display.max_row',None)#设置显示列数pd.set_option('display.max_column',None)#设置显示宽度pd ...

  2. react 高效高质量搭建后台系统 系列 —— 脚手架搭建

    其他章节请看: react 高效高质量搭建后台系统 系列 脚手架搭建 本篇主要创建新项目 myspug,以及准备好环境(例如:安装 spug 中用到的包.本地开发和部署.自定义配置 react-app ...

  3. Js文件名 排序

    参考了别人帖子后,调整之后的排序方法,更加精确.(参考链接在底部) 压缩版 function strCompare(str1,str2){if(str1==undefined&&str ...

  4. xpath解析数据的方法

    1 功能描述 2 1.实例化一个etree对象,且需要将被解析的页面源码数据加载到该对象中 3 2.调用etree对象中的XPath表达式实现标签的定位和内容捕获 4 3.环境安装 pip insta ...

  5. python之路44 jQuery语法应用 与Bootstrap框架

    写的略粗糙 咨询 https://www.cnblogs.com/Dominic-Ji/p/10490669.html 作业讲解 页面简陋定时器: <input type="text& ...

  6. Web初级——数组对象常用api

    js数组常用api 连接函数:join("连接符") var array = [1,2,3,4,5] console.log(array.join("+")) ...

  7. Educational Codeforces Round 33 (Rated for Div. 2) 虚拟赛体验

    前言 就只做出了 \(A,B,C,D\) 是不是很弱? A.Chess For Three A,B,C 三人下棋,A和B先下,每次下完棋之后由现在观战的人(例如第一局就由C)代替下输的人. 每次输入一 ...

  8. 大公司为什么禁止SpringBoot项目使用Tomcat?

    本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...

  9. 一看就会的 Anaconda 搭建 OpenCV for Python 环境(全平台通用)

    前言 在学习 OpenCV 的时候,需要搭建 OpenCV 的环境并安装一些库,本文就准备了 OpenCV for Python,换而言之就是 OpenCV 的 python 的 API 接口.它拥有 ...

  10. Grafana 系列文章(四):Grafana Explore

    ️URL: https://grafana.com/docs/grafana/latest/explore/ Description: Explore Grafana 的仪表盘 UI 是关于构建可视化 ...