首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Android服务器端程序实例

实现大部分都是启动 Socket 监听一个固定端口,然后处理 HTTP 请求,但是对于大部分 APP 码农,处理 HTTP 是一件非常麻烦事情。...这里举个栗子说说如何Android 运行 httpd for arm,可以先将编译好 httpd 放入 raw 文件夹中, MainActivity 启动时判断是否指定位置中,没有则释放。...: ", e); } } } Android 中有一个 Runtime 类,这个类主要是用来让 Android 应用程序可以与它所在运行环境进行交互,可以直接通过调用 Runtime.getRuntime...() 静态方法来得到这个类实例,再调用 exec 就可以执行命令,接下来我创建了一个二进制执行类,对其做了一个简单封装。...例如有客户端请求了某个 url,或者出现什么错误,都会显示控制台上。Android 是没有控制台窗口,那么如何捕捉控制台输出呢,简单,重定向输出到输入流中即可。

1.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Android如何帮助用户自动接听或者挂断来电

这篇文章教你如何帮助用户自动接听或者挂断来电。当然并不是我原创代码,我只不过是把stackoverflow一些代码整合了一下,做个代码二传手。...然后需要挂断时候,调用: public void rejectCall() { try { Method method = Class.forName("android.os.ServiceManager...再说接听 看到挂断电话代码后大家都能猜到,只要同样调用aidlanswerRingingCall()方法就可以接听了,是的,4.1一下版本中只有这样就行了: public void acceptCall...而对HTP手机,需要进行一点特殊处理,也就是通过广播形式,让手机误以为连上了无线耳机。 以上功能在6.0三星S6实测过,也许多其他我能拿到手机上测试过,都可以正常挂断和接听。...坑 我们做自动接听或者挂断功能时候,有可能是没有界面展示,而是service中直接就帮用户接听了,这种情况下是无法正常工作,可能是android对非前台应用做了一些限制。 怎么办呢?

1.7K20

使用logcat让Android应用支持查看实时日志并输出至界面显示功能

不使用USB线接Android设备连接电脑,也不用电脑上装Android studio和logcat工具, 如何查看应用实时日志呢?方法还是有的。 先附图:看这功能是不是很赞?...后续继续探索新鲜新功能。 运维兄弟们可以松口气了,给你们减减压。 日志排查获取从此如此简单。甚至可以给手机互通,日志显示到你手机上也能。 这有什么用?方便现场运维人员快速协助研发定位和找到问题。...看日志就是为了分析和定位问题一种有效途径。 ? 且日志还是实时输出,这样从应用后门调起查看日志窗口,就很方便查看实时日志输出啦 这功能是不是很赞?...; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText...= Runtime.getRuntime().exec(cmds); mReader = new BufferedReader(new InputStreamReader(exec.getInputStream

3.5K30

Android中实现ping功能多种方法详解

为了使用java来实现ping功能,有人推荐使用java Runtime.exec()方法来直接调用系统Ping命令,也有人完成了纯Java实现Ping程序,使用是JavaNIO包(native...try { Process pro = Runtime.getRuntime().exec("ping " + ipAddress); BufferedReader buf...ping命令 具体思路是这样: 通过程序调用类似“ping 127.0.0.1 -n 10 -w 4”命令,这命令会执行ping十次,如果通顺则会输出类似“来自127.0.0.1回复: 字节=...技术:具体调用dos命令用Runtime.getRuntime().exec实现,查看字符串是否符合格式用正则表达式实现。...return status; } /** * 使用java调用cmd命令,这种方式最简单,可以把ping过程显示本地。

5.4K21

如何使用adb控制手机

一、介绍 AndroidDebug Bridge 我们一般简称为adb,它是一个非常强大命令行工具,通过adb工具,你能够与你android设备进行通信。...使用adb命令是可以操控手机,比如点击、滑动、输入等。操控手机之前要先连接上手机,下面先来看下adb如何连接手机。...四、命令操控手机 输入 0-9其中一个数字(android手机地址就是adb devices显示设备名称) adb -sshell input keyevent 7-16 1 返回桌面 adb...;可以写个android软件执行命令即可;需要注意是: 1、操控自身app不需要root权限,一旦进入另一个app需要root权限 2、命令有所改变,不需要 adb到shell这一串了,因为android...().exec("su"); // 获取输出流 OutputStream outputStream = process.getOutputStream

6.4K30

Linux--fork与wait

fork与exec Linux中,都是通过fork与vfork系统调用来创建子进程,并且fork完之后,通常会调用exec命令簇来替换代码段,执行不同任务。...调用wait时,父进程会被阻塞等待返回。...如果对于子进程状态改变不是很关心的话,也可以注册SIGCHILD信号,当子进程状态改变时候,内核会发送该信号给父进程,让父进程接收子进程状态,可以该信号处理函数中调用wait()来接收子进程状态,并且让子进程可以安心改变状态...等待子进程都结束 如果需要等待子进程都结束,则需要在fork完子进程后,为每个创建子进程调用waitpid来等待所有子进程都结束 Androidfork与wait AndroidRuntime.getRuntime...,这样不会阻塞UI线程 创建完Process之后,可以通过getInputStream获取输入流,该输入流是通过Pipe传递过来,可以将命令执行结果进行输出 而后调用waitFor等待两个进程执行结束

2.5K30

App安全测试—Android安全测试规范

源代码中搜索receiver,找到应用程序定义接收到消息时各项参数以及各种处理逻辑。 查看业务逻辑寻找是否能够直接调用Broadcast组件,是否越权进行操作。...特别是PF_INET类型网络socket,可以通过网络与Android应用通信,其原本用于linux环境下开放网络服务,由于缺乏对网络调用者身份或者本地调用安全检查机制,实现不当情况下,可以突破...源码中查找使用Runtime.getRuntime().exec执行第三方程序代码样例: try { Process p1 = Runtime.getRuntime().exec...().exec执行第三方程序后,且检测到调用逻辑中存在缺陷,则风险存在。...预期结果 合理使用Runtime.getRuntime().exec等函数,防止恶意调用。 整改建议 合理设置程序逻辑防止恶意调用,如果该行为是非期望行为,移除相关代码。

4.2K42

【转】Java中Runtime.exec一些事 

0.2 Runtime其他大部分方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。 0.3 Runtime中exit方法是退出当前JVM方法,估计也是唯一。...System类中exit实际也是通过调用Runtime.exit()来退出JVM。...解决方法就是:执行完外部命令后我们要控制好Process所有输入和输出(视情况而定),//在这个例子里边因为调用是Javac,而他没有参数情况下会将提示信息输出到标准出错,所以在下面的程序中我们要对此进行处理...为了处理好外部命令大量输出情况,你要确保你程序处理好外部命令所需要输入或者输出。...6 不良好重定向命令输出 错误认为exec方法会接受所有你命令行或者Shell中输入并接受字符串。

2.4K20

Java代码审计基础之反射

注意: 参考了大佬文章(参考文章本文末尾 Referer 中),文章说 jdk1.4和 jdk1.5 处理调用方法有区别 jdk1.4中,数组每个元素对应一个参数 jdk1.5中,整个数组是一个参数...().exec(“whoami”) 首先先看看 Runtime.getRuntime().exec 是什么东西,返回值类型是什么样: 在手册查看描述: ?...: InputStream 输入流,即数据流入,读入数据 OutputStream 输出流,即数据输出,写入数据 该代码读取一步 Process 类型数据流 input.read(a); 在上一步调用...以便后面打印输出 这就是一个简单 Java 命令执行并回显结果。 我们可以看到主要调用Runtime.getRuntime().exec 那么我们要如何通过反射方式进行调用呢?...第二种方式,不进行 Runtime实例化,直接通过getRuntime进行反射 注意点: 发现盲点:本节一开头,调用系统命令函数 exec 形式如下: Runtime.getRuntime().exec

49340

Android Root设备中su权限获取和使用详解

有了最高权限,你就可以为所欲为,换句话说,如果恶意程序获取到了ROOT权限,那么就可以肆意地破坏你手机,获取隐私…所以厂商一般在生产手机时候,不会提供给用户ROOT权限,官方宣称是为了保护用户手机安全...我们开机之后,使用手机身份就是一个普通用户(user),如果执行su,那么就可以直接切换到ROOT身份。...高通平台上,su相关代码位于: LINUX/android/system/extras/su/su.c中 Android开发中,偶有会遇到对一些定制设备开发,一般这种设备都会有root权限,开发中也会用到...比如安装操作,普通Android手机安装apk时都会跳出安装界面,但用到root权限时,这个可以跳过,操作如下: Process process = Runtime.getRuntime().exec...(IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 这里通过参数传入命令行,方法体中执行

4.3K10

Android 应用开发】Android 实现非root Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件

传入到 sd 卡中, 注意, 上传到内存中无法实现; -- 上传到sd卡成功 : 使用 adb push 文件名 手机文件全路径名 命令; octopus@octopus:~/csdn$ adb...即 /data/data/包名/files/下; 修改文件权限 : 使用命令可以直接修改该目录下权限, 注意这个操作是可以执行; 执行busybox : 代码中执行 ....: 调用 Context 上下文对象 context.getAssets() 即可获取 AssetsManager对象; -- 获取输入流 : 调用 AssetsManager open(String...); is.close(); 将文件写到内存中 : 调用上下文对象 openFileOutput(绝对路径名, 权限), 即可创建一个文件输出流; FileOutputStream output =...(); process = runtime.exec(cmd); 获取执行命令行结果 :  InputStream is = process.getInputStream

45820

java执行和停止Logcat命令及多线程实现

本人在使用UiAutomator时候,想多写一个自动收集手机log方法,使用runtime类执行了adb logcat方法,但是一直找不到好方法结束这个线程,网上说有kill pid,但是这个操作起来略微麻烦了...后来自己想了一个办法,去读input流时候,多加一个参数来写一个stop方法。下面是logcat类代码,分享出来,供大家参考。...其中一个destroy方法得直接去结束process线程,如果子线程在运行时候,直接调用destroy方法,就会报上面的那个错误。这个是自己总结,如有错误还请指正。...().exec(Common.ADB_PATH + cmd); } else { p = Runtime.getRuntime().exec("cmd /c " + cmd); }...可以自己logcat类里面做一个循环也可以使用logcat线程时候做循环,我用后者,因为我其他线程也是写在测试脚本循环当中。

1.7K31

Android手机上用户操作模拟方法研究与实现

首先看下Monkey是如何实现用户模拟Android2.3.7中Monkey实现了三种途径向系统插入Input事件: 1....从网上可以找到较多文档描述如何获取和模拟用户操作,但是没有很好普遍适用代码实现。该方法主要是基于Android输入输出子系统。先下AndroidInput子系统是如何工作。...Android系统本质是Linux系统,Linux中输入子系统是由输入子系统设备驱动层、输入子系统核心层(Input Core)和输入子系统事件处理层(Event Handler)组成。...Android我们可以通过命令adb shell cat /proc/bus/input/devices来查看,笔者三星GT-i9300运行结果如图3所示。...,那我们就可以将touch操作封装成函数给各种操作调用了,代码实现了一个函数,它负责根据系统支持事件来发送对应事件。

4.4K60

Android Binder漏洞挖掘技术与案例分享

其中包括Android系统锁屏密码绕过(影响了所有安全补丁2016年10月份以前Android 6.0、6.0.1、7.0系统)、三星手机关机窃听、三星手机越权修改主题、系统拒绝服务漏洞。...可扩展、易用是最大原因。下面简单介绍我如何使用drozer对Android Binder进行fuzzing测试。 介绍两种:fuzzing intent、fuzzing系统服务调用。...这里我介绍一种通用方式,不依赖数据类型。这里用到了15年初作者发现通用型拒绝服务漏洞,可以参考发布360博客技术文章Android通用型拒绝服务漏洞分析报告。...简单介绍下这个漏洞原理:通过向应用导出组件传递一个序列化对象,而这个序列化对象应用上下文中是不存在,如果应用没有做异常处理将会导致应用拒绝服务crash。...通过Java调用shell脚本利用 关键代码: Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec(command

1.9K70

安卓版微信跳一跳辅助 跳一跳辅助Java代码

操作方法 1.光标移动到起始点,点击FORM 2.光标移动到目标点,点击TO 3.小人已经跳过去了 原理说明 安装APP,通过设置起点和目标点位置,获得弹跳毫秒数,发送请求到连接手机电脑中,电脑执行...具体实现 本人测试设备是Mate9,android版本为7.0,由于非Root环境下,普通安卓应用并不能通过Runtime.getRuntime().exec()来点击本应用外区域,所以将手机直接通过...USB调试模式连接到电脑,点击TO按钮后, int a = Math.abs(mToX - mFromX); int b = Math.abs(mToY - mFromY); double c = Math.sqrt...GET请求到电脑中发布Servlet,然后电脑执行Runtime.getRuntime().exec(“adb shell input swipe 100 100 100 100 ” + time)来控制起跳...().exec("adb shell input swipe 100 100 100 100 " + time); } } 以上就是此Java版跳一跳辅助核心内容,从此制霸排行榜不是梦φ( ω<*)—

86061
领券