前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【参赛经验分享】[腾讯内部赛道破解大师]俄罗斯方块难?直接破解最简单!

【参赛经验分享】[腾讯内部赛道破解大师]俄罗斯方块难?直接破解最简单!

原创
作者头像
FDrag0n
修改2021-09-26 13:20:12
2.7K0
修改2021-09-26 13:20:12
举报
文章被收录于专栏:比赛比赛

前言:后面有事没时间打比赛怎么办?那当然是把游戏破解了啊。安全人,安全魂,安全人偏不走寻常路~

直接找漏洞,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
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* 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了我,告诉我这是游戏的漏洞,并且修复了漏洞~

不过结果是直接给我算作“破解大师”了,工卡带和文化衫到手!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 漏洞原理
  • 漏洞利用
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档