在几年前的一个PC反病毒项目中利用过perl脚本实现过一套sandbox的自动化任务系统,当时的业务流程是:自动的取任务,执行任务,输出日志,分析日志,页面展示的系统。最近两年在研究android方面的一些东西。突然想到,android目前病毒的爆发,可能也需要类似的自动化系统来做一些自动化的分析:比如竞品分析系统,比如sandbox系统,都需要类似的业务逻辑。
下面分享一个用perl脚本自动化控制android模拟器运行一款android下的扫描程序的脚本程序:
control_emulator.pl
#!/usr/bin/perl
#----------------------------------------------------------
#------------------------created by linux_feixue-----------
#----------------------create time:2013-1-15---------------
BEGIN
{
my $path;
if ($^O eq 'linux')
{
if ($0=~m/^(.+)\//) { $path = $1; } else { $path = readpipe('pwd'); chomp($path); }
unshift(@INC, $path);
chdir($path);
}else
{
die("Please run this script on linux.\n");
}
}
my $num=500;
my $count=1;
my @devices=readpipe("adb devices");
if(scalar(@devices)>0)
{
foreach my $emulator (@devices)
{
chomp($emulator);
if ($emulator=~m/(emulator-\w{4})\s/)
{
system("perl loop_download.pl --avd=$1 --num=$num --id=$count&");
$count++;
}
}
}
loop_download.pl
#!/usr/bin/perl
#-----------------------------------------------------