Author

YNU – 汇编语言程序设计实验报告 1-3

Preface 由于过去不努力和各种原因,导致没有选到汇编课程。旁听课程,保存下了逍爷的 PPT,积极参与实验和旁听课程。 这就是我现在能做的,感谢王逍老师的辛勤付出。感谢我亲爱的钰帮我做的一切,么么哒! 也感谢 RainbowTrash23333 一直以来对我的帮助,没有他们,就没有现在的我。 本站所有图片和其他资源文件使用阿里云国际版的 OSS 存储与 CDN 加速,前端公共库使用 jsDelivr。 废话不多说,上实验报告。这里由于并不提交正式的实验报告,就只是简单记录下实验步骤和踩的坑了, 用于抄袭后交作业者请自觉绕道,发现必将严惩。 License 本篇文章授权 采用 CC BY-NC-ND 3.0 Unported 协议,禁止转载。 Experiment Environment Windows? 不可能的,不到 Linux 下完全没有替代工具或者我完全没时间折腾的时候我是打死都不会用的。 Linus Torvalds: Your PC is like air-conditioning — it becomes useless when you open Windows. So: 实验虚拟机全部采用 KVM 搭建,目前有 MSDOS 7.11 和 Windows XP SP3. Experiment... » read more

学堂在线 MOOC 视频观看系统分析

学堂在线的慕课真是让人伤心,考虑自己写程序来免看慕课,本文是对心跳包的分析 前言 基础地址: http://ynu.xuetangx.com/courses/course-v1:TsinghuaX+y10_010610183_2X+2017_T2/courseware/a0c88e15f0724905bdae5001ae905a15/4a819651df914e8e944be7e00f248d35/ 鸣谢: https://github.com/wangqr/proto_xuetangx 因为学校垃圾校园网闪断问题频发,加上学堂在线 MOOC 系统设计存在重大缺陷,导致经常性无法正常记录学生的观看记录。 人懒,遂操起工具,分析视频观看记录系统。 加载页面 加载页面常用 JS、CSS、HTML 完成,看到是自己写的成绩记录系统 + XHR动态刷新 + OpenEDX 魔改而成。 加载完成后 访问 http://ynu.xuetangx.com/event ,然后 POST 一个 CDN_PREF数据到此处获取视频ID并加载视频,这里并不重要 播放视频全过程 心跳包解构 基础:浏览器环境 浏览器 Request Header: Response Header : Heartbeat  起始播放 Base URL: http://log.xuetangx.com/heartbeat 方式: POST 需要注意一点:  页面编号: Event 1 : Play_video Base URL : http://ynu.xuetangx.com/event 方式: GET Request Header: POST... » read more

2018 年度汇编期末大作业参考文档

整体思路 Inspired by sunnyden’s MBRLock Reference 观察发现 MS-DOS 7.11 和 WinXP 的 磁盘,1~31 扇区均为空!(0 扇区为 MBR) https://stackoverflow.com/questions/21463908/x86-instructions-to-power-off-computer-in-real-mode https://wiki.osdev.org/APM https://stackoverflow.com/questions/1396909/ret-retn-retf-how-to-use-them https://stackoverflow.com/questions/39474332/assembly-difference-between-var-and-var/39474660 https://sourcegraph.com/github.com/sunnyden/MBRLock@master/ https://www.felixcloutier.com/x86/ https://asminst.kmahyyg.xyz/ https://blog.csdn.net/u013630349/article/details/50370227 https://docs.microsoft.com/en-us/cpp/cpp/argument-passing-and-naming-conventions?view=vs-2017

关于 C 的 CRC32 实现

CRC32 是数据包校验的一个重要算法,本文主要记录作者的一些思考。 Preface 最近讲了计算机网络课程,在上课过程中明白了 CRC32 的人工计算方法。个人猜测后面计算机网络实验会做,趁最近忙碌,一鼓作气,在刚刚学完的时候一起实现了吧。 关于 CRC32 具体的原理性的东西就不说了,大家自己搜索 IEEE 802.3 相关文档和维基百科吧。主要用途是传输过程中的错误检测,由于容错率高,简单易于实现,占用资源少,得到了广泛的应用。 关于 手动计算 就那点内容,其实我也很懵逼,就多查查资料吧。剩下的就是 Talk is cheap, show me the code! ,大家自己根据 Reversed CRC32 的 GZip 实现参考吧。 参考文献 https://www.xilinx.com/support/documentation/application_notes/xapp209.pdf

离散数学的 CP 规则

CP 规则 先说一下,即使不用CP规则,只用P规则和T规则(即直接证明法)也可以实现所有证明。引入CP规则,只是为了简化证明过程。不过CP规则的适用范围不像P、T规则那样具有普遍性——当被证明的结论本身是一个条件复合命题时,才会用到CP规则。其内容是: 若要证明:(S)=>(R→C);——S是前提,R→C是结论; 只需证明:(S∧R)=>(C);——即:把R当作附加的前提,引入推理过程; 具体运用方法就是: (1)使用P规则,把R当作一般前提(就像S一样)来使用;但应加以说明:附加前提; (2)当推导出C之后,可直接写出最后的结论:R→C;这一步的说明是:CP规则; 需要注意:单纯来看(2)中的这一步推理,其实从C到R→C是可以直接推出的。【C=>R→C】本身就是一个重言蕴含式(也就是推理公式),在直接证明法中可直接使用T规则完成这一步的推理。但是,在这里是不行的。 因为,推导C的过程中我们用到了R这一前提,但这个前提不是用纯正的P规则引入的。R是作为“附加前提”引入的。可以说,C这个中间结论(以及所有借助R推出的中间结论)并不是纯正的结论。事实上,这个中间结论可能根本就是个假命题。——虽然这并不影响我们的最终推理,因为我们的目标并不是C,而是R→C,但是,这种情况在直接推理中是绝对不允许的:在直接推理中,包括中间结论在内的每一步都必须是真命题。 这也就是CP规则与P、T规则的区别所在。所以,在这样的推理中,必须对CP规则的使用作出说明。 如上所说,CP规则的使用被分成了(1)、(2)两部分。这两部分所依据的规则都与纯正的P、T规则不同,所以都应作出特殊的说明。 高等数学的等价无穷小量 http://www.ivy-end.com/archives/1567 https://zh.wikipedia.org/wiki/%E6%B3%B0%E5%8B%92%E5%85%AC%E5%BC%8F

数据结构实验 4 – 迷宫

数据结构的迷宫实验的一个解法,有点复杂,记录一下。 写在最前 数据结构实验 4 – 迷宫 实验代码和实验要求请参见 我的 Github 项目 (Private) 本篇博文将更加注重着眼于: 具体迷宫生成实现 自动完成迷宫实现 实现过程中新学到的东西和踩的坑 stdarg.h 举一反三: Python – Non-keyword Argument Pass the variable length argument list with single asterisk. Inside the function, we have a loop which adds the passed argument and prints the result. We passed 3 different tuples with variable length as... » read more

对指定域名的解析 IPv4 结果优先

尝试对 Glibc getaddrinfo 函数进行配置,使 A 记录优先级高于 AAAA 记录。用于解决当前网络环境下 IPv6 路由不佳的问题。 Preface Application Environment: You have a native dual-stack network. The route to destination via IPv6 is broken or much more slower than IPv4. The latency is 20x faster in IPv4 comparing to IPv6. Depend on your situation You have those methods listed below: Block the... » read more

信息安全导论的相关文献

https://www.ctolib.com/docs/sfile/xss-naxienian/index.html https://www.knowsec.net/archives/78/ https://www.zhihu.com/question/26628342 http://adoyle.me/blog/why-zip-file-checksum-changed.html http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/zh/web_application_security_testing/testing_for_cross_site_request_forgery_csrf_otg-sess-005.html Google 官方的开发者教程: https://techdevguide.withgoogle.com/paths/foundational/ https://techdevguide.withgoogle.com/paths/advanced/

KMP 与 BF 字符串模式匹配算法简析

字符串模式匹配算法 这里讨论两种常见的字符串模式匹配算法,不讨论字符串的预处理。 关于对字符串进行搜索,请参考 Boyer-Moore 字符串搜索算法 (Wikipedia CN) 另外建议大家阅读 [Sunday 算法] BF 算法 (Brute Force) 返回子串 Ptn 在主串 Tag 的第 pos 个字符后(含第 pos 个位置)第一次出现的位置,若不存在,则返回 -1,这里的位置全部以从 0 开始计算为准,其中 T 非空,0 <= pos <= Tlen。 使用 i 标记当前在 Tag 中匹配的字符的位置,初始值为 pos。 使用 j 标记 Ptn 中正在等待比较的位置,初始值为 0,下同。 即对 Tag 的每一个字符与 Ptn 的字符进行逐字比较: 若完整匹配则返回匹配成功的 pos 值。 匹配过程中,对当前的 pos 值对应位置之后的每一字符进行... » read more

Open vSwitch 组建可以随身携带的加速上网路由器

目标: 自带的移动路由器 网络隔离,避免路由泄露 性能足够强大 (1 Core – 1 Thread 2.x GHz amd64 CPU, 512 MiB RAM, 0.5G ROM, 10Gbps vNetwork, Internet connection speed depends on your physical network interface and your ISP) Win 两个 Hyper-V vXSwitch 解决,参考: https://blog.skk.moe/post/hyper-v-win10-lede/ 需要注意的几个地方: 不建议使用 Koolshare 等第三方改版固件,推荐使用 Lean 的 OpenWRT 版本。 避免默认 IP 段冲突,提前断开所有外部链接。鉴于天朝网络现状,记得删除 WAN6 网卡。禁用 Secure Boot。禁用 VM Balloon。关闭... » read more