XJTUMen
Topics Moments Posts Categories Tags Subs
New Topic
Log in
Topics Moments Posts r/ Subs
Chat
Subs All →
Explore or create r/...
Categories All →
深入交流 通用&CS攻略 学习资料 飞跃重洋 读书分享 学术专区 课程点评 计算机系统导论 计算机图形学 ANA
Tags All →
# teacher
493
# resources
77
# survive
29
# discourse
19
# study
18
# experience
16
# ai
15
# course
15
  • Profile
  • Topics
  • Replies
  • Gallery
  • Likes
  • Bookmarks
  • Badges 13
  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-30
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #210

    原来如此!没去过哈尔滨 不知道那里的锅包肉是什么风格
    有点好奇下面的萝卜丝是腌萝卜还是炒萝卜(我不喜欢胡萝卜但如果少量/腌制尝不出胡萝卜的味道就还可以吃下去)

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-29
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #353

    今日观鹭

    Summary

    IMG_3464.jpegIMG_3465.jpegIMG_3467.jpegIMG_3468.jpeg

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-29
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #208

    怎么感觉这个锅包肉的表面有种颗粒状的质感 和我在北方吃的锅包肉不太一样🤔

    Summary

    在沈阳🐖的番茄锅包肉 也🐖了老式锅包肉 但个人感觉番茄的更好吃
    而且老式锅包肉里面居然有香菜!被偷袭了😡
    IMG_9293.jpeg

    另外每日爱浙()
    小红书

    浙大食堂新晋人气王!我先吃为敬 - 小红书

    东北菜吃了!就这么迅速 排队真的好长…锅包肉很脆!比外面的清爽一些(酱汁少)但是肉更软,地三鲜是酱香口!整体都比外面的东北菜更清淡(尤其地三鲜不是特别入味且没有炒软,不过可能更合杭州人口味?我个人觉得都淡) #浙大 #浙大紫金港美食 #浙大食堂 #浙江大学 #浙大紫金港 #大学食堂

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-28
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #352

    今日观鹭

    IMG_3440.jpegIMG_3443.jpegIMG_3446.jpegIMG_3449.jpegIMG_3451.jpeg
    IMG_3457.jpeg

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-27
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #351

    居然这样吗 害怕😱
    这学期好多课给分不怎么样 太可怕了

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-27
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #350

    可以的!
    我也是转发同学的分享()

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-26
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #347

    感觉现在作业很多 而且越来越不想学了怎么办🫠

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-25
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #201

    实验兔会剪指甲吗()
    兔兔的指甲挺尖的 感觉有点危险

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-25
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #345

    今天好像开出来的剧本都很不错 投胎技术 upup
    不过话说为什么玩这么多次一次都没遇到朝鲜出生 在网上看到过 很好奇模拟效果如何

    Summary

    IMG_3404.pngIMG_3405.png

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-25
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #346

    很好玩的游戏!

    无需安装,在线游玩:https://city-and-metro.pages.dev
    已在 GitHub 开源,喜欢的点一下 Star:GitHub - VinsonFung/city-and-metro: 城市与地铁:单人地铁规划与城市交通模拟。Copyright © 2026 VinsonFung,仅限非商业使用。
    也欢迎访问我的个人博客网站:vinsonblog.cn

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-24
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #343

    欧洲出生就是爽啊()

    Summary

    IMG_3391.pngIMG_3392.png

  • ❤️ Liked post in 朝花夕拾
    谈笑风生 2026-10-23
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #2

    欢迎新门友:pig2:

  • ❤️ Liked post in 朝花夕拾
    谈笑风生 2026-10-23
    JerryMiao2019 jERRy Post #1

    听说这是兵马俑 bbs 后,西交新的 bbs,大家好啊😁

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-23
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #342

    新的爽文人生
    台湾乡村→澳大利亚入籍
    忍不住感叹游戏里的花钱机会太少 出国旅行还只能每两年选一次()
    确实可以换大房子和购买多套房屋出租 不过之前玩过一个 1980 上海双职工家庭出生的开局 发现游戏里面房价上涨幅度明显小于真实幅度

    Summary

    IMG_3380.pngIMG_3381.png

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-22
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #197

    已玩两局
    第一局输给了 ai 于是第二局直接模仿上一局遇到的 ai 说话 赢了🤣

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-22
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #195

    诶这个网站需要注册吗

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-22
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #341

    因为确实是以前在水源认识的 hhh
    认识的门友基本都由于地理距离的阻隔无法约饭

  • ❤️ Liked post in 新增了一个聆听功能,门友们喜欢吗?
    网站 2026-10-21
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #2

    使用此功能后再次打开同一话题会出现 resume listening?的弹窗 看起来有点烦()

  • ❤️ Liked post in 新增了一个聆听功能,门友们喜欢吗?
    网站 2026-10-21
    I
    IO Post #1

    image.png

    image.png

    门友发了很多值得阅读的东西,但是现在在家阅读的时间少,开车的时间多。
    开车的时候听 BBC 听腻了

    BBC

    BBC World Service - World Business Report

    The latest business and finance news from around the world, on the BBC

    虽然有浏览器插件可以听网页
    Read Aloud: A Text to Speech Voice Reader

    但是不知道新增什么功能了,那就新增一个聆听功能吧。

    支持自动播放下一条 post。
    可以在设置里自定义音色。

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-21
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #338

    周末🐖的三文鱼
    因为不能吃辣适应不了芥末的味道 吃几块之后感觉很腻 后来查了一下或许弄点柠檬汁/牛油果会好一些 但家里刚好没有这些
    但是鱼的味道是新鲜的

    Summary

    IMG_3256.jpeg

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-21
    sJtupid JacKeiner Post #339

    不是,你要在这工作的话是工签 - 永久居民 - 入籍

    相对来说难度不算大

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-20
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #337

    新加坡入籍似乎主要是看资产?
    我不太了解这些()

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    sJtupid JacKeiner Post #331

    等我们这代平均九十多应该也正常(?)

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    sJtupid JacKeiner Post #330

    所以现在不是旧 discourse 了吗👀

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    A
    anonymous Post #332

    赞同,还有深夜在走廊打电话,跺脚(触发声控灯晾衣服)

    天生万物以养人
    :sanguosha: :sanguosha: :sanguosha: :sanguosha: :sanguosha: :sanguosha: :sanguosha:

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    I
    IO Post #333

    然也,现在这个是开发团队自主研发的基于 sveltekit 的软件,名称还没想好,名称想好后计划把它开源

    I IO — #1 in 本网站软件征名

    原来起的名字叫 murmur,发音晦涩,都是平音,没有仄音,不够响亮,没有区分度、知名度。远远不如 Discourse.

    现面向广大门友征名,针对本站的这套“论坛/社区/聊天/频道/联合博客”软件,起个什么名字好?最好不和网上的现有软件重名。

    discourse, phpBB, nodeBB, myBB, flarum, Beehive, nimforum, Discuz

    英文名

    中文名

    欢迎大家畅所欲言

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #334

    新的爽文剧本:印度乡镇→澳洲入籍

    Summary

    IMG_3253.png

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-19
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #329

    大概五局🤣
    不过我有时候会选择上世纪出生 开出发达国家的概率稍微大一些

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-18
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #327

    体验了白女幸福的一生🤣
    话说这个游戏里的平均寿命都好长 感觉比现实中更长一些()

    Summary

    IMG_3250.png

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-18
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #326

    全新的爽文一般的剧本🤣

    Summary

    IMG_3248.png

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-17
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #325

    感觉这个游戏挺好玩的
    还可以选择在过去(1950 以后)和未来出生 在过去出生很有意思
    目前不论选择什么年代 开出来绝大部分都是发展中国家出生 有好几次在印度出生 人口大国这一块🤣
    印象比较深刻的大概是有次开出美国第四分位的富裕家庭 体验了白男顺遂的一生()
    还有开局 1980 的中国乡村 但一直坚持读书最终在北京扎根 孩子还去美国了
    还有几次出生在非洲 没过多久就忽然黑屏因为疾病去世了(话说其实可能加个战争去世会更加贴近现实(bushi))
    参考网址: 日网最近很流行的投胎游戏 - 小红书

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-17
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #324

    好困好困

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-15
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #323

    明天回家!
    焦急等待 ing

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-15
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #322

    点了一盒寿司但收获了 6 包酱油和 4 包芥末🤯
    IMG_3218.jpeg

  • ❤️ Liked post in 幽默短片与抽象 meme 楼
    谈笑风生 2026-10-15
    一只玉米人 玉米🌽 Post #239

    当 00 后当上收银员 小爱音压力睦子米

    小红书

    当00后当上收银员 - 小红书

    #若叶睦 #睦子米 #mygo #avemujica #千早爱音#长崎素世 小爱音压力睦子米

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-15
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #321

    好可怕🙀
    我经常被卫生间的声音吵醒 半夜洗漱的人该:sanguosha:

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-15
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #319

    我感觉在学校睡眠质量差除了交大本身让我很压抑以外 宿舍糟糕的隔音一定是一个重要原因
    Oct 14, 2026, 11:29:33 PM (Asia/Shanghai)开始特别睡觉行动

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-14
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #317

    忽然意识到自己一直忘了发早睡打卡
    昨晚在 2330 前躺下了 但中途醒了好几次还有做梦 睡的很不安稳

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-13
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #316

    讨厌交大
    想回家
    能不能快进到周五

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-13
    I
    IO Post #187

    试了一下是可以的。有可能你的 File size exceeds the limit of 10MiB.

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-12
    dvm Dvm Post #186

    @io 呼叫牢 min

  • ❤️ Liked post in 魔芋爽的日记楼
    日志 / 部落格 2026-10-12
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #181
    mirror_mirror:

    心音

    是什么
    感觉这个名字好有意思

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-12
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #314

    好猎奇的口味
    比前面看到的松茸鸡汤饼干还猎奇
    IMG_3145.jpeg

    滨寿司的期间限定金目鲷好吃😋

    今日盒照放送

    IMG_3143.jpeg

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-12
    I
    IO Post #313

    在我的资料里面改:
    https://xjtu.app/my/security

  • ❤️ Liked post in 怎么办?|一个愿为他人知晓的日记楼(Part 4)
    谈笑风生 2026-10-12
    青年杰出贡献上交大門人 紫金港第一皮革<・)))><< Post #312

    晚上打算和源友约饭 🐖开心

  • ❤️ Liked post in UCB CS162 学习记录
    学术专区 2026-10-12
    stateless_trash_can 无状态垃圾桶 Post #20

    这个 docker workspace 真是让人头疼,因为共享 host 内核所以 perf 装上用不了 🫠

    不过 proj* 里大概也用不上(

  • ❤️ Liked post in 电信科协重建业余无线电部门,欢迎新同学加入。MAKE HAM GREAT AGAIN
    寻🐱/寻物/表白/交友 2026-10-12
    Xrystal-line 羽流弦ノ迹 Post #1

    CQ CQ CQ
    DE BI9CFK
    电信科协是你交成立最早的科技社团,原无线电爱好者协会。我们正在筹备重新恢复业余无线电业务.

    未来可能策划包括但不限于以下活动:
    各频段业余通联/SSTV 图像 + 卫星云图接收/校内 LoRa 组网/业余射电天文。
    在这里你可以学习到包括制作 LNA,天线以及 SDR 等电子制作和控制等知识。也可以通过UHF 和台灯微波炉通联短波实现跨洲际/月面反射通信,交到五湖四海乃至国际空间站上的地球人朋友.

    欢迎校内外新老业余无线电爱好者加入.

    无线电部门群聊
    科协大群

  • ❤️ Liked post in UCB CS162 学习记录
    学术专区 2026-10-12
    stateless_trash_can 无状态垃圾桶 Post #1

    Fa25 website

    CS 162 — Fall 2025
    (我爬下来了但是太大上传不了,需要可以 pm 我)

    Textbooks

    Operating Systems Principles and Practice, Volume 1: Kernels and Processes
    Operating Systems Principles and Practice, Volume 2: Concurrency
    Operating Systems Principles and Practice, Volume 3: Memory Management
    Operating Systems Principles and Practice, Volume 4: Persistent Storage

    Sp22 course video

    https://www.bilibili.com/video/BV1L541117gr

  • ❤️ Liked post in UCB CS162 学习记录
    学术专区 2026-10-12
    stateless_trash_can 无状态垃圾桶 Post #18
    void _start(int argc, char* argv[]) { exit(main(argc, argv)); }
    
    0804890f <_start>:
     804890f:       55                      push   %ebp
     8048910:       89 e5                   mov    %esp,%ebp
     8048912:       83 ec 18                sub    $0x18,%esp
     8048915:       8b 45 0c                mov    0xc(%ebp),%eax
     8048918:       89 44 24 04             mov    %eax,0x4(%esp)
     804891c:       8b 45 08                mov    0x8(%ebp),%eax
     804891f:       89 04 24                mov    %eax,(%esp)
     8048922:       e8 6d f7 ff ff          call   8048094 <main>
     8048927:       89 04 24                mov    %eax,(%esp)
     804892a:       e8 d4 22 00 00          call   804ac03 <exit>
    

    之前学 15-213 的时候看的是 SysV AMD64 ABI,参数是用寄存器传递的,结果到这里愣了半天 🫪

     8048915:       8b 45 0c                mov    0xc(%ebp),%eax
     8048918:       89 44 24 04             mov    %eax,0x4(%esp)
     804891c:       8b 45 08                mov    0x8(%ebp),%eax
     804891f:       89 04 24                mov    %eax,(%esp)
    

    这四步应该是 cdecl 传参,_start 的 caller 把 argc, argv 分别放在 0xc(%ebp), 0x8(%ebp) (0x4(%ebp), (%ebp) 分别是返回地址和 callee-saved %ebp)

    接着 _start 把 argc, argv 分别复制到 (%esp), 0x4(%esp),作为 main 的参数

    所以函数的参数储存在其 caller 的栈帧上

  • ❤️ Liked post in UCB CS162 学习记录
    学术专区 2026-10-12
    stateless_trash_can 无状态垃圾桶 Post #19

    proj-pregame

    主要任务是修复三个测试

    do-nothing

    /* Does absolutely nothing. */
    
    #include "tests/lib.h"
    
    int main(int argc UNUSED, char* argv[] UNUSED) { return 162; }
    
    Page fault at 0xc0000008: rights violation error reading page in user context.
    do-nothing: dying due to interrupt 0x0e (#PF Page-Fault Exception).
    Interrupt 0x0e (#PF Page-Fault Exception) at eip=0x8048915
    

    可以看到在用户模式发生了非法读取导致的页面错误,0x8048915 处的指令访问了 0xc0000008

    • 搜索 0xc0000000 可找到:
    /* Kernel virtual address at which all physical memory is mapped.
       Must be aligned on a 4 MB boundary. */
    #define LOADER_PHYS_BASE 0xc0000000 /* 3 GB. */
    
    /* Base address of the 1:1 physical-to-virtual mapping.  Physical
       memory is mapped starting at this virtual address.  Thus,
       physical address 0 is accessible at PHYS_BASE, physical
       address address 0x1234 at (uint8_t *) PHYS_BASE + 0x1234, and
       so on.
    
       This address also marks the end of user programs' address
       space.  Up to this point in memory, user programs are allowed
       to map whatever they like.  At this point and above, the
       virtual address space belongs to the kernel. */
    #define PHYS_BASE ((void*)LOADER_PHYS_BASE)
    
    /* Returns true if VADDR is a user virtual address. */
    static inline bool is_user_vaddr(const void* vaddr) { return vaddr < PHYS_BASE; }
    
    /* Returns true if VADDR is a kernel virtual address. */
    static inline bool is_kernel_vaddr(const void* vaddr) { return vaddr >= PHYS_BASE; }
    

    可知内核虚拟内存空间以及物理内存映射从 0xc0000000 开始(用户虚拟内存空间结束),因此在用户空间对 0xc0000008 的访问是非法的,触发了页面错误

    image.png

    • 用 objdump 把反汇编 do-nothing 后查找 0x8048915 可得到:
    0804890f <_start>:
     804890f:       55                      push   %ebp
     8048910:       89 e5                   mov    %esp,%ebp
     8048912:       83 ec 18                sub    $0x18,%esp
     8048915:       8b 45 0c                mov    0xc(%ebp),%eax
     8048918:       89 44 24 04             mov    %eax,0x4(%esp)
     804891c:       8b 45 08                mov    0x8(%ebp),%eax
     804891f:       89 04 24                mov    %eax,(%esp)
     8048922:       e8 6d f7 ff ff          call   8048094 <main>
     8048927:       89 04 24                mov    %eax,(%esp)
     804892a:       e8 d4 22 00 00          call   804ac03 <exit>
    

    (对就是楼上那个片段)

    这是 lib/user/entry.c,负责在用户程序返回后调用 exit syscall

    触发页面错误的指令是 mov 0xc(%ebp),%eax,作用是读取栈上的 argv,不过实际读取了 0xc0000008

    用 gdb 追踪内核创建进程和进入用户模式的过程:

    1. 创建新线程
    2. 分配 PCB,并和主线程关联
    3. 糊一个假的中断帧,从磁盘加载用户程序,分配栈内存,初始化中断帧内的寄存器值
    4. 调用正常中断恢复的流程,通过 iret 进入用户空间,并开始执行用户程序

    image.png

    这里炸掉是因为内核没有正确根据 cdecl 实现 _start 的 argc, argv 的传递,而是直接把中断帧的 %esp 设置为实际栈内存的顶部,导致 argc, argv 的理论位置超过了栈顶进入了内核虚拟内存空间,详见下图:

    CamScanner 10-12-2026 06.24.jpg
    我草我字好丑

    任务要求我们只要修好错误就行,不必正确实现传参,所以很简单:

      // Hack for do-nothing.
      // Offset esp so argc, argv copy in _start does not trigger page fault.
      if_.esp -= 0xc;
    

    给初始 %esp 加个偏移量,保证 argc, argv 都在栈内就可以了

    do-not-much

    /* Does pretty much nothing. */
    
    #include "tests/lib.h"
    
    int main(int argc, char* argv[] UNUSED) {
      return argc;
    }
    

    测试要求 exit(1),也就是 argc 需要是 1,我们在内核模式下分配栈后设置一下即可

      // Hack for do-nothing.
      // Offset esp so argc, argv copy in _start does not trigger page fault.
      if_.esp -= 0xc;
      // Hack for do-not-much.
      // Set argc to 1.
      *(int*) (if_.esp+0x4) = 1;
    

    stack-align-v

    /* Does absolutely nothing. */
    
    #include "tests/lib.h"
    
    int main(int argc, char* argv[] UNUSED) {
      register unsigned int esp asm("esp");
      if (argc != 1)  // argc must be 1.
        return -1;
      else
        return esp % 16;
    }
    

    测试要求 exit(0),即 esp 必须 16B 对齐,%esp 偏移量 +8 即可

      // Hack for do-nothing.
      // Offset esp so argc, argv copy in _start does not trigger page fault.
      if_.esp -= 0xc + 0x8; // Align to 16 bytes.
      // Hack for do-not-much.
      // Set argc to 1.
      *(int*) (if_.esp+0x4) = 1;
    
Notifications Posts Topics Chat Profile