感觉计算机最后的2B题目有点恶心人了,加上服务器与物联网会在下半篇更新
电子物证-手机部分
1、(1 分)根据华为手机备份分析,手机型号是什么?[答案格式:HUAWEIMate30][手机取证]
HUAWEI P20 Pro
2、(1 分 ) 根 据 小 米 手 机 备 份分析,手机 IMEI 是多少? [ 答案格式:123456789012345/123456789012345][手机取证]
861144040007290/861144040007308
3、(1 分)根据华为手机备份分析,使用的”备份(localBackup)”APP 的版本号是多少?[答案格式:13.0.2.110][手机取证]
15.0.1.210
4、(1 分)根据华为手机备份分析(备份密码为:a1B2C3D4#),通讯录中“耗子”的手机号码是 多少?[答案格式:13112345678][手机取证]
19013265438
5、(1 分)根据华为手机备份分析,机主设置了在哪一天“给‘耗子’送‘鱼’”这个提醒? [答 案格式:2023-01-01][手机取证]
2025-11-19
6、(1 分)根据小米手机备份分析,机主的家庭地址所在省份是什么? [答案格式:海南省][手机取证]
黑龙江省
7、(1 分)根据小米手机备份分析,请给出WIFISSID为“work_5G”的密码是多少? [答案格 式:123456789][手机取证]
mywifi_12345
8、(1 分)根据小米手机备份分析,在其相册中有一张照片使用photoshop篡改过,请给出这张照片的名称是什么?[答案格式:IMG_20200101_010101.jpg][手机取证]
IMG_20240719_191634.jpg
感觉应该是这个,截屏时间是2024年,但是时间是2025年
9、(1 分)同上,请分析出此照片使用photoshop 的修改时间是?[答案格式:2025:01:01 01:01:01][手机取证]
2025-08-07 16:02:00
10、(1 分)根据小米手机备份分析,手机中登录过几个QQ号?[答案格式:5][手机取证]
3
11、(1 分)根据小米手机备份分析,在微信中,好友“wxid_8gmzat7zjnmf22(SunShine)”发给 嫌疑人一个文件名为“membership_commission.sql”数据库脚本文件,请给出这个文件的 SM3 后六位是多少?([答案格式:abcdef][手机取证]
d1f7f2
12、(1 分)同上,通过“membership_commission.sql”脚本文件,请给出会员级别为”gold”的 会员人数是多少?(字母小写) [答案格式:1][手机取证]
15
这个地方我选择写脚本将sql执行完成后转变成excel文件
import sqlite3
import pandas as pd
from pathlib import Path
sql_path = Path("13membership_commission.sql")
db_path = Path("temp.db")
excel_path = Path("13membership_commission.xlsx")
conn = sqlite3.connect(db_path)
with open(sql_path, "r", encoding="utf-8") as f:
conn.executescript(f.read())
tables = pd.read_sql_query("SELECT name FROM sqlite_master WHERE type='table';", conn)
table_names = tables["name"].tolist()
with pd.ExcelWriter(excel_path, engine="openpyxl") as writer:
for table in table_names:
df = pd.read_sql_query(f"SELECT * FROM {table}", conn)
df.to_excel(writer, sheet_name=table, index=False)
conn.close()
13、(1 分)同上,通过“membership_commission.sql”脚本文件,请给出会员级别为“silver”且消费金额高于同级别会员(silver)平均消费金额的会员数量是多少? [答案格式:3][手机取 证]
16
先筛选silver,然后计算平均值
14、(1 分)根据小米手机备份分析,在微信中,好友“wxid_8gmzat7zjnmf22(SunShine)”发给 嫌疑人一个文件“客户信息.xls”,但此文件有密码保护,已知密码为4位数字,请给出这个文件的密码是多少? [答案格式:0000][手机取证]
1973
passwarekit跑一下
聊天记录有,一开始没注意
15、(1 分)根据小米手机备份分析,请统计“客户信息.xls”中“电话”列不为空且“城市” 为“北京”的数据总共有多少条? [答案格式:123456][手机取证]
301
先移除密码,然后写个脚本统计
import pandas as pd
file_path = "客户信息.xls"
xls = pd.ExcelFile(file_path)
total_count = 0
sheet_counts = {}
for sheet_name in xls.sheet_names:
df = pd.read_excel(file_path, sheet_name=sheet_name, dtype=str)
if "电话" in df.columns and "城市" in df.columns:
filtered = df[
(df["电话"].astype(str).str.strip() != "") &
(df["城市"].astype(str).str.strip() == "北京")
]
count = len(filtered)
sheet_counts[sheet_name] = count
total_count += count
else:
sheet_counts[sheet_name] = "none"
print("各表统计结果:")
for name, count in sheet_counts.items():
print(f" {name}: {count}")
print(f"\n共有 {total_count} 条数据。")
16、(1 分)根据小米手机备份分析,app“umanager”使用Sqlite数据库存储数据,其中记录 用户信息的表“users”数据已被用户删除,请分析用户名为“uUser_eelum”的电话号码是 多少?[答案格式:13112345678][手机取证]
13601043742
17、(1 分)同上,在“umanager”app中有一个配置文件config.json.enc,但此文件使用AES对 称加密,请分析此加密密钥是什么?[答案格式:123456789abcdef][手机取证]
82572cc8b07bb7b5
导出base.apk后,jadx反编译
18、(1 分)同上,在配置文件config.json.enc 中记录了管理员admin的密码,请给出其密码是 什么?[答案格式:123456][手机取证]
a13579
19、(1 分)根据小米手机备份分析,“umanager”app中有一个transactions.json 文件记录了每个用户收入与支出,请统计用户ID为1512的总收入是多少?[答案格式:10000][手机取证]
194445
import json
with open("transactions.json", "r", encoding="utf-8") as f:
data = json.load(f)
total_income = sum(
item["amount"] for item in data
if item["user_id"] == 1512 and item["type"] == "income"
)
print(total_income)
20、(1 分)根据小米手机备份分析,在app“v2rayNG”中类型为“VLESS”的代理有多少个?[答案格式:101][手机取证]
483
电子物证-计算机部分
C1-3
在电子数据检验中,因某个U盘检材存在不稳定的扇区,每次镜像都会因这些不稳定扇区导致生成的目标文件无法稳定。为了尽最大可能可靠地固定这个U盘的原始数据,我们采用了间断性计算哈希的方法。具体方法为:对U盘每1M的数据计算SHA256哈希,将这些哈希值以二进制的方式顺序保存为一个哈希列表文件,再计算这个哈希列表文件的哈希,同时记录不稳定扇区所在的1M 块号。 实际检验中,我们对这个U盘做了2次副本,分别为disk#1.dd和disk#2.dd,对disk#1.dd 按上述算法计算的哈希列表文件为sha256list#1.bin,disk#2.dd未生成哈希列表。 现提供C1-3目录下的disk#2.dd和sha256list#1.bin 文件,请分析后回答问题1~3。
1、(1 分) U 盘的第几M存在不稳定扇区(编号从0开始)___[答案格式:123][计算机取证]
96
乍一看没看懂,读了好几遍,意思应该是用两次镜像的哈希列表对比来找不稳定扇区。
import os
hash_size = 32
def read_hash_list(filename):
with open(filename, "rb") as f:
data = f.read()
return [data[i*hash_size:(i+1)*hash_size] for i in range(len(data)//hash_size)]
hashes1 = read_hash_list("sha256list#1.bin")
hashes2 = []
block_size = 1024*1024 # 1M
with open("disk#2.dd", "rb") as f:
while True:
block = f.read(block_size)
if not block:
break
import hashlib
hashes2.append(hashlib.sha256(block).digest())
unstable_blocks = []
for idx, (h1, h2) in enumerate(zip(hashes1, hashes2)):
if h1 != h2:
unstable_blocks.append(idx)
print(unstable_blocks)
2、(1 分)这个不稳定扇区影响了哪个文件,请给出文件名:____[答案格式:abc123][计算机取证]
file147
定位到不稳定扇区块号是 96。
第 97 个 1MB 块,每块大小 1MB = 1,048,576 字节,按照扇区排序,每个文件大小是2MB,那应该会影响第49个文件,file147
3、(1 分)请按相同的思路,对disk#2.dd计算哈希,但哈希算法改为MD5,即以1M为块单位,先计算每块的MD5哈希,将这些哈希值二进制顺序写入到一个列表文件,再计算这个列表文件的MD5哈希。完成上述操作后回答,最终MD5哈希值的后6位是多少(字母大写) [答 案格式:A1B2C3][计算机取证]
877ebc
把上面的脚本改一改:
import hashlib
block_size = 1024 * 1024
hash_size = 16
input_file = "disk#2.dd"
output_file = "md5list_disk2.bin"
hashes = []
with open(input_file, "rb") as f_in:
block_index = 0
while True:
block = f_in.read(block_size)
if not block:
break
md5_hash = hashlib.md5(block).digest()
hashes.append(md5_hash)
block_index += 1
if block_index % 100 == 0:
print(f"已处理 {block_index} 块")
with open(output_file, "wb") as f_out:
for h in hashes:
f_out.write(h)
print(f"输出文件:{output_file}")
C4
data.csv 文件是一份来自某个涉案团伙的绩效提成表。表中包含三列数据:订单号、销售 ID、提成额。提成额的算法为:如果是周一至周五的订单,销售额的5%为提成;如果订单 是周六日的,提成额为销售额的10%。 请据此规则,通过分析计算后回答问题4。
4、(1 分) ID 为 S006 的销售人员2024年第3季度的销售额是多少__[答案格式:123][计算机取证]
提示:订单号中包含一个日期值,为订单产生时的时间记录,提成算法中涉及到的日期与此日期值相同。
3034690
借助datetime
函数可以判断当天是周几
import pandas as pd
from datetime import datetime
df = pd.read_csv("data.csv")
def extract_date(order_id):
import re
match = re.search(r'(\d{8})', str(order_id))
if match:
return datetime.strptime(match.group(1), "%Y%m%d")
return None
df['日期'] = df['订单号'].apply(extract_date)
# print(df[['日期']].head(500))
def get_quarter(dt):
if dt.month in [1,2,3]:
return 1
elif dt.month in [4,5,6]:
return 2
elif dt.month in [7,8,9]:
return 3
else:
return 4
df['季度'] = df['日期'].apply(get_quarter)
def calc_sales(row):
weekday = row['日期'].weekday()
if weekday < 5:
return row['提成额'] / 0.05
else:
return row['提成额'] / 0.10
df['销售额'] = df.apply(calc_sales, axis=1)
sales_id = "S006"
quarter = 3
result = df[(df['销售ID'] == sales_id) & (df['季度'] == quarter)]
total_sales = result['销售额'].sum()
print(f"{sales_id} 2024年第{quarter}季度销售额:", total_sales)
C5
加壳是保护程序不被反编译的一种重要手段。现在已知,esend.exe是一个被简单加过壳 的应用程序,其工作原理是在特定条件下搜集用户的敏感信息,并自动发送至某个电子邮箱。 又知这个邮箱的后缀是trek2025.ngo。
5、(1 分) 请分析一下这个电子邮箱的用户名是什么____[答案格式:123abc][计算机取证]
提示:脱壳后查找字符串。
7736
先查壳,是UPX,可以直接脱出来
按照提示strings
C6-8
在提供的虚拟机磁盘文件C6-8\disk.vmdk.7z中,有一个用于业绩统计的软件(路径为虚拟磁盘主分区根目录下的perf_stat_v6\perf_stat.exe),因部分文件破坏,系统无法启动,复制软件出来直接运行,提示“程序运行环境异常...”。 根据已知线索,程序运行时,需要先读取某个名称为.pem的密钥文件,再访问注册表 HKEY_CLASSES_ROOT(简称 HKCR)中的某个键值。 说明:HKCR是HKEY_CURRENT_USER\Software\Classes 与 HKEY_LOCAL_MACHINE\SOFTWARE\Classes 的合并视图,前者优先,后者在前者不存在时生效。
请通过技术手段尝试构建此应用程序所需环境,回答问题6~8。
提示:可利用微软官方的processmonitor工具,或你擅长的方法。
6、(1 分) 程序运行时需要依赖的一个.pem的文件名称叫什么____[答案格式:ABC123.pem][计算机取证]
cert.pem
取证后寻找perf_stat.exe
发现运行不了程序,缺少flutter_windows.dll
文件,导出后反编译dll,查找字符串
7.、(1 分)程序运行时需要访问的注册表键值中,用到了 HKCR下某个文件扩展名的子键值, 如:HKCR.bat\CombinedValidation,这是一个 REG_SZ 类型的字符串值,记录了一个以大写字符串形式表示的哈希值。请问:该哈希字符串值的最后6个字符是什么(字母大写) ___[答案格式:AB123C][计算机取证]
BC10B5
没有ProcessMonitor,看名字应该是个进程分析工具,火绒是自带的
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Notifications\41911A28A3BC10B5
8、(1 分)使用用户名admin,密码trek2025登陆系统,当对程序仿真运行起来后,看到的ID为1014的用户,其提成总计是多少____[答案格式:123][计算机取证]
272601
C9
C9 目录下的perf_stat.exe,是这个业绩查询系统的V1版本,其数据库data_v1.db中密码字段存储的内容为用户密码的单向哈希值,已知哈希算法是MD5。
请破解admin用户的密码明文,并使用密码明文登陆系统后,回答问题9。
9、(1 分) ID 为 1066 的用户,其提成总计是多少__[答案格式:123][计算机取证]
提示1:可以关注密码提示问题。 提示2:系统对数据库密码字段的修改有校验,不太容易修改密码。
245343
爆破一下20000001-20251231,密码是20191001
,但这些题,好像。。。不用登陆,直接取证数据库不就好了
C10
C10 目录下的perf_stat.exe,是这个业绩查询系统的V2版本,其数据库data_v2.db中记录的 用户密码算法未知,但好在我们成功获取到了id为1001用户的登录密码“trek2025”。 已知这个系统使用的用户密码算法同样适用于admin管理员,请利用这个信息,尝试登陆 这个系统,回答问题10。
10、(1 分)ID 为 1042 的用户,其提成总计是多少__[答案格式:123][计算机取证]
328513
C11
C11 目录下的perf_stat.exe,是这个业绩查询系统的V3版本,其数据库data_v3.db中记录的 用户密码算法未知。但我们在同级目录下发现了一个用于命令方式修改密码的ChsaPassword 程序。分析得知,这是一段用.net编译的程序,我们对其反编译后,生成了 "C11\V3.ChsaPassword\Program.cs"。 请利用上述信息,解除这个系统的口令限制,登陆系统后,回答问题11。
11、(1 分) ID 为 1082 的用户,其提成总计是多少__[答案格式:123][计算机取证]
分析C#编码,核心加密逻辑:
private static string ComputePasswordHash(string password, string salt)
{
string shA512Hex = ComputeSHA512Hex(ComputeSHA512Hex($"{salt}{password}i love trek2025").ToUpperInvariant());
return ComputeSHA256Hex(salt + shA512Hex);
}
- 拼接:
<salt><password>i love trek2025
- SHA512 一次,转大写
- SHA512 再一次
- 再用 SHA256 对
<salt> + 前面结果
做哈希
密码修改逻辑:
string newSalt = GenerateSalt(12);
string newHash = ComputePasswordHash(newPassword, newSalt);
string finalStored = $"#3@{newSalt}@{newHash}";
UPDATE users SET password=@newPassword WHERE username=@user
-
验证旧密码:
- 用户输入旧密码
- 用
ComputePasswordHash
验证
- 输入新密码并确认
- 生成新 salt:
GenerateSalt(12)
,随机 12 位字母+数字
后面算数题目就不看了
C14
14、(1 分) C14\data.pdf 文件无法打开,怀疑进行了简单的加密,请分析文件结构,尝试解密 文件,并回答文件第一页中记录的密码是什么____[答案格式:Aa12b3][计算机取证]
看了文件结构,没啥密码提示,怀疑是异或
a = 0x25504446
c = 0x82F7E3E1
mask = a ^ c
hex(mask)