新年第一更!之前群友问了一个C语言问题,即int(*(*p)())、int *(*p)()和int *(*p())的区别在哪里。确实,有时C语言的类型声明是很魔性的,看着也很令人头疼。不过如果拆分开来看其实还挺好理解的。 分析 从基本结构开始 首先还是要从最根本的结构来看。这里各举一些C语言中函数指 […]
黑魂3受苦记
清醒过来的时候,他站在迷雾面前,准会想起收件箱多了一封邮件的哪个上午。当时,他D盘还挤的出26个G,还没准备这个月吃的土。 “您愿望单中的 25 件物品正在促销!” 抬眼一看,是北京时间12月21日的上午10点。 “啊,冬促……”呻吟。 “预算剩余475” “嗯,冬促……”再次呻吟。 “怪猎34%、 […]
图为虚,实为音 – IOL2017个人赛T4题解
题解 这是一道图形文字、拉丁转写与翻译的对应题。首先看“公字”和拉丁转写的对应。乍一眼看“公字”,就不想看第二眼,不过好在“公字”写法的词都是偶数,而且正好和拉丁转写的词块对应——一个转写词对应两个“公字”。这是一个很重要的突破口,借此,我们就可以通过研究相似项来获得“公字”与转写的对应关系了。比如 […]
各语言Y组合子大比拼
最近有点无聊,突然想试试在各种语言里面实现Y组合子。不过写完之后,没想到结果完全出乎我的意料。嘛,让我们来看看不同语言里的Y组合子。 首先祭上Y组合子的定义: Python魔法 和众多流行的弱类型语言一样,Python支持lambda表达式但不支持延迟求解和柯里化,所以Python的写法应该也是比较 […]
B站APP逆向工程手记
本文原载于DIARY,但是考虑到博客很久都没更新了,加上DIARY设立的本意是记录个人生活,所以这篇放在DIARY也有些不妥,故思索再三,移至此处更新。 最近在重写BiliAPI,由于之前采集的接口都是两年前的东西了,所以这次打算再逆向B站客户端。版本使用了官网下载的5.29.1。 8.16 可以说 […]
从一张搞笑图看JavaScript的语法和特性
逛知乎的时候发现@DDDD转了一张图,这张图对js魔法的吐槽可谓非常到位。下面,我们就从这张图出发来详细讲讲js。 数字类型与精度问题 虽然js是弱类型语言,声明变量时也不需要显式指定类型。但是,数据本身依旧还是有类型的,比如数字和字符串就是以不同形式存在的数据。在js中,所有数字的类型都为numb […]
BiliAPI Python版本重构手记
和我有过邮件联系的dalao们应该会发现,两年前我就提及BiliAPI会有Python版本,然而……咕咕咕。然后最近,一股来自东方的神秘力量催使我又打开了这个项目。于是我翻了翻Python3.6的新特性,又跑过来填坑了。然而惨不忍睹的旧设计实在是没有改的空间了,于是我打算开始一波重构。repo位于码 […]
记一次有趣的Python沙箱逃逸
今天@AD1024大佬在群里分享了个有趣的CTF题(nc problem1.tjctf.org 8006),是关于Python沙箱逃逸的。dalao原意是为了吐槽flag在的文件就是flag.txt,不过咱研究了下这沙箱逃逸,似乎有点不一般。eval、exer、open这类的函数肯定是屏蔽了,关键是 […]
算法多解 – 小米三面面试题
最近在知乎(https://zhuanlan.zhihu.com/p/38850888)上看到一个小米面试题,据说是三面的题目: 一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆底,直到手上没牌,最后桌子上的牌是从1到n有序,设计程序,输入n,输出牌堆的顺序数组。 题目很简洁,不过乍看确 […]
提取APK图标脚本
最近同学换手机,看不爽3×0那个ui,打算自己做主题,找我提取Flyme自带的图标。嘛,虽然不是啥复杂的东西,手动也能解决,不过一旦图标多起来就受不了了。于是我就写了个Python脚本批量处理。
Comments