Skip to content

ysyx-ta/bug-needle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Bug Needle: 半自动化Bug注射器

可用于“一生一芯”在线调试考核的离线练习.

注意: 使用前尽可能保证ysyx-workbench中代码已经通过git commit提交, 否则你可能难以发现注入的bug.

使用流程:

  1. 执行以下命令注入bug
    YSYX_HOME=ysyx-workbench的路径 python needle.py
  2. 编译你的项目, 若编译报错, 跳转到最后一步
  3. 运行你的项目, 若运行成功, 跳转到最后一步
  4. 开始调试练习, 若调试成功, 本次练习通过, 结束本流程
  5. 在ysyx-workbench目录下执行git diff观察并手动移除注入的bug, 可跳转到第一步重新练习

可通过定义环境变量DEBUG来输出sed命令和注入的bug, 供调试本工具使用. 如

DEBUG=1 YSYX_HOME=ysyx-workbench的路径 python needle.py

半自动化的原因: 目前尚无法保证注入的bug可以通过编译, 也无法保证注入的bug可以使得程序运行出错, 故需要手动介入.

TODO:

  • 添加更多bug规则(欢迎大家贡献!)
  • 支持NPC和环境bug的注入

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%