搭ss玩hacker.org

作者: 分类: Web,Python 时间: 2016-08-11 评论: 1条评论

搭ss玩hacker.org

昨天在这里边玩边学!12个可以在线学习编程的免费游戏酷站看到一个有趣的网站->HACKER.ORG/prove your skill/

hacker.org.png

但是这个网站是需要梯子的,我用着niko的ss,全局一下就能访问了,之后开始玩challenge

chanllege.png

先打开了Dungeon Master,一看就知道是一个写脚本跑的题目,下面开始漫长的解题过程。

刚用python写好一个测试脚本,一跑,卧槽?根本访问不了,尝试url换成google后我大概知道什么原因了,python写的脚本不经过shadowscoks的代理,要自己写proxy,查了一下requests官方文档,里面给出使用socks5(shadowsocks默认是socks5协议)代理的方法

proxies = {

'http': 'socks5://user:pass@host:port',

'https': 'socks5://user:pass@host:port'

}

开始不知道一直尝试'http': 'socks5://123@abc.com:1234',这种方式,一度以为是ss的问题,后面默默ssh连上自己的服务器,搭了一个ss(搭建方法出门左转github->ss,官方的因某些原因已经移走了,这份clone过来的,怎么搭上面写的很清楚,友情提醒一点就是有防火墙的请记得添加ss的端口到iptables里并重启服务)测试..不用想了,一样的结果。到网上翻啊翻也是不明白,最后突然脑子一灵光,我傻了..

"http":"socks5://127.0.0.1:1080"

正确的姿势,ss本地默认1080端口,我一直想错了,最近脑子不灵了。

早上起来才真正开始写脚本,写了大半天,主要是被某些问题坑傻了。

这个game大概就是东西南北都能走(有边界),攻击怪(Attack),你死了就重开game,怪死了拿经验(xp),经验够了就升级(level),还掉武器和药水(treasure),有个因素一开始忽略了被坑傻了,有个下楼(Down stairs),只有下楼了那个Dungeon level才会增加,题目提示要到第4层(level 3....这边我一直以为是level 4,又被坑傻了一次,错过好多次boss/视而不见/)。

知道流程就差写脚本还有慢慢调试了,下面是我写的脚本(仅供参考,写的粗暴):

code_dungeon.png

getTreasure()这个函数本来是要判断好武器就拿,垃圾武器就不拿,最后发现还有各种药水也是Treasure,而且还有各种类型的武器,心累,直接粗暴什么东西我都要,强盗心理多轻松。

if r.text.find('Down Stairs')!=-1 and ((dungeon_level==0 and level>4) or (dungeon_level==1 and level>8) or (dungeon_level==2 and level>10) or (dungeon_level==3 and level>15)):

这句是用来控制登记的,因为下楼太快会死,因为一开始以为有dungeon level 4,每次到level 3一直结束(其实是boss搞的,要么打死boss重开游戏,要么被boss打死重开游戏),还以为等级不够...后面发现真相才知道是多余的。

最后还加了一句if,主要是想看看这boss长什么鸟样..

answer.png

boss.png

附件: dungeon.py

标签: Pythonhacker

声明:文章基本原创,允许转载,但转载时必须以超链接的形式标明文章原始出处及作者信息。

仅有 1 条评论

  1. Awesome stuff. Thank you!

    时间: 2018-05-19 at 15:45 回复

添加新评论