前言:后面有事没时间打比赛怎么办?那当然是把游戏破解了啊。安全人,安全魂,安全人偏不走寻常路~
直接找漏洞,burp抓包加源码一把嗦,发现了边界控制的问题。
直接上视频
黑客是怎么玩俄罗斯方块的!_哔哩哔哩_bilibili
漏洞原理
贴上漏洞修复的改动图。
可以看到,改动之前新建方块之后可以没有操作,那么执行连续的NN操作时,前面的方块因为没有操作,所以它就会在屏幕外面不动。
因此,可以通过连续的N做到选择方块的效果。
漏洞利用
因为自己玩俄罗斯方块比较菜,除了I和O型方块都没法完美的消除,所以我们这里利用漏洞只选择I或者O方块。
首先利用js生成方块序列
代码语言:javascript复制let { a, M, C, v } = {
a: 27073, // 乘子
M: 32749, // 模数
C: 17713, // 增量
v: 12358, // 随机数种子
};
function step() {
return v = ((v * a C) % M);
}
let tbl = [0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6];
let pname = "IJLTOSZ";
let res = "";
for (let i = 0; i < 10000; i ) {
let rnd = step();
res = pname[tbl[rnd % 29]];
}
console.log(res);
然后我们就可以找出I方块出现的位置,但是这里遇到一个问题,因为懒得去思考,所以直接放弃I方块,改用O方块。
O方块很好叠加,只要按照一行一行摞起来就行,直接编写脚本处理。
代码语言:python代码运行次数:0复制/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释
* tetris_str = "ZIOSJZSIZLSSZZIZZLOJSOJJSZSLSZZIZZSLZOZSZOZZOJOZLLOIZJZSSSTSOIZOZLZZOZJZZOZOSSZZSZOTJTIZSSZJTSJTIZZLOJSZSOISZJSITZOLSZZTSTZTSTJOZOOLSTTOLZTZIOZOTZOTZTTSTZZLTZLOOOSJTSOTTTOSLTZLSLTSZJIZZZTTZOOTZZJTOZSOZTIJJTSSSJITTTSLISTLZZLZZJJZTJJTZTZTOJLZZOZJZOSSSJISJTLSLJSTIZTTLTTTTSIZZZOJTJZOSITSOJOTTLSOSZZTZZIZZIIJOJZOIZZZSTOZOOJTTSZZZJSITITZSTLZOLIJLOSTZOJOOOILTLOOZJZOOZTSTTISSSJTTIZSJOOLTOSITIZZJILSSJOOIITSSOZJOLTTIOJSJTLOSZSSTZSOTTSJZIJZZZTILSZZZZZOZSTZZSZLZTSSTOSSSIZSTJSLJTZSTZOLSOSSJZSLSLJSSZTTOZTZSOOTLZZSOTSZTZOLOZLZSSSZZSZTZSSZOSTSSJLIZLSZZTJLSJSZTTITZOJOZOOJOZSZJJSJZSOZZJZOZSSZSOZZLZZOSTSOSSSZSIOTTSTZTOJZSOSLSZOZJSOOISJOOJLOZLZLSZJLTSJJTOSLTZZJTZOTSZZSIZZJZSZOTZOLSOTTSSSSSJTTZOZTZJTSLJOJSLZOZTOOITJOZIJSZJOZSSSLTTTZSSZZSSOZSOSJLTOLLTOLZSIOTOZOSZZLZZOSJSLOJTZTOSSOZIZZZTLSJSIJOLOSOJZOJLZOZZJZISSSISSTISOIJZOLSSTOOOLOLZTJTSJSLTZSSISTSTTZTOLZSSZLOOSJTLTJSSTTZSZZZOZLLLOSSSTSZSTZTZILTIZZSSOZJTTIJSSLOZZSZZTSJOOZSSTTLSSZOIZLOSOLTTJZSZZZOTSJSSLILTTSZZZSTOTOOSZJZIZZISTSZTLOOIZLSTTZLJOISLSSZZILSLIOLZOLSZLSJILTZOTSZSOTJLZILOZOISTZZSZOILJSLZTJZSSOSITISSSOOJZSZOSTOZOZJSZOOOZSLLLSJTSISISIOOJLZSZOOZZJSZSOZSZLTZZZIZJZZLLSTSOOSOOZLZJLSTJSTSZSSOTJSOISOLSTTLSSLOSLOOLJSOTIISLLZSISSSOJTIOTLSZZJTIZJSOSZZSTOSLZTLTZLZOZLSOLZJILSJJSZSLITOSTZTTSZIOOOOJISZTOSZZOLLJOTJOTTOLLTZZSSILIOSZIJZZTZIZOJZJZZSZZSISILJZIOTOJOSTOZOJLZOOZSOZSLISOZTZLZTIZSTITTSOSJJTJLIZOZZSLLSZZSZJZZOSLOLJOOLOTSZOTJTZZSTOZSZZSTZOZSOISSLJTTJZJLTTJSZZSSLILLSTSLSIZSZOZJJTSSOTLIZSOOSTZLZLSZLTLOOOTSOJJZJSOTTZLTSOLZOSZOSLJZSIOTOSZJTSIJZSLZTOOOZZZLOSLTSTOZOOIOJTTSJSTTSTLOZISTZZJSOJTOZZZTTOIOSTLTTOZSZSSJLZTZOZZTZSOSOOZOJSZZOJLSTSSTOITZTJZSLLILSTTLSZTOIOOSZSTOLLLOZJLTTTITZOZJISSSSIZTZZTIJSZSZZZZSSZTJZTTTTOILJSTZJOLZOOJZZSOZOOIOLZLZTSOJISJLISZSJJSOSSLLOOJTSZTOOOSZTTZJLTISOTZZTLTJLOZLOOTSZTSIZZZOSISSSLIJJZTOOLZZSSZSZOOSSSTOZLZOZZZZSZLSOOZSOOZIZLZTSLSLTLOZOOZTLIJIOZZJSSZTOJZIOZZLTSSJITLLJOJTSJJLZSOSTZZLZOOOOISSOJIJOLIIIZOLOLOZSTLZTOZLSLOZIOSZSIOZTTJTJZOLOZZTLOZLTLSSLZSILTZZITZJZLZZZSSOTOOSLIIZTZSSSLSOITJZZSJSSSOLLOTSIOSSZZOTJZSTITZTZTOTTJISIZOZLTTJLLOLSZOISZLZSJJZLSZOOZZSSLOOZJZSSSOOTSZZSZSIZSTSOTJIOSJLZOZTLSOTLSJOLLTOSLSJSJSLSZTOSOLTIOSLJZZZJLLJOLSTOOSZZLIOLSZJSSSOSSSTOZZSLZTZZZSZSJJLOSSJTITLOJZZLZJOZLLOJOZSLZSTZJSIZSOSITOJZZZJZTILZTOIZZISIOLZZLTSSZSJOSZZZIZSLSOTTIZOOZOJSSIILJSJIITSSIJLZOSSTZJISZZZSLJSJSTZLZSOTSZOLOZTLIZOOZLLSOOOTZJOTTOOSZOOJOSSJOSSZSSTJSZISOOSZILLZSIIJOTZTOSTOZLZLSZOZTOOZOZLOSIZSOOZOLZSSZTOSTTOLZOTSLOJLSOJTJJOZZTSZZZZZTSJZZJOOOZZTTTSOSSSZTOOTILSLTTZSLZOOJZOTLSZTZJTTSILZTSOSSZZSOZZZZSJISSLISLLJOZZOLLTSTTZZOSIOJSZJOZOZTJZJZSTSSOTOJSZZSIOOSTLOZSJZLSOSSSOOLSZJOOZLOOOTSSJSTOZTTTLZOLSSJTSIOZZJOIJLOIZSZJJZLITOSLLLZJZZOITTTSOZTZSLZSSOLZLJZZOTZITSOJJZSLSJZZZZTTZZZTOLSSIZTTJSTOTISSSZJZOZOJSTZTZZZZOITLJTSTZSIZJJLOLSJOLZOSZOZOSLLZOTZISSSTTSZOZSTLLJTOZSZZOSISSOSZZSSSZTJOZLLOZOSOSZSSOSZTSJSITJTZLOLSOOZSOLOIZIIZJTOLSJTSJOOZSJZZZZSTZZLTOTTSSISOZZOTTZSJLOZZZJSZSLISTSZTZSZZZTSISTTLZJJJZLILJSLZSZSLJZJJOLTZTZSTTSOJJJZOLIZTTTJZTTZJZTLISOTSSSZLSJLLSSOTJSZZOTTOOJSIIOSLTLZTSSJOZOOZSOOZTOLZTLSLLLOSOJZOSJIIZOSZOTOZJOITSSTLOTLTLSSOSZLTIOSLZSTSZLJIITIZZSSZSSSSSSSOZOSJSOSSZTLZJJOJLISSOLZSZSTSIITSJTSLOZZLSJLZLJSOZOLJZTSLJSIZTLSIZIOLTSOZOJJLZLSSTSSTOTOZZTJLSTZZZZZLZTTTSZOSOTOJZSZZTSILLTZOZSOOSOISOSZSOOOZSZTZZZSTSTIZTJSZZTOITOSJOLZSLSLTZJSZOSZOIOOZZSTTJSJSZLZLLZSZZTZOZZZOLSTOZSZSZISTSSZSZZTIZOOTZOIOSIOJZOSZIJSLOLOJZJJOJOZZLLZOSZJSZLSJSZISZLSOOSSZILSLIZIOISJILZJSTJOSZLZOISJTOZJLSZOLJOOLSOSTSOOOIIOOILZJISZOZSJJSSSZSZSOZZZLTSZOZJTZSZIIZOTTSLTTSOTILOLOIOSJSLJLSJOZSSOZSOLZIIITLTTSIISOIZJSZLIOOLJTJTZOSISJLZTJSOOOSSLZOZLZOLSLJZIZZSSOOTOZOZSTJOLSJTSZLJSZOSLSSIZSTISTSZJSOSLLSITJLJOLOZTOTSOSTTSISSIIITTSTJOSISSLLZSOTOTOIITTSZSOSJZLOLLZZZIIZZISTSSOISZZSZJOTLLSOSIOLSOZZSTZOLZTIZTIOSZZZTZOZSJJTLOSISZSZTSOZZOSOITISSSZTJTJJSSOZSSSTZTIOZTLZSZOZJTOOOLSIOZZSSSOIOSJTSJOSSOZOSOJTZIZSSLTOTSTOJSJSZZSSIZJSOTZTZJOZZSJSSLSIZZJJOZZSJZLZSJOOIOZZLZZTJTZOLITSSZSLZOTOISJZZSLSSZJZIZOTZOOSSOSSTOSTSLJSJLSOSOTZTTZTZTZSJLLIJSZLOZLIJZZLJZOLJLTSLISSZOJSISZSZZOTSLJLSSSOISSOIJIZSZTLZOSTLTSTSLZTZJTSOTOZLOSSIOSTJZJSIIZSSJJLLOSSZJJSSOZJOOJTOZTIJOOLZOZZSLSZZSSLOSTZSOJOSOTOSZSZSZSOOSSJTZOZZLJZLLOOLLOZJZITSSJZTOJSITSZTSJJZLSTOIOOSSZZSIOLZTSIOLSSZIOJTOLLLLZSSJTOLOZZTZSISZZTSZOZZSISTOTTOOTOTZOIZZSZJSLOITIOZSSIZJSLOLZZJJJSSZJJSZSJSTIZJTJJJZZZLOTZOZJTTZOLIJJZLZSJITOZZSJZZISOJISOSZOSTJLJSOOOZZLTZTJZZJSLOTZZOILTZLOJOSIIZSOSJLTLOSSTIZSLZLJTTLSISZZOOOTOJZOTSSJZZJSLOSSSLOTIZIIZZTTSLOSZJOSOZTITZSTZSZZISITLTOLJZOOITZTLOJSOSZISSSSTOOTSOZSISSSSZSOIOSTTLLLSJOZLZOJTSJJOSSILZLZSJJOTZTILOSSOOTSSZOLSLZIOLZJOZZOILZJZSLIZOLTTZJTOSIOILOZSTJLJZZIZTZZSLISIZZLSOOOJLLTZZZZZZSJLIZSTZZOOLOZSOSSTIZLTSJZSSSLSTZOIOTLZOJJZTLSOSJOZLSSOTLTZSJOSJLSZLSTOOOJOTIOTOSZJZIOSJZZZZJSZSJOSOZOSSSSJJLJJZITTSTZOOSJLSTLSSISZSZTOTOOJOZSOTJLSTTOZZOZZTOTSSSTOLOTZSSZZJTJLSJSSOTSSSZOZJSLTOOZTZZILTOZTSSLSIOSJZLOZZSISTTIJTTOSISOJSTTTOTOJJIOJSSOOTZOOOOZZLZSSSZOZLSOZZZZJJLIZOZSZTZZISJIOSLSOOSJSTOIZTOZOZOLILZOZOZOZTISTZZJTLSZZOLSSZOOTOLOZTLJITZJTZOSZOZISLZIZLJSZIOZTOSSZZZOOTLSIOTSLTJOSOJSOJZOTJOJZZTTZLSTISZIJITILLOSZOZLTOSZJSSZSSTZOOZOTSZSSLZISSSSZIOZZTTSSJJOZLSISSOOSLTSISZTOJZLSITZOTZSZSIOLIOIZSTSZJTZZJOJSTTSSLJSOOZLLZTSLZTLZJZZJLOLZZOJZSSZZZOZZSZJLZSSJTZSSSOLIZTZSILZOSOISZSLZJSLOJZSTSIZZOJOSIZOJJZTTZOOLTITZLLIZLTOOJZZLZZOZSZLSLSOOZJZSZTZIIJSZSOLJLTSTZOTIOZTSLZOTZLOZZTSTTLZSTSTSJIZSSIJSZZZZOSISOSSOTOLSSJTTIZLIOOJZTZOISOZTLSTOZOZZLZIJTLOZSZSSLJZTTJSSOSOZJSIZZZJSZTLJSOLLJTSIOSTZSTTTLOLOZIOTSSZZOOZSOOLSSSOOLSOSTJZOOTOOZSZSITTZZZTTSTSZIZOZJOSSJLOSTIJLOSZTSOZOZSTLSSSIJOIISSLTOSTJJSZZSSOZJSZOSLSLSSTZLSTJOTZLSSSZLTJJOZOZLSLISLTJIOTOZLSSZZIILSZLOSLOOOIJZIOSJZSIZLSSZZIZZLOJSOJJSZSLSZZIZZSLZOZSZOZZOJOZLLOIZJZSSSTSOIZOZLZZOZJZZOZOSSZZSZOTJTIZSSZJTSJTIZZLOJSZSOISZJSITZOLSZZTSTZTSTJOZOOLSTTOLZTZIOZOTZOTZTTSTZZLTZLOOOSJTSOTTTOSLTZLSLTSZJIZZZTTZOOTZZJTOZSOZTIJJTSSSJITTTSLISTLZZLZZJJZTJJTZTZTOJLZZOZJZOSSSJISJTLSLJSTIZTTLTTTTSIZZZOJTJZOSITSOJOTTLSOSZZTZZIZZIIJOJZOIZZZSTOZOOJTTSZZZJSITITZSTLZOLIJLOSTZOJOOOILTLOOZJZOOZTSTTISSSJTTIZSJOOLTOSITIZZJILSSJOOIITSSOZJOLTTIOJSJTLOSZSSTZSOTTSJZIJZZZTILSZZZZZOZSTZZSZLZTSSTOSSSIZSTJSLJTZSTZOLSOSSJZSLSLJSSZTTOZTZSOOTLZZSOTSZTZOLOZLZSSSZZSZTZSSZOSTSSJLIZLSZZTJLSJSZTTITZOJOZOOJOZSZJJSJZSOZZJZOZSSZSOZZLZZOSTSOSSSZSIOTTSTZTOJZSOSLSZOZJSOOISJOOJLOZLZLSZJLTSJJTOSLTZZJTZOTSZZSIZZJZSZOTZOLSOTTSSSSSJTTZOZTZJTSLJOJSLZOZTOOITJOZIJSZJOZSSSLTTTZSSZZSSOZSOSJLTOLLTOLZSIOTOZOSZZLZZOSJSLOJTZTOSSOZIZZZTLSJSIJOLOSOJZOJLZOZZJZISSSISSTISOIJZOLSSTOOOLOLZTJTSJSLTZSSISTSTTZTOLZSSZLOOSJTLTJSSTTZSZZZOZLLLOSSSTSZSTZTZILTIZZSSOZJTTIJSSLOZZSZZTSJOOZSSTTLSSZOIZLOSOLTTJZSZZZOTSJSSLILTTSZZZSTOTOOSZJZIZZISTSZTLOOIZLSTTZLJOISLSSZZILSLIOLZOLSZLSJILTZOTSZSOTJLZILOZOISTZZSZOILJSLZTJZSSOSITISSSOOJZSZOSTOZOZJSZOOOZSLLLSJTSISISIOOJLZSZOOZZJSZSOZSZLTZZZIZJZZLLSTSOOSOOZLZJLSTJSTSZSSOTJSOISOLSTTLSSLOSLOOLJSOTIISLLZSISSSOJTIOTLSZZJTIZJSOSZZSTOSLZTLTZLZOZLSOLZJILSJJSZSLITOSTZTTSZIOOOOJISZTOSZZOLLJOTJOTTOLLTZZSSILIOSZIJZZTZIZOJZJZZSZZSISILJZIOTOJOSTOZOJLZOOZSOZSLISOZTZLZTIZSTITTSOSJJTJLIZOZZSLLSZZSZJZZOSLOLJOOLOTSZOTJTZZSTOZSZZSTZOZSOISSLJTTJZJLTTJSZZSSLILLSTSLSIZSZOZJJTSSOTLIZSOOSTZLZLSZLTLOOOTSOJJZJSOTTZLTSOLZOSZOSLJZSIOTOSZJTSIJZSLZTOOOZZZLOSLTSTOZOOIOJTTSJSTTSTLOZISTZZJSOJTOZZZTTOIOSTLTTOZSZSSJLZTZOZZTZSOSOOZOJSZZOJLSTSSTOITZTJZSLLILSTTLSZTOIOOSZSTOLLLOZJLTTTITZOZJISSSSIZTZZTIJSZSZZZZSSZTJZTTTTOILJSTZJOLZOOJZZSOZOOIOLZLZTSOJISJLISZSJJSOSSLLOOJTSZTOOOSZTTZJLTISOTZZTLTJLOZLOOTSZTSIZZZOSISSSLIJJZTOOLZZSSZSZOOSSSTOZLZOZZZZSZLSOOZSOOZIZLZTSLSLTLOZOOZTLIJIOZZJSSZTOJZIOZZLTSSJITLLJOJTSJJLZSOSTZZLZOOOOISSOJIJOLIIIZOLOLOZSTLZTOZLSLOZIOSZSIOZTTJTJZOLOZZTLOZLTLSSLZSILTZZITZJZLZZZSSOTOOSLIIZTZSSSLSOITJZZSJSSSOLLOTSIOSSZZOTJZSTITZTZTOTTJISIZOZLTTJLLOLSZOISZLZSJJZLSZOOZZSSLOOZJZSSSOOTSZZSZSIZSTSOTJIOSJLZOZTLSOTLSJOLLTOSLSJSJSLSZTOSOLTIOSLJZZZJLLJOLSTOOSZZLIOLSZJSSSOSSSTOZZSLZTZZZSZSJJLOSSJTITLOJZZLZJOZLLOJOZSLZSTZJSIZSOSITOJZZZJZTILZTOIZZISIOLZZLTSSZSJOSZZZIZSLSOTTIZOOZOJSSIILJSJIITSSIJLZOSSTZJISZZZSLJSJSTZLZSOTSZOLOZTLIZOOZLLSOOOTZJOTTOOSZOOJOSSJOSSZSSTJSZISOOSZILLZSIIJOTZTOSTOZLZLSZOZTOOZOZLOSIZSOOZOLZSSZTOSTTOLZOTSLOJLSOJTJJOZZTSZZZZZTSJZZJOOOZZTTTSOSSSZTOOTILSLTTZSLZOOJZOTLSZTZJTTSILZTSOSSZZSOZZZZSJISSLISLLJOZZOLLTSTTZZOSIOJSZJOZOZTJZJZSTSSOTOJSZZSIOOSTLOZSJZLSOSSSOOLSZJOOZLOOOTSSJSTOZTTTLZOLSSJTSIOZZJOIJLOIZSZJJZLITOSLLLZJZZOITTTSOZTZSLZSSOLZLJZZOTZITSOJJZSLSJZZZZTTZZZTOLSSIZTTJSTOTISSSZJZOZOJSTZTZZZZOITLJTSTZSIZJJLOLSJOLZOSZOZOSLLZOTZISSSTTSZOZSTLLJTOZSZZOSISSOSZZSSSZTJOZLLOZOSOSZSSOSZTSJSITJTZLOLSOOZSOLOIZIIZJTOLSJTSJOOZSJZZZZSTZZLTOTTSSISOZZOTTZSJLOZZZJSZSLISTSZTZSZZZTSISTTLZJJJZLILJSLZSZSLJZJJOLTZTZSTTSOJJJZOLIZTTTJZTTZJZTLISOTSSSZLSJLLSSOTJSZZOTTOOJSIIOSLTLZTSSJOZOOZSOOZTOLZTLSLLLOSOJZOSJIIZOSZOTOZJOITSSTLOTLTLSSOSZLTIOSLZSTSZLJIITIZZSSZSSSSSSSOZOSJSOSSZTLZJJOJLISSOLZSZSTSIITSJTSLOZZLSJLZLJSOZOLJZTSLJSIZTLSIZIOLTSOZOJJLZLSSTSSTOTOZZTJLSTZZZZZLZTTTSZOSOTOJZSZZTSILLTZOZSOOSOISOSZSOOOZSZTZZZSTSTIZTJSZZTOITOSJOLZSLSLTZJSZOSZOIOOZZSTTJSJSZLZLLZSZZTZOZZZOLSTOZSZSZISTSSZSZZTIZOOTZOIOSIOJZOSZIJSLOLOJZJJOJOZZLLZOSZJSZLSJSZISZLSOOSSZILSLIZIOISJILZJSTJOSZLZOISJTOZJLSZOLJOOLSOSTSOOOIIOOILZJISZOZSJJSSSZSZSOZZZLTSZOZJTZSZIIZOTTSLTTSOTILOLOIOSJSLJLSJOZSSOZSOLZIIITLTTSIISOIZJSZLIOOLJTJTZOSISJLZTJSOOOSSLZOZLZOLSLJZIZZSSOOTOZOZSTJOLSJTSZLJSZOSLSSIZSTISTSZJSOSLLSITJLJOLOZTOTSOSTTSISSIIITTSTJOSISSLLZSOTOTOIITTSZSOSJZLOLLZZZIIZZISTSSOISZZSZJOTLLSOSIOLSOZZSTZOLZTIZTIOSZZZTZOZSJJTLOSISZSZTSOZZOSOITISSSZTJTJJSSOZSSSTZTIOZTLZSZOZJTOOOLSIOZZSSSOIOSJTSJOSSOZOSOJTZIZSSLTOTSTOJSJSZZSSIZJSOTZTZJOZZSJSSLSIZZJJOZZSJZLZSJOOIOZZLZZTJTZOLITSSZSLZOTOISJZZSLSSZJZIZOTZOOSSOSSTOSTSLJSJLSOSOTZTTZTZTZSJLLIJSZLOZLIJZZLJZOLJLTSLISSZOJSISZSZZOTSLJLSSSOISSOIJIZSZTLZOSTLTSTSLZTZJTSOTOZLOSSIOSTJZJSIIZSSJJLLOSSZJJSSOZJOOJTOZTIJOOLZOZZSLSZZSSLOSTZSOJOSOTOSZSZSZSOOSSJTZOZZLJZLLOOLLOZJZITSSJZTOJSITSZTSJJZLSTOIOOSSZZSIOLZTSIOLSSZIOJTOLLLLZSSJTOLOZZTZSISZZTSZOZZSISTOTTOOTOTZOIZZSZJSLOITIOZSSIZJSLOLZZJJJSSZJJSZSJSTIZJTJJJZZZLOTZOZJTTZOLIJJZLZSJITOZZSJZZISOJISOSZOSTJLJSOOOZZLTZTJZZJSLOTZZOILTZLOJOSIIZSOSJLTLOSSTIZSLZLJTTLSISZZOOOTOJZOTSSJZZJSLOSSSLOTIZIIZZTTSLOSZJOSOZTITZSTZSZZISITLTOLJZOOITZTLOJSOSZISSSSTOOTSOZSISSSSZSOIOSTTLLLSJOZLZOJTSJJOSSILZLZSJJOTZTILOSSOOTSSZOLSLZIOLZJOZZOILZJZSLIZOLTTZJTOSIOILOZSTJLJZZIZTZZSLISIZZLSOOOJLLTZZZZZZSJLIZSTZZOOLOZSOSSTIZLTSJZSSSLSTZOIOTLZOJJZ"
*/
tetris_list = list(tetris_str)
console_str = "game.pause();game.playRecord('"
# 长条方块,长条横竖不可控,弃用
# for i in tetris_list:
# I_num = 0
# if i == "I":
# if I_num == 0:
# console_str = "N,C1,D19,L4,"
# I_num = 1
# else:
# console_str = "N,D19,R4,"
# I_num = 0
# elif i == "O":
# console_str = "N,D19,"
# else:
# console_str = "N,"
# 横行叠法
# O_num = 0
# for i in tetris_list:
# if i == "O":
# if O_num == 0:
# console_str = "N,D19,"
# O_num = 1
# elif O_num == 1:
# console_str = "N,L4,D19,"
# O_num = 1
# elif O_num == 2:
# console_str = "N,L2,D19,"
# O_num = 1
# elif O_num == 3:
# console_str = "N,R4,D19,"
# O_num = 1
# elif O_num == 4:
# console_str = "N,R2,D19,"
# O_num = 0
# else:
# console_str = "N,"
# 叠8行法 分数74784
# O_num = 0
# for i in tetris_list:
# if i == "O":
# if O_num < 8:
# console_str = "N,L4,D19,"
# O_num = 1
# continue
# elif O_num < 16:
# console_str = "N,L2,D19,"
# O_num = 1
# continue
# elif O_num < 24:
# console_str = "N,D19,"
# O_num = 1
# continue
# elif O_num < 32:
# console_str = "N,R2,D19,"
# O_num = 1
# continue
# elif O_num < 40:
# console_str = "N,R4,D19,"
# O_num =1
# continue
# elif O_num == 40:
# O_num = 0
# console_str = "N,L4,D19,"
# O_num = 1
# else:
# console_str = "N,"
## 测试4列8层法 分数113100
O_num = 0
for i in tetris_list:
if i == "O":
x = O_num % 4
y = O_num / 4
if y < 7:
if x == 0:
console_str = "N,L4,D19,"
O_num = 1
elif x == 1:
console_str = "N,L2,D19,"
O_num = 1
elif x == 2:
console_str = "N,D19,"
O_num = 1
elif x == 3:
console_str = "N,R2,D19,"
O_num = 1
elif y == 7:
#最右边界
console_str = "N,R4,D19,"
O_num = 1
O_num -= 5
else:
console_str = "N,"
console_str = console_str[:-1]
console_str = "'.split(','));"
print(console_str)
这里首先按照注释中的”横行叠法“一行一行叠,最后得分19,740。
然后根据规则优化,先放3行再消除,参考注释的“叠8行法”,然后一行一行消除,分数74784。
继续优化,先叠满4列8层,消除1层时再叠1层,参考“测试4列8层法”,最后分数113100
然后就在我准备继续优化,把剩下的方块也用上的时候,主办方直接企业微信call了我,告诉我这是游戏的漏洞,并且修复了漏洞~
不过结果是直接给我算作“破解大师”了,工卡带和文化衫到手!