2025盤古石晉級賽
vr案情中獲得的關鍵信息

手機取證
1.分析安卓手機檢材,手機的IMSI是? [答案格式:660336842291717]

結果為460036641292715
2.養魚詐騙投資1000,五天后收益是? [答案格式:123]
qq里,解密一下數據庫,首先需要從mmkv里獲取用戶的uid

然后解密數據庫

聊天記錄里是圖片,但是找不到對應文件

但是在緩存目錄里能發現這個圖片緩存,不過暫時不知道通過什么可以映射上

結果為175
3.分析蘋果手機檢材,手機的IDFA是? [答案格式:E377D1D7-BA02-4A79-BB9A-5C2DE5BD1F17]
手工翻找不到哇

結果為E477D4C7-BD02-4979-BC9D-5C5DE7BD1F17
4.Telegram應用的卸載時間是? [答案格式:2023-01-22-17:37:50]
private\var\installd\Library\Logs\MobileInstallation\mobile_installation.log.0

結果為2025-04-17 10:51:39
5.機主hotmail郵箱地址是? [答案格式:123345@hotmail.com]
tg不會解密

結果為hostsixer@hotmail.com
6.蘋果電腦開機密碼是? [答案格式:12345]
應用快照里,xways沒法直接預覽

結果為12345678
7.Telegram加密通訊中,加密聊天信息用到的第二個解密載體是? [答案格式:123.zip]
mac電腦備忘錄里


結果為2.mp4
8.賈韋碼的內部代號是? [答案格式:77]
搜索密文可以找到對應的文檔

結果為48
9.特快專遞的收貨地址是? [答案格式:老牛市快速路11號ADE公司]

結果為西紅市中山路35號PGS健身房
APK取證
1.分析安卓檢材,遠程工具包名是? [答案格式:com.app.cpp]
銀聯會議,qq里發的


結果為com.carriez.flutter_hbb
2.遠程工具中繼服務器IP是? [答案格式:192.168.11.11]

結果為59.110.10.229
3.遠程工具ID服務器端口是? [答案格式:8088]
結果為21116
4.遠程工具中繼服務器Key是? [答案格式:HOtGxUuV9OxSSEWRFsr1DVxQBkbbFReOImYMT1zyec=]

結果為WIUqzRq1Ocx4QNnsF26dZQijKdyd2L9OfaT55hDlQCI=
5.遠程遙控中收藏的遠程ID是? [答案格式:123456]

結果為1807892422
6.遠程控制該手機的手機型號是? [答案格式:huawei-Hot]

結果為google-Pixel
7.監聽工具包名是? [答案格式:com.app.cpp]
app里找了半天,應該是這個

結果為com.example.liekai
8.監聽工具代碼主入口是? [答案格式:com.app.cpp.MainActiddidy]

結果為com.example.liekai.MainActivity
9.監聽工具的簽名算法是? [答案格式:AES123RSA]

結果為SHA256withRSA
10.監聽工具運行多少秒后會跳轉成黑色幕布? [答案格式:3.000]
高版本安裝后一直白屏,查看logcat后發現是存儲權限問題,主動給一下
adb shell pm grant com.example.liekai android.permission.READ_EXTERNAL_STORAGE
adb shell pm grant com.example.liekai android.permission.WRITE_EXTERNAL_STORAGE
使用blutter反編譯python3 blutter.py /mnt/g/2025盤古石杯/晉級賽/export/arm64-v8a /mnt/g/2025盤古石杯/晉級賽/export/

asm目錄里dart的字節碼,在這邊可以簡單看一些東西,比如黑幕中間的內容

然后到objs.txt里搜索

定位到這里,有個delay函數

查一下值,這里是純猜

結果為1.000
11.監聽工具運行后,黑色幕布上字符串是? [答案格式:aes取證平臺]
結果為pgs比武專用
12.監聽工具檢測到多少分貝開始錄音? [答案格式:30]

結果為70
13.監聽工具錄音連續幾秒沒有檢測到聲音停止錄音? [答案格式:3]
結果為4
14.監聽工具保存文件存儲路徑的數據庫名稱是? [答案格式:sqlite.db]

結果為recordings.db
15.監聽工具保存錄像文件的文件夾是? [答案格式:file]
用blutter生成的腳本進行hook
function onLibappLoaded() {
// xxx("remove this line and correct the hook value");
const fn_addr = 0x394a84;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("videoKeyByte =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function videoIVBytes(){
const fn_addr = 0x394928;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("videoIVBytes =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function pathIVBytes(){
const fn_addr = 0x370f2c;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("pathIVBytes =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function pathKeyBytes(){
const fn_addr = 0x371054;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("pathKeyBytes =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function audioIVBytes(){
const fn_addr = 0x395668;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("audioIVBytes =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function audioKeyBytes(){
const fn_addr = 0x3957c0;
Interceptor.attach(libapp.add(fn_addr), {
onLeave: function (retval) {
console.warn("audioKeyBytes =>")
console.log(getTaggedObjectValue(retval))
}
});
}
function tryLoadLibapp() {
libapp = Module.findBaseAddress('libapp.so');
if (libapp === null)
setTimeout(tryLoadLibapp, 500);
else{
onLibappLoaded();
videoIVBytes();
pathIVBytes();
pathKeyBytes();
audioIVBytes();
audioKeyBytes();
}
}
function getTaggedObjectValue(tptr, depthLeft = MaxDepth) {
if (!isHeapObject(tptr)) {
// smi
// TODO: below support only compressed pointer (4 bytes)
return [tptr, Classes[CidSmi], tptr.toInt32() >> 1];
}
// 注意這里一定要把下面這行注釋掉
// tptr = decompressPointer(tptr);
let ptr = tptr.sub(1);
const cls = Classes[getObjectCid(ptr)];
const values = getObjectValue(ptr, cls, depthLeft);
return [tptr, cls, values];
}
可以拿到解密數據庫中路徑的key和iv


解密路徑

結果為recording
16.監聽工具數據庫中保存音視頻文件的路徑使用什么加密? [答案格式:Rsa]

結果為Salsa20
17.錄音的文件采用什么加密方式? [答案格式:RC4-123]
密鑰長度256位

iv是128位的

結果為AES-256
18.錄像文件加密密鑰的最后一位是? [答案格式:0x6A]
key

iv

結果為0x4D
19.原始文件md5為3b4d****55ae的創建時間是? [答案格式:2024-2-14-16:32:8]
python搓一個解密腳本
from base64 import b64decode
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import os
def decrypt_base64_aes_cbc(encrypted_data: str, key: bytes, iv: bytes) -> str:
encrypted_bytes = b64decode(encrypted_data)
cipher = AES.new(key, AES.MODE_CBC, iv)
decrypted_bytes = unpad(cipher.decrypt(encrypted_bytes), AES.block_size)
return decrypted_bytes
def decrypt(folder_path: str, key: bytes, iv: bytes) -> str:
for root,dirs,files in os.walk(folder_path):
for file in files:
with open(os.path.join(root, file), "r") as f:
encrypted_data = f.read()
decrypted_data = decrypt_base64_aes_cbc(encrypted_data, key, iv)
with open(os.path.join(root, file+"_dec"), "wb") as f:
f.write(decrypted_data)
def main():
audio_key = bytearray.fromhex("2b7e151628aed2a6abf7158809cf4f3c2a7d141527add1a5aaf6148708ce4e3b")
audio_iv = bytearray.fromhex("000102030405060708090a0b0c0d0e0f")
video_key = bytearray.fromhex("3c8f262739bfe3b7bc0826991ad0504d")
video_iv = bytearray.fromhex("101112131415161718191a1b1c1d1e1f")
decrypt(r"G:\2025盤古石杯\晉級賽\export\files\video", audio_key, audio_iv)
decrypt(r"G:\2025盤古石杯\晉級賽\export\files\recording", video_key, video_iv)
if __name__ == "__main__":
main()
解密后的哈希也沒有對的上的。。
找到文件后,再去數據庫里查創建時間
找人問了出題人,得到結果是這個文件,這里肯定是出題人失誤,他解密時用的nopadding,導致尾部有臟數據,nopadding解出來哈希就能匹配上了


結果為2025-04-18 14:32:08
計算機取證
1.分析賈韋碼計算機檢材,計算機系統Build版本為? [答案格式:19000]
網絡信息好像由于Registry庫的問題,注冊表沒法正常解析,把那個函數注釋掉了

結果為18362
2.計算機最后一次正常關機的時間為UTC +0? [答案格式:2025-05-06 09:00:00]
結果為2025-04-18 03:20:53
3.計算機網卡的MAC地址為? [答案格式:00-0B-00-A0-00-00]
注冊表找一下

結果為00-0C-29-0F-60-00
4.計算機用戶“賈韋碼”安全標識符SID為? [答案格式:S-X-X-X-X-X-X-X]

結果為S-1-5-21-3733482367-3411043098-2536183883-1001
5.計算機默認瀏覽器為? [答案格式:Mozilla Firefox]

結果為Google Chrome
6.計算機默認瀏覽器版本為? [答案格式:000.0.0000.00]

結果為135.0.7049.85
7.機主通過瀏覽器搜索國外社交軟件為? [答案格式:Whatsapp]

結果為Telegram
8.機主的郵箱賬號是? [答案格式:pgscup@pgs.com]

結果為tqmdavidjohnson300@gmail.com
9.計算機安裝過一款反取證軟件為? [答案格式:Encrypt.exe]

結果為VeraCrypt.exe
10.計算機通過xshell遠程連接的IP地址為? [答案格式:127.0.0.1]

結果為192.168.56.129
11.機主曾買過一個美國的TG賬號,請給該賬號的兩步驗證密碼? [答案格式:8位數字]
郵件有

結果為13770603
12.給出其電腦內加密容器的解密密碼? [答案格式:Abc@123]
找到容器,結合vr里的提示


掩碼攻擊


結果為Pgs8521d3j
13.給出其電腦內加密容器掛載的盤符? [答案格式:C]

結果為F
14.給出其電腦內存放了多少張偽造身份證? [答案格式:10]

結果為1023
15.給出任敏的身份證編號? [答案格式:18位]

結果為430529195112085460
16.找出其電腦內存放的密鑰文件,計算MD5? [答案格式:字母小寫]

這個文件在分區間隙里


結果為keyfile.keyfile
17.找出其電腦內存放的密鑰文件,解密此密鑰文件,給出其內容? [答案格式:第3屆pgscup]
結果為zfs加密pool密鑰文件
*18.對macOS系統進行分析,登陸的電子郵件服務是誰提供的? [答案格式:pgscup]
19.系統備忘錄的包名是什么? [答案格式:com.dfefef.note]

結果為com.apple.Notes
20.圖片中隱藏的內容是什么? [答案格式:隱藏內容 刷子戲子痞子]
lsb隱寫,red通道0

結果為位移加密 正向位移操作
21.被加密文件的擴展名是什么? [答案格式:123]

結果為enc
22.被加密的文件總共有幾個? [答案格式:5]

結果為1
23.賈韋碼家使用的智能門鎖品牌型號是什么? [答案格式:小米XX號]
加密的密鑰是固定的,打印出來就行,另外iv是保存在文件頭部16個字節的,據此解密即可


結果為金剛Ⅲ號
EXE取證 PE Binary Forensics
1.分析Windows木馬,其控制端IP是? [答案格式:192.168.1.11]
先找到木馬


結果為104.18.45.79
2.軟件會復制自身到哪個文件夾下? [答案格式:DaTa]

結果為SubDir
3.軟件復制后,復制后文件名是? [答案格式:AppTmp.exe]
結果為BwAcr.exe
4.軟件一共可以竊取多少種瀏覽器的數據? [答案格式:3]
c#寫的,上dnsPy

找到了Application Name,所以全局搜










這里面只有FileZilla和WinSCP不是瀏覽器
結果為8
5.軟件查詢安裝的殺毒軟件出錯或異常會返回什么字符串? [答案格式:Apps]

結果為Unkown
蘋果應用取證
*1.對Mac電腦中的加密程序進行分析,使用了一個特定的數作為密鑰生成過程的種子,請問這個數是什么? [答案格式:1234]

少模塊

在lib里找到

反編譯一下


結果為42
2.分析文件頭部元素并確定它們的正確順序。將字段名按順序連接并提交。 [答案格式:字段1_字段2_字段3...]
是加密文件的?

結果為iv_encrypted_data
3.分析密鑰派生過程中使用了幾個算法步驟。其中一個函數名與其實際功能不符的名稱。找出這個函數名并提交? [答案格式:函數名]
這里的mixed_base沒有使用,所以并沒有descramble

結果為_descramble_key
*4.程序中實現了一個故意減慢加密過程的機制,延遲值是多少? [答案格式:1.1]
做到這里總感覺提取的程序不對。。
*5.程序中隱藏了一個版本標識符,請找出版本號? [答案格式:v1.1.1]
服務器取證
需要注意pc17,文件本身是密鑰,則密鑰為emZz5Yqg5a+GcG9vbOWvhumSpeaWh+S7tg==
1.分析服務器檢材,找到服務器系統啟動盤的GUID? [答案格式:數字、字母、-的組合,字母大寫]

結果為223DCB83-82B0-4C62-864A-DB28D84735B8
2.找出服務器網關IP? [答案格式:1.1.1.1]

結果為192.168.56.128
3.找出服務器數據盤的文件系統格式? [答案格式:ntfs]

結果為zfs
4.找出服務器數據盤的解密密鑰文件名? [答案格式:abcd]

結果為keyfile
5.找出服務器密碼? [答案格式:key@123]
john字典攻擊

結果為P@ssw0rd
6.找出服務器操作系統版本號? [答案格式:0.0.0]
先把系統盤轉成vmdk,方便編輯
- 掛載server2
- 以server2為現有物理磁盤(最好選SATA協議)創建一個utuntu虛擬機,并在虛擬機設置當中使用uefi引導,此時不要開啟虛擬機
- 編輯vmx文件(這里本來想用xhci,也就是usb3.1來引導的,但是一直不成功,不知道原因),然后啟動虛擬機就可以正常引導了
ehci:0.present = "TRUE"
ehci:0.deviceType = "disk"
ehci:0.fileName="server1.vmdk" 這里是系統盤鏡像的路徑,最好是復制一份過來用
ehci:0.readonly="FALSE"

結果為7.0.1
7.找出服務器內網盤Docker的虛擬磁盤位置? [答案格式:/home/abc/adc.raw]
修改網卡配置文件,改到同網段,以便用ssh和web界面

登錄到web頁面,可以看到磁盤陣列還沒解密,這里上傳密鑰文件或者輸入密鑰內容就可以點擊啟動按鈕啟動陣列了



結果為/mnt/disk1/docker.img
8.找出服務器啟動盤的啟動標識? [答案格式:D100 (型號即可)]

結果為aigo_U210
9.找出服務器內共有多少個容器鏡像? [答案格式:10]

結果為9
10.找出服務器內網盤服務器所用數據庫運行的容器端口號? [答案格式:abc-abc-1]

結果為www-db-1
11.找出服務器內虛擬幣容器對外暴露的端口號? [答案格式:8000]
結果為22556
12.找出投資理財網站的域名? [答案格式:3w.baidu.com]
啟動網站和數據庫容器

能看到網站掛載路徑是/mnt/disk1/www
日志里有記錄后臺入口

看一下數據庫連接配置,連上數據庫

看到密文很像md5,直接123456替換進去,登錄一下看看有沒有加鹽

實測沒有加鹽直接登錄成功,無需分析代碼

但是這里的域名不合答案格式

這里的域名在手機qq里有符合答案格式的

結果為2025.pgscup.com
13.找出投資理財網站內連接數據庫的密碼? [答案格式:password]
結果為www_dkewl_com
14.找出投資理財網站后臺訪問地址? [答案格式:http://www.baidu.com/login.html]
結果為http://2025.pgscup.com:8080/www9nwcc/login.html
15.找出投資理財網站會員等級儲存在哪個數據庫表內? [答案格式:user]
前端看一下內容

數據庫找一下就行

結果為user_member
16.找出投資理財網站提現成功的金額? [答案格式:10000]
充值提現的表是空的,docker映射能看到2個sql,導入sql


結果為5769477
17.找出投資理財網站內用戶王欣的銀行卡號? [答案格式:16位數字]


結果為2114313505182218
18.找出投資理財網站用戶的最低提現金額? [答案格式:10000]

結果為100
19.給出投資理財網站內0代表用戶處于那種狀態? [答案格式:核實]


結果為正常
20.投資理財網站內,通過支付寶充值狀態為未支付的金額? [答案格式:10000]
select sum(money) from recharge where left(type,3)='支付寶' and status=0

結果為11642201.00
21.對賈韋碼計算機進行分析,賬本系統使用的web框架是什么? [答案格式:Django]
虛擬機

虛擬機加密了,但是pyvmx-cracker好像跑不出來,edpr加載提示沒加密

直接將加密字段去掉,這里應該是沒有加密磁盤,所以可以這樣操作

密碼弱口令,123456,反查哈希得到

結果為Nodejs
22.對賬本系統進行分析,賬本使用的數據庫版本是多少? [答案格式:1.1.1]
看歷史記錄重建網站

前端npm run serve后端npm run dev

ip在前端被寫死了,這里可以直接給適配器添加一個ip


數據庫這里監聽的ip改成0.0.0.0并重啟服務,這樣本地可以連接,注意這里沒有身份驗證

現在web可以登錄
結果為5.0.3
23.對賬本系統進行分析,使用的數據庫庫名是? [答案格式:test]

結果為crm
24.對賬本系統進行分析,用戶手機號碼在數據庫中的加密方法是? [答案格式:xor-325-dfg]

結果為aes-128-cbc
25.分析 crypto.js 中的 _0x3ad7 函數,找出返回加密數據的方法的編碼格式? [答案格式:ascii]


結果為utf8
26.分析 crypto.js 中的 _0x3ad7 函數,找出使用異常作為控制流的觸發語句? [答案格式:Test:connec]


結果為error:加密處理異常
27.分析KeyManager.js中 `initializeKeys` 函數的密鑰獲取優先級是什么? [答案格式:優先級1>優先級2>優先級3]



先從.env里直接讀取,如果沒有密鑰且有masterpassword,則隨機生成,否則就從key.dat中讀取
28.對賬本系統進行分析,賬本記錄的用戶總數是多少? [答案格式:1234]
管理員密碼bcrypt,123456替換登錄


結果為2000
*29.對賬本系統進行分析,身份證號 "430014197812200986" 用戶的投資金額是多少? [答案格式:111111]
查不到這個身份證
30.對賬本系統進行分析,姓名為明鳳英的客戶有幾人? [答案格式:1]

結果為2
物聯網取證
1.分析冰箱,請問智能冰箱的品牌? [答案格式:xiaomi]

結果為Panasonic
2.請問智能冰箱的型號? [答案格式:MiFridge2024]
結果為NR-E46CV1
*3.請問智能冰箱的uuid? [答案格式:34567890-12cd-efab-3456-789012cdefab]

結果為12345678-90ab-cdef-1234-567890abcdef
4.請問智能冰箱默認保存幾張圖片? [答案格式:1]
搜索face,應該是存5張,后面2個沒有數據

結果為5
5.請問冰箱中已存的第一張圖片上的內容是什么? [答案格式:滿城盡帶黃金甲]
這邊face1,jpg圖片,通過簽名定位文件內容



結果為盤古石杯賈韋碼
6.請問冰箱中已存的第二張圖片的名稱是什么? [答案格式:123.jpg]
文件簽名是jpg
結果為face2.jpg
7.請找冰箱中隱藏的內容? [答案格式:chuxizixipizi]
strings一下

結果為pangushicup
8.請找出冰箱中嫌疑人圖片MD5值的后六位? [答案格式:1a2b3d]


結果為882564
*9.找出冰箱最后一次開門時間? [答案格式:10:11]
找不到其他數據,這邊的2935是對應了文件大小

考慮之前的解密出的壓縮包里有face1,但是不確定

結果為15:48
10.默認圖片的存儲限制大小是多少? [答案格式:1KB]
文件偏移,中間差了102424給字節,100kb,有一部分是用來存儲元數據


結果為100KB
11.分析video.E01,被修改的錄像md5前5位是? [答案格式:1a2b3]
這個命名格式的文件都是ts文件,維度這個是mp4

視頻內容中,前后時間矛盾



結果為ea7be
數據分析
需要先找到要分析的數據

1.對賈韋碼計算機檢材進行分析,該詐騙集團的最高層領導者的ID和姓名? [答案格式:M0000001 姓名]
先算層級


select *
from members m
left join `tree` t on m.member_id = t.ID
where t.所處層級 = 1;

結果為楊俊
2.找出從直接下線中所有下線提現總金額最高的成員ID? [答案格式:M0000001]
select payer_id, sum(amount) total
from transactions
where `type` = 'withdrawal'
group by payer_id
order by total desc
limit 1;

結果為M019024
3.找出從直接下線獲得平均傭金最高的成員ID及其平均傭金金額? [答案格式:M0000001, 123.12]
select payer_id, avg(amount) avger
from transactions
where `type` = 'commission'
group by payer_id
order by avger desc
limit 1;

結果為M028080,999.43
4.找出注冊時間最早的前10%成員中,交易次數最多的5位成員的ID列表? [答案格式:M0000001, M0000002, M0000003, M0000004, M0000005]
傾向于整個表的內容都認定為交易
select round(count(1)/10,0) from members; # 3000
select member_id, registration_date, b.交易次數 + c.交易次數 次數
from (select member_id, registration_date from members order by registration_date limit 3000) a
left join (select t.payer_id, count(1) 交易次數 from transactions t group by t.payer_id) b
on a.member_id = b.payer_id
left join (select t.payee_id, count(1) 交易次數 from transactions t group by t.payee_id) c
on a.member_id = c.payee_id
order by 次數 desc, registration_date;

結果為M028190,M013525,M020089,M018530,M027815
*5.找出交易次數增長率最高的成員ID及其增長率? [答案格式:M0000001, 24.44%]
以什么依據算增長率?
*6.統計狀態"active"、90天無交易、歷史交易額前20%的成員數? [答案格式:111]
連續90天無交易還是總計90天及以上無交易,還是恰好必須有90天沒有交易??!
7.找出有上線且直接下線最多的成員ID及下線數? [答案格式:M000001:數量]
select upline_id, count(member_id) nums
from hierarchy
group by upline_id
order by nums desc
limit 1;

結果為M009748:18
8.比較最早年份Q1與Q4注冊成員的總交易額,指出哪個更高及其金額? [答案格式:Q1:123.12]
select a.季度, sum(ts.amount) 交易額
from (select member_id,
case
when left(registration_date, 7) = '2020-01' then 'Q1'
when left(registration_date, 7) = '2020-02' then 'Q1'
when left(registration_date, 7) = '2020-03' then 'Q1'
when left(registration_date, 7) = '2020-10' then 'Q4'
when left(registration_date, 7) = '2020-11' then 'Q4'
when left(registration_date, 7) = '2020-12' then 'Q4'
end AS '季度'
from members
where left(registration_date, 7) in ('2020-01', '2020-02', '2020-03', '2020-10', '2020-11', '2020-12')) a
left join transactions ts on a.member_id = ts.payer_id
group by a.季度
select a.季度, sum(ts.amount) 交易額
from (select member_id,
case
when left(registration_date, 7) = '2020-01' then 'Q1'
when left(registration_date, 7) = '2020-02' then 'Q1'
when left(registration_date, 7) = '2020-03' then 'Q1'
when left(registration_date, 7) = '2020-10' then 'Q4'
when left(registration_date, 7) = '2020-11' then 'Q4'
when left(registration_date, 7) = '2020-12' then 'Q4'
end AS '季度'
from members
where left(registration_date, 7) in ('2020-01', '2020-02', '2020-03', '2020-10', '2020-11', '2020-12')) a
left join transactions ts on a.member_id = ts.payee_id
group by a.季度


結果為Q1:20959551.33
9.找出成員地址中最常出現的省份,并計算居住在該省份的所有成員的總提現金額? [答案格式:省份, 123.12]
select count(member_id) 人數, left(address, 2) 省份
from members
group by 省份
order by 人數 desc; # 江蘇
select sum(ts.amount)
from members m
left join transactions ts on m.member_id = ts.payer_id
where left(m.address, 2) = '江蘇'
and ts.type = 'withdrawal';

結果為江蘇,2301065.13
10.計算最高層領導者的凈資金流? [標準格式:123.12]
select 收入-支出 from
(select sum(amount) 支出 from transactions where payer_id='M020038') a,
(select sum(amount) 收入 from transactions where payee_id='M020038') b

結果為17443.99

浙公網安備 33010602011771號