Drozer(python)交互会话中的java EOF处理
在Android应用程序中使用Java Drozer编写的代码测试漏洞。我需要直接从Java执行命令,到目前为止一切都很顺利,但是当drozer的交互会话启动时,我遇到了一个问题。问题似乎发生在需要处理EOF时,因为ctrl+D也无法停止会话。以下是我在按下ctrl+D键后得到的结果
*** Unknown syntax: EOF
下面是我用来从Java连接到Drozer的代码,在运行它之后,我的程序开始无限循环打印相同的错误:**未知语法:EOF。 任何其他命令都像符咒一样有效。知道我做错了什么吗
干杯
public class test1 {
public static void main(String a[]) throws InterruptedException, IOException {
List<String> commands = new ArrayList<String>();
List<String> commands1 = new ArrayList<String>();
commands.add("/usr/local/bin/drozer");
commands.add("console");
commands.add("connect");
ProcessBuilder pb = new ProcessBuilder(commands);
pb.redirectErrorStream(true);
try {
Process prs = pb.start();
Thread inThread = new Thread(new In(prs.getInputStream()));
inThread.start();
Thread.sleep(1000);
OutputStream writeTo = prs.getOutputStream();
writeTo.write("oops\n".getBytes());
writeTo.flush();
writeTo.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}
class In implements Runnable {
private InputStream is;
public In(InputStream is) {
this.is = is;
}
@Override
public void run() {
try {
byte[] b = new byte[1024];
int size = 0;
while ((size = is.read(b)) != -1) {
System.out.println(new String(b));
}
is.close();
} catch (IOException ex) {
Logger.getLogger(In.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
共 (0) 个答案