摘要: 之前都是在分析PE文件的,这个是找工作时的一个笔试题分析一个android恶意。用了一个星期熟悉java和android的东西然后写了这个分析有什么不对的地方还请大家见谅1.基本信息病毒名称:未知病毒类型:含恶意广告样本MD5:4360c2c29ed03898b925e07f4d648b4e样本大小:7.43MB2.概述恶意代码部分先于程序启动加载自己的页面,用户只有点击“获取积分“,下载一个它提供的应用才获取积分能开始游戏,同时恶意代码获取手机的手机型号 系统版本 IMSI icd 等信息到发送到219.234.85.220/219.234.85.222。3.静态分析恶意代码在正常应用上进行 阅读全文
posted @ 2012-12-22 20:53 麦小扣_刘 阅读(1384) 评论(1) 推荐(0) 编辑
摘要: od对于单线程程序的调试效果非常高,今天在分析病毒是遇到个多线程病毒。在新线程中下硬件断点 hr 发现od并没有断下在网上找了一下说这个问题的人并不多不知道有没有人帮忙解答一下。我在调试病毒的时候是下的软件断点但是程序要重新调试这个软件断点才起到效果。下面是问题的一个简单例子代码#include "stdafx.h"#include <iostream>#include <Windows.h>using namespace std;int g_i = 0 ;//线程WLRESULT myWorkThread(DWORD){while (1){g_i 阅读全文
posted @ 2012-11-24 20:21 麦小扣_刘 阅读(1400) 评论(0) 推荐(0) 编辑
摘要: 关于lnk文件的感染偶然在网上看到的。然后就关注了一下,lnk文件的感染是很多人可能都忽略的一个问题。并且lnk文件的感染所产生的效果很好。把lnk文件指向我们想要感染的任何文件。 要想感染这个文件,学习了pe病毒一段时间也知道了大概思路,那就是搞清楚lnk文件的格式。这个网上很多(但是不够完善,尤其缺乏我认为很重要的有关SHITEMID结构的解释)为了便于阐述我的问题下面这是个简单的lnk结构图。.lnk 文件格式 +---------------------------+ | lnk file header | +---------------------------+ >----- 阅读全文
posted @ 2012-11-08 19:55 麦小扣_刘 阅读(534) 评论(0) 推荐(0) 编辑
摘要: Windows文件保护对于恶意程序来说是个烦人的东西。尤其是当你想修改系统文件时它就起到保护作用了。这个sfc_os.dll #5号 api也是我在病毒分析时遇到的。它的作用是关闭系统文件保护60秒。下面给出一个C的源码样例。利用这个时为了避免被查杀最好给程序加壳或者用hash来查找api。//c code demotypedef DWORD(__stdcall *CPP) (DWORD param1, PWCHAR param2, DWORD param3);void Disable_WFP() {HINSTANCE hmod=LoadLibrary("sfc_os.dll&quo 阅读全文
posted @ 2012-10-16 22:28 麦小扣_刘 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 病毒分析过程这个gay8病毒是在看雪上看到的,别人已经分析过了。感觉自己东搞西搞的一直到现在还是不叫混乱,今天来分析一个病毒试试,结果。。。呵呵依然是一头雾水,把这个过程写出鼓励一下自己不要灰心气馁。首先peid查壳,还好没有加壳。然后ida反汇编查看string,imports。发现文件操作相关的api还有临时文件的api开辟内存api还有几个窗口的。其实看到他们没一点感觉。现在知道应该想到的至少有释放dll出来啊。然后可能是修改注册表让dll自动被加载,或者是创建线程注入一下的都有可能啊。当时丝毫没有向这想,以后可以自己写一个获取string,imports资源的工具总结一下病毒木马还有相 阅读全文
posted @ 2012-10-11 21:03 麦小扣_刘 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 端口复用原理&&源码原理:在WINDOWS的SOCKET服务器应用的编程中,如下的语句或许比比都是: s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = htonl(INADDR_ANY); bind(s,(SOCKADDR *)&saddr,sizeof(saddr)); 其实这当中存在在非常大的安全隐患,因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递 阅读全文
posted @ 2012-09-27 21:41 麦小扣_刘 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 管道是一种简单的进程间通信机制实际上是共享在一段内存。一个进程在管道写数据一个进程读取。匿名管道技术只能在父子进程或者一个进程的两个子进程之间通信。下面是一个简单的例子还有注释#include "stdafx.h"#include <WinSock2.h>#include <Windows.h>#pragma comment(lib,"ws2_32.lib")int _tmain(int argc, _TCHAR* argv[]){WSADATA wsadata;SOCKET csocket,ssocket;SOCKADDR_IN 阅读全文
posted @ 2012-09-22 20:35 麦小扣_刘 阅读(623) 评论(0) 推荐(0) 编辑
摘要: dll既动态链接库由多个功能函数构成,不独立运行,不会出现在进程列表中,dll作为进程的一部分很难被发现。因此是dll注入是木马很好的隐藏方式。进行远程注入的方法:提升进程权限至Debug模式(因为只有Debug模式才能打开进程句柄),打开远程进程,将需要的信息写入远程进程的内存,启动远程线程加载dll。进程提升:OpenProcessToken()打开进程令牌LoopupPrivilegeValue()返回一个本地系统独一无二的ID,用于系统权限的提升。AdjustTokenPrivileges()更改进程权限.进程提升完毕就有权限开启别的进程Openprocess()打开进程Virtual 阅读全文
posted @ 2012-09-19 21:49 麦小扣_刘 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 在Windows 2000以上的MS操作系统,通过Windows的任务管理器可以列出当前系统的所有活动进程,在Windows XP中,更是在控制台下增加了一条Tasklist命令,让系统下的所有进程无所遁行。这一切是怎么实现的呢?方法一第一种方法是大家比较熟悉的通过ToolHelp Service提供的API函数来实现。这里用到了3个关键的函数:CreateToolhelp32Snapshot(),Process32First()和Process32Next()。下面给出了关于这三个函数的原形和参数说明;HANDLE WINAPI CreateToolhelp32Snapshot(DWORD 阅读全文
posted @ 2012-09-18 20:40 麦小扣_刘 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 服务 是指定系统功能的程序例程或进程。以便支持其他程序。尤其是底层程序。其实服务就是一种特殊的应用程序,他从服务启动开始一直处于运行状态。服务实在系统加载以后自动启动的不需要登录。Windows下的服务都遵循SCM接口标准。他们会在登录系统是自动运行。服务能作为木马的重要特性:可以被指定为自启动在任何用户登录前运行,杀死杀软后台运行不易被发现。看到一个比较详细的关于服务程序的文章。这里发一下与君共勉额糟糕发不了附件。大家自己到这里面看吧http://wenku.baidu.com/view/1b537bc66137ee06eff91859.html 阅读全文
posted @ 2012-09-14 21:43 麦小扣_刘 阅读(183) 评论(0) 推荐(0) 编辑