精华内容
下载资源
问答
  • R3live:整体分析 千次阅读 热门讨论
    2022-01-07 11:03:26

    R3LIVE相关参考:
    R3LIVE(升级R2LIVE):编译与运行

    https://blog.csdn.net/handily_1/article/details/122271243?spm=1001.2014.3001.5502
    R3live:整体分析
    https://blog.csdn.net/handily_1/article/details/122360134?spm=1001.2014.3001.5502
    运行代码报错:Failed to load module “canberra-gtk-module“
    https://blog.csdn.net/handily_1/article/details/122359275
    R3live笔记:(图像处理)视觉-惯性里程计VIO部分
    https://blog.csdn.net/handily_1/article/details/122377514

    编译

    编译运行R3LIVE参考文章:R3LIVE(升级R2LIVE):编译与运行

    https://blog.csdn.net/handily_1/article/details/122271243?spm=1001.2014.3001.5502

    在这里插入图片描述

    1. rviz分析

    简单分析一下rviz中都显示什么内容

    1. Global Options坐标系:world
    2. Grid:栅格
    3. Axes:Fixed Frame的坐标系,不能添加相对于其他坐标系的Axes
    4. LIO文件夹
      pointcloud_map: 订阅的是/cloud_registered,这个就是处理后的全部点云了
      current_scan:当前扫描到的全部点,订阅的也是/cloud_registered,Size是5,Alpha是1,Decay是0
      feature_map:特征点地图,订阅的是/Laser_map
      Path:r3live计算出来的轨迹,订阅的是/path
      Odometry:/r2live/odometry 没用到
      Odometry:建图的时候的位姿,订阅的是/aft_mapped_to_init
      Odometry:相机位姿,订阅的是/camera_odom
      Path:视觉计算出的轨迹,订阅的是/camera_path
      track_pts:应该是视觉计算出的点云,跑代码的时候"/track_pts"这个话题并没有数据输出
    5. RGB_map文件夹
      这里面全是由不同的 /RGB_map_*话题组成的一张RGB地图
    6. Input image:rviz显示输入图像
    7. Tracked points:rviz显示视觉追踪图像

    2. ros节点与话题

    在这里插入图片描述
    /RGB_map_*话题计较长哈,回头处理一下图片,其实r3live节点与话题和还是很清晰明了的, 一共就/r3live_LiDAR_front_end和/r3live_mapping两个节点:

    /r3live_LiDAR_front_end节点算法来自于经典算法LOAM中的特征提取部分,其实也是R2live、fast-lio中都使用到的,他订阅/livox/lidar雷达话题信息,经过处理后发布点云/laser_cloud,平面点/laser_cloud_flat和角点/laser_cloud_sharp信息。

    /r3live_mapping节点就订阅平面点/laser_cloud_flat、imu话题/livox/imu和相机(这里的图片是compressed格式)话题/camera/image_color/compressed。发布的话题是前面rviz订阅的所有。

    3. launch文件分析

    以r3live_bag.launch为例:

    <launch>
        <!-- Subscribed topics -->
        <param name="LiDAR_pointcloud_topic" type="string" value= "/laser_cloud_flat" />
        <param name="IMU_topic" type="string" value= "/livox/imu" />
        <param name="Image_topic" type="string" value= "/camera/image_color" />
        <param name="r3live_common/map_output_dir" type="string" value="$(find r3live)/../r3live_output" />
        <rosparam command="load" file="$(find r3live)/../config/r3live_config_r3live.yaml" />
      
       <node pkg="r3live" type="r3live_LiDAR_front_end" name="r3live_LiDAR_front_end"  output="screen"  required="true">
        <remap from="/livox/lidar" to="/livox/lidar" />
      </node>
    
        <node pkg="r3live" type="r3live_mapping" name="r3live_mapping" output="screen" required="true" />
        
        <arg name="rviz" default="1" />
        <group if="$(arg rviz)">
            <node name="rvizvisualisation" pkg="rviz" type="rviz" output="log" args="-d $(find r3live)/../config/rviz/r3live_rviz_config.rviz" />
        </group>
    </launch>
    
    • 第一个参数是设置r3live处理的雷达话题,不是livox话题
    • 定义imu、Image的topic和地图保存路径
    • 加载配置文件r3live_config_r3live.yaml
    • 启动r3live_LiDAR_front_end节点和r3live_mapping节点
    • 启动rviz

    4. r3live_config文件分析

    Lidar_front_end:
       lidar_type: 0   # 1 for Livox-avia, 3 for Ouster-OS1-64
       N_SCANS: 6
       using_raw_point: 1
       point_step: 1
       
       
    r3live_common:
       if_dump_log: 0                   # If recording ESIKF update log. [default = 0]
       record_offline_map: 1            # If recording offline map. [default = 1]
       pub_pt_minimum_views: 3          # Publish points which have been render up to "pub_pt_minimum_views" time. [default = 3]
       minimum_pts_size: 0.01           # The minimum distance for every two points in Global map (unit in meter). [default = 0.01] 
       image_downsample_ratio: 1        # The downsample ratio of the input image. [default = 1]
       estimate_i2c_extrinsic: 1        # If enable estimate the extrinsic between camera and IMU. [default = 1] 
       estimate_intrinsic: 1            # If enable estimate the online intrinsic calibration of the camera lens. [default = 1] 
       maximum_vio_tracked_pts: 600     # The maximum points for tracking. [default = 600]
       append_global_map_point_step: 4
    r3live_vio:
       camera_intrinsic:          # 相机内参
          [863.4241, 0.0, 640.6808,
          0.0,  863.4171, 518.3392,
          0.0, 0.0, 1.0 ] 
       camera_dist_coeffs: [-0.1080, 0.1050, -1.2872e-04, 5.7923e-05, -0.0222]  # 畸变系数k1, k2, p1, p2, k3
    # 相机外参
       camera_ext_R:
             [-0.00113207, -0.0158688, 0.999873,
                -0.9999999,  -0.000486594, -0.00113994,
                0.000504622,  -0.999874,  -0.0158682]
    
       camera_ext_t: [0,0,0] 
    
    r3live_lio:        
       lio_update_point_step: 4   # Point step used for LIO update.  
       max_iteration: 2           # Maximum times of LIO esikf.
       lidar_time_delay: 0        # The time-offset between LiDAR and IMU, provided by user. 
       #  体素大小
       filter_size_corner: 0.30   
       filter_size_surf: 0.30
       filter_size_surf_z: 0.30
       filter_size_map: 0.30
    

    5. cmakelists.txt

    • 生成r3live_LiDAR_front_end可执行文件
    add_executable(r3live_LiDAR_front_end src/loam/LiDAR_front_end.cpp)
    target_link_libraries(r3live_LiDAR_front_end ${catkin_LIBRARIES} ${PCL_LIBRARIES})
    
    • 生成r3live_cam_cali_create_cali_board可执行文件
    if(Ceres_FOUND)
      message(STATUS "===== Find ceres, Version ${Ceres_VERSION} =====")  
      include_directories(${CERES_INCLUDE_DIRS})
      add_executable(r3live_cam_cali src/r3live_cam_cali.cpp)
      target_link_libraries(r3live_cam_cali ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} ${CERES_LIBRARIES})
    
      add_executable(r3live_cam_cali_create_cali_board src/r3live_cam_cali_create_cali_board.cpp)
      target_link_libraries(r3live_cam_cali_create_cali_board ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
    endif()
    
    • 生成r3live_mapping可执行文件
    add_executable(r3live_mapping src/r3live.cpp 
                    src/r3live_lio.cpp
                    src/loam/include/kd_tree/ikd_Tree.cpp
                    src/loam/include/FOV_Checker/FOV_Checker.cpp 
                    src/loam/IMU_Processing.cpp
                    src/rgb_map/offline_map_recorder.cpp
                    #From VIO
                    src/r3live_vio.cpp
                    src/optical_flow/lkpyramid.cpp
                    src/rgb_map/rgbmap_tracker.cpp
                    src/rgb_map/image_frame.cpp
                    src/rgb_map/pointcloud_rgbd.cpp
                  )
    target_link_libraries(r3live_mapping 
                              ${catkin_LIBRARIES}
                              ${Boost_LIBRARIES}
                              ${Boost_FILESYSTEM_LIBRARY}
                              ${Boost_SERIALIZATION_LIBRARY} #serialization
                              ${OpenCV_LIBRARIES}
                              #${OpenMVS_LIBRARIES}
                              pcl_common 
                              pcl_io) 
    
    • 生成r3live_meshing可执行文件
    FIND_PACKAGE(CGAL REQUIRED)
    if(CGAL_FOUND)
    	include_directories(${CGAL_INCLUDE_DIRS})
    	add_definitions(${CGAL_DEFINITIONS})
    	link_directories(${CGAL_LIBRARY_DIRS})
      ADD_DEFINITIONS(-D_USE_BOOST -D_USE_EIGEN -D_USE_OPENMP)
      SET(_USE_BOOST TRUE)
      SET(_USE_OPENMP TRUE)
      SET(_USE_EIGEN TRUE)
    #生成r3live_meshing可执行文件
      add_executable(r3live_meshing src/r3live_reconstruct_mesh.cpp                              
                                    src/rgb_map/image_frame.cpp
                                    src/rgb_map/pointcloud_rgbd.cpp  
                                    # Common
                                    src/meshing/MVS/Common/Common.cpp
                                    src/meshing/MVS/Common/Log.cpp
                                    src/meshing/MVS/Common/Timer.cpp
                                    src/meshing/MVS/Common/Types.cpp
                                    src/meshing/MVS/Common/Util.cpp
                                    # MVS                       
                                    src/meshing/MVS/Mesh.cpp
                                    src/meshing/MVS/PointCloud.cpp
                                    src/meshing/MVS/Camera.cpp
                                    src/meshing/MVS/Platform.cpp
                                    src/meshing/MVS/PLY.cpp
                                    src/meshing/MVS/OBJ.cpp
                                    src/meshing/MVS/IBFS.cpp
                                    )
    target_link_libraries(r3live_meshing 
                                      ${catkin_LIBRARIES}
                                      ${Boost_LIBRARIES}
                                      ${Boost_FILESYSTEM_LIBRARY}
                                      ${Boost_SERIALIZATION_LIBRARY} # serialization
                                      ${CGAL_LIBS}
                                      ${OpenCV_LIBRARIES}
                                      ${JPEG_LIBRARIES} 
                                      gmp
                                      pcl_common 
                                      pcl_io
                                      pcl_kdtree)
    
    endif()
    
    更多相关内容
  • 在大量学习和调研之后选择follow港大MARS实验室的有关Livox雷达的成果,趁r3live刚开源不久(2021年的最后一天开源)的机会,我就蹭个热度,如题所示,这个文章是对刚刚开源的R3LIVE的体验以及测试,r3live的github...

    作者丨颍川滞@知乎

    来源丨https://zhuanlan.zhihu.com/p/453038352

    编辑丨3D视觉工坊

    前言:

    Hello,大家好,我是清华自动化的小郭,前两个月我开始做SLAM研究,目的是以Livox雷达为核心做多传感器融合方案用在测绘场景做应用,在大量学习和调研之后选择follow港大MARS实验室的有关Livox雷达的成果,趁r3live刚开源不久(2021年的最后一天开源)的机会,我就蹭个热度,如题所示,这个文章是对刚刚开源的R3LIVE的体验以及测试,r3live的github链接:https://github.com/hku-mars/r3live

    R3LIVE这个工作我已经关注很久了,它在传统SLAM框架下搭建了一套高性能雷达odometry-彩色点云Mapping-三维重建的体系,将Lidar-相机-IMU更直接有效的融合。它在建图的同时把RGB信息通过VIO子系统给点云上色,并通过一定的方法优化这个上色。

    给点云的xyz加上了RGB和协方差信息之后,数据的信息要素就变多了,可拓展性也变强了。

    可以说,在现在已有的所有slam框架中,r3live是唯一能做到这一点的,这就是这个工作真正值得吹的,最牛逼的地方,这也是笔者我愿意花这么多时间写这个文章的主要原因。

    R3LIVE A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual state estimator

    视频:https://www.bilibili.com/video/BV1d341117d6?from=search&seid=12107213485081421560&spm_id_from=333.337.0.0

    此外,更有趣的就是,这篇文章还提供了高效的三维点云重建mesh工具,作者根据三维重建的结果做了一个打怪的小游戏。

    视频地址:https://www.bilibili.com/video/BV1e3411q7Di?from=search&seid=12107213485081421560&spm_id_from=333.337.0.0

    看完演示和论文我直呼小母牛倒立-NB冲天(图0-1)

    另外,看了这个作者(Jiarong Lin)发表的所有历史工作之后,发现所有他的文章都有对应的开源实现!!!对于这种宝贵的开源精神,这不大家赶紧动动小手支持一下?至少给个star不过分吧哈哈哈

    https://paperswithcode.com/search?q=author%3AJiarong+Lin

    简介:

    在这里我简单介绍一下hku-mars的几篇相关工作

    1、loam-livox:livox雷达SLAM的奠基之作

    作者:Jiarong Lin and Fu Zhang
    代码链接:https://github.com/hku-mars/loam_livox
    简介:也就是r3live的作者写的这篇文章,在经典loam体系的基础之上,针对livox高频率小fov和不规则采样的特点,设计了
    一种鲁棒、实时的激光雷达建图算法;livox-loam2更是添加了一种高效的回环检测方案(这很符合测绘逻辑)。
    再说说Livox的这个雷达,它采用花瓣式扫描(图1-1)的方式类似于人的视网膜(图1-2)的扫描方式,之后如果用来做机器学习
    可能会非常的NB。
    75bc6c2ccbb59fc74bda97ea9d83ef61.png

    图1-1:livox-avia扫描方式

    4f861cda0a04fba1bf219c2a3d3549ad.png

    图1-2:livox雷达和人眼扫描注意力对比图

    2、lio系列:FASTLIO\FASTLIO2:高性能LIO的

    作者:Wei Xu, Yixi Cai 等
    代码链接:https://github.com/hku-mars/ikd-Tree 
    简介:FASTLIO1提出了一种使用紧耦合的迭代扩展卡尔曼滤波器将激光雷达特征点与IMU数据融合,我的理解FASTLIO1做了两个工作,
    一个是使用流形约束了SO3,一个是设计了一种迭代卡尔曼滤波器代替了loam的非线性优化方案。
    FASTLIO2就更有意思了,更好的利用了他们实验室设计的动态增量KD树,在ikdtree的高速运算加持下,就不用zhangji那种手工
    提取角点面点的老方法了,直接降采样做ICP这样匹配就能get到一些重要的但是我们并不知道它重要的特征。

    3、live系列:r2live\r3live:

    作者:Jiarong Lin and Fu Zhang
    代码链接:https://github.com/hku-mars/r2live
    简介:r2live,将fastlio2变成lio子系统,加入了vio子系统,在误差卡尔曼滤波器内部估计状态,并用因子图优化进一步提高整体
    精度。通俗点儿讲就是雷达和相机在不同环境中有各自的优势,在卡尔曼滤波框架下雷达场景不退化的用雷达,雷达不行上相机顶,实在
    不行上IMU顶。

    看完了r2live的论文和介绍视频之后我就说,是骡子是马拉出来溜溜,我马上带着我们调研时候自己攒的手持设备(图2-1)在校园里测试一下,那是真的随便走随便扫,实时运算,咋扫都行,计算效率特别高,也非常的鲁棒(图2-2),扫完之后我就有一种感觉:确实牛逼

    然而,今天的主角不是r2live,而是我接下来重点想说说的r3live

    80e80b95996cca316285a6ba211ce621.png

    图2-1:我们的设备和采集过程

    af24aa71aa5179b8b5c042de1876db88.png

    图2-2:r2live扫描校园效果1

    bedbbccf11076c18ad74bf6a1ea8d1a8.png

    图2-3:r2live扫描效果2

    r3lvie意义何在

    有小伙伴就问了,这r2live(图3-1)和r3live(图3-2)有啥区别呢,在看完论文之后,可以判断r3live应该基于前作r2live的基础上开发的,也是分为俩个子系统,即:激光惯导子系统(LIO)和视觉惯导子系统(VIO)。其中,如以下框架图所示,r3live和r2live的LIO系统并没有太大的区别,他们的最大区别在于VIO的设计上。r2live采用的是ESIKF filter-based odometry + pose graph optimization的pipeline,通过ESIKF filter快速迭代出最优状态,然后通过pose graph optimization的进行refine。而在r3live中,VIO子系统直接使用了由LIO系统的点云地图,通过对地图纹理(即点云的RGB颜色)的观测来更新系统的状态。简而言之,r3live中的LIO系统负责构建地图的几何结构(geometry structure), VIO子系统负责渲染地图的纹理(texture, 即点云的颜色信息)。

    得益于这种设计,r3live比r2live的多传感器融合的更直接有效。

    0e05eb57aded5a186b1f5df9010db843.png

    图3-1 r2live

    d36b7b3b328b3fea3af72c7cd27018cb.png

    图3-2:r3live

    r3live效果展示

    首先,我的电脑配置:32GRAM,i7-10700U的NUC,没有显卡,跑起来无压力,所有的截图都是实时跑数据实时截图。

    我跑的数据就是作者提供的几个数据集分别是:

    degenerate开头的表示容易退化场景的数据集,好像还有loam-livox的陈年老bag

    hku_campus开头的是港大室内-室外场景的数据集

    hkust_campus开头的港科技是比较大尺度的校园类型的数据集

    hku_park是开头的是树木多的公园类型的数据集

    这几种数据集基本上可以代表大部分slam的作用环境了,跑一跑这个数据做一个验证是非常有说服力的,也可以跑我们自己的数据(r2live采集的数据)。但是跑自己的数据的时候要做好相机雷达联合标定,并在config的yaml文件里配置一下自己的相机的内外参。

    1、实时性:用图体现不出来,我们跑的时候还是很流畅的

    34f77bce78319bf32b6fd53dc42a064f.png 2、雷达和相机容易退化的几个场景 a707f2f87987c7ed407fbdbb00547d49.png

    直接硬怼白墙这种雷达必然退化,相机也容易飘的场景能保持稳定非常NB

    cffd0c55c16efa9a218b711802bf19e4.png

    再来一张

    3、回环的场景

    e9453f46df17ae41e777dd9afec28171.png

    hkust01的bag,走第二圈这个楼梯的时候还是同一个栏杆非常的NB

    1d3174e17efc953f292c73b700396d28.png

    走树林的场景回环的很好

    4、彩色点云

    333f1d89ebda8d4e0b83ca497c77db40.png

    点云上色的质量非常的好

    82ddcff3ccc91e34f7ca6de88437256f.png

    港科技萌萌的地面

    2237f6d4ad56902e97d04aebcd8084a2.png

    每一根毛都清清楚楚

    2573a5d173dcbf1c97b6df8d39dfc717.png

    有一种身临其境的感觉

    9846184194f5f8c684142e02c08e7d27.png

    树林一角

    f88e215beb17405bd0bb112b8be8dc98.png

    校园风景

    f80b6fda9852fb584fcf383b4ca3438e.png

    校园总览

    b40abb955af9dd027c719c06d97e737e.png

    地面纹理相当清晰

    c5feb16be65ae7a58eb49de584606132.png

    车道线表达也相当稳健

    三维重建及其应用

    5、mesh重建:

    建图效率非常的好,作者把该功能集成在了roslaunch中,用起来也非常方便,有心了。

    6、重建应用:两个小游戏

    7、系统监视工具:

    内存查看器:在运行r3live的roslaunch的终端里面,作者给我们维护了一个内存监视器,可以实时查看内存占用情况,还是很好用的。

    b821c7ed4604d6b3d9961f94a58204c8.png

    对于r3live的展望

    在实际测试中,除了实时重建的彩色地图给了我很大的震撼,我还关注到以下几点,首先是内存占用问题,通过作者提供的内存查看器,我门可以很清楚的看到,r3live的内存占用是比较大的,9GB大小的香港科技大学的bag,在内存中表现总占用了27GB RAM,可以看出来,R3LIVE的地图记录了不止点位的几何位置信息,还记录了RGB颜色、协方差等一堆参数,导致R3LIVE在内存占用上还是很高的,不知道后续作者会不会针对这个问题做相关的优化。

    第二点就是在进行三维重建之后,在树和房子之间的部分,建图效果不是很理想,语义分割后再进行mesh是不是会好一些?

    总之我就想赶紧标定好设备,马上去采据去

    本文仅做学术分享,如有侵权,请联系删文。

    3D视觉精品课程推荐:

    1.面向自动驾驶领域的多传感器数据融合技术

    2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
    3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
    4.国内首个面向工业级实战的点云处理课程
    5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
    6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
    7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
    8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

    9.从零搭建一套结构光3D重建系统[理论+源码+实践]

    10.单目深度估计方法:算法梳理与代码实现

    11.自动驾驶中的深度学习模型部署实战

    12.相机模型与标定(单目+双目+鱼眼)

    13.重磅!四旋翼飞行器:算法与实战

    重磅!3DCVer-学术论文写作投稿 交流群已成立

    扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

    同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

    一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

    f4726f62aaeba7b81d68973875b57e17.png

    ▲长按加微信群或投稿

    f5018a269e61b7cf808b7fe0deea44b7.png

    ▲长按关注公众号

    3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

    学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

    e71e9eb22ebfd62127c9c980da4df753.png

     圈里有高质量教程资料、答疑解惑、助你高效解决问题

    觉得有用,麻烦给个赞和在看~  

    展开全文
  • 全新锐龙APU之R3-4200G/4350G评测2020-07-22 14:39:0751点赞63收藏20评论【0】前言当新APU罗列在眼前让我选择,毫不犹豫看上了最入门级的R3-4200G(4350G),不为别的,如果这一代R3有着超越上一代R5(上一代最高就是R5...

    【新CPU】入门级真香!全新锐龙APU之R3-4200G/4350G评测

    2020-07-22 14:39:07

    51点赞

    63收藏

    20评论

    【0】前言

    当新APU罗列在眼前让我选择,毫不犹豫看上了最入门级的R3-4200G(4350G),不为别的,如果这一代R3有着超越上一代R5(上一代最高就是R5-3400G)的实力,那么产品更新迭代就很有意义,新R3也将是APU用户的致优之选。

    So,下面就让我们一起来看看新R3-APU的真正实力。

    【1】历代桌面级APU参数对比

    df1322d6ec065b1d40cb783028e68ca4.png

    ▲ 4000系列APU和台式机3000系列锐龙属于同一架构的同一代产品(APU是2000起跳的),并且这一代R3-4350G(4200G)已经升级到和上一代R5-3400G相同的4核8线程,加上架构的巨大优势,CPU理论性能超越R5几乎没有悬念,无非是看看新的高频Vega 6与上一代Vega 11之间会存在多少性能差距。

    【2】CPU本体

    8eaa06ff414f5e6aac34849093a6a665.png

    3fb9fd8770ccaabc659bf29989054cbc.png

    ▲ 我们本次评测会对比R5-3400G与R3-4350G(4200G)的CPU&集成显示核心性能两项主参数。从外形上来说,两代产品并无过大差异,接口也保持完全相一致的AM4。

    2789c422494769e60c486ad65616a636.png

    ▲ 锐龙3 PRO 4200G就是锐龙3PRO 4350G,老版本的BIOS里显示4200G,在新版本BIOS中,AMD已经将其改为4350G(参数不变,只变名字)。

    510fd3659c5b5bee6598256545f60a7a.png

    ▲ 锐龙5 3400G是上一代APU最高阶型号。

    【3】测试平台介绍

    05616e6fbfab789aea8fc216159d3940.png

    5497f8a687e92274cdd4635dd22c32b4.png

    26f83b7cbb69fd8fa5f8c2d13b0687fe.png

    ★ 为什么更换主板?

    ☆ 就因为这事我差点错怪华擎,B550已经不再支持Zen+架构或更老的处理器,也就是说B550默认已经点不亮R5-3400G。但我一开始在不知情的情况下居然在华擎B550上点亮了R5-3400G,就是发现内存兼容性差得可怕(2800都点不亮),遂咨询华擎技术,他告诉“B550本来就是不支持R5-3400G的”,我差点以为是华擎给自己兼容性不到位找借口,后来才知道B550确实只能支持Zen2,能点亮Zen+使用已经是个奇迹。X570或更老的B450/X470/300系列都是完美兼容一代、二代锐龙的。

    ★ 为什么更换内存?

    ☆ AMD处理器内存兼容性是从三代Zen2架构才开始有所改善的,R5-3400G属于二代Zen+架构,内存兼容性较差,用宇惟(已倒闭)的条子3200上不去,换了金泰克X3-RGB后居然3600都可以上,就干脆把X3降频到3200进行对比测试。R3-4200G/4350G不存在兼容性障碍,可以兼容大多数3000以上的高频条。

    2082c9336d2c7bad7b2ac444654989f4.png

    7b1a3f8be6859d81eec28fcb800e240a.gif

    28f40c1f4148d28554236a7e772b9373.gif

    ▲ 宇惟(已倒闭)这辈子可能唯一能让人记住的内存产品就是雷电系列了。

    【4】AMD的亮瞎眼改名操作

    960e41009719533741ae98a99b96f1c7.png

    2ff722cf41e36ae89afb3ca6f7a5361d.png

    ▲ 该处理器名称为R3 PRO 4200G,与CPU表面信息保持一致。

    d6c987abd0a70d081d69addf0e0e0594.png

    ▲ 更新完BIOS后处理器名称变为R3PRO 4350G,为此我询问了有关人员,告知确实如此,AMD最初设想的名字是4200G,后面又改成4250G/4300G这些,最后才敲定用4350G。参数不变名字变,AMD的神仙操作。

    【5】相关测试

    【5.1】CPU-Z

    9caeb958c8dbaaf64b1990d8af100ea1.png

    ▲ CPU-Z参数检测:R3-PRO-4350G(左)和R5-3400G(右)

    2a0944e19e0c23518d43cb2276bd38ac.png

    ▲ CPU-Z基准跑分:R3-PRO-4350G(左)和R5-3400G(右)

    85b622cbf5963422d4c41962b79773c2.png

    ▲ CPU-Z基准测试揭示出R3-4350G不论是单线程理论性能还是多线程理论性能均比老款R5-3400G更优秀,甚至要稍好于i7-7700K。

    【5.2】GPU-Z

    d7623982859cfc4e274500e3997f411b.png

    ▲ GPU-Z参数检测:R3-PRO-4350G(左)和R5-3400G(右)

    ★ R3-4350G集成7nm制造工艺的Vega6显示核心,也就是具备6组计算单元,每一单元64个着色器,共384个,运行频率为1700MHz;R5-3400G集成12nm制造工艺的Vega 11显示核心,也就是具备11组计算单元,每一单元64个着色器,共704个,运行频率为1400MHz。尽管这一代R3集成显示核心的运行频率大幅提高,但因为计算单元数量明显不如上一代R5,所以理论上性能表现会弱一些,具体弱多少看后续测试。

    ☆ 前两代R3-2200G/3200G均集成Vega 8(512个着色器)显示核心,运行频率分别是1100MHz和1250MHz。不管怎样,这一代R3的表现理论上可以通过频率的大幅优势超越前两代产品。

    【5.3】鲁大师

    47751f894a92b44433bb5e9c5621e620.png

    ▲ 鲁大师平台信息检测:R3-4350G

    7a1b5718393dbd5166e74b5a10258836.png

    ▲ 鲁大师综合跑分(R3-4350G):处理器得分95443,显卡得分48578。

    230887803e2824e295e51b722cab8b0f.png

    ▲ 鲁大师综合跑分(R5-3400G):处理器得分87550,显卡得分56906。

    R5-3400G的综合加权得分更高,原因是GPU(显卡)部分贡献的比重更大,CPU方面实际要落后于R3-4350G。

    【5.4】国际象棋测试

    47aa6d096be10514b6b5aa90f6c2f2c2.png

    ▲ 国际象棋8线程性能测试:R3-PRO-4350G(左)和R5-3400G(右)

    ★ 在该项目中,R3-4350G领先R5-3400G约20.4%。

    【5.5】CinebenchR15

    4b84585f65407d7713328e29b1e54064.png

    ▲ R15性能测试:R3-PRO-4350G(左)和R5-3400G(右)

    ★ 单线程能力,R3-4350G领先R5-3400G约12.9%;多线程能力,R3-4350G领先R5-3400G约17.9%。

    ☆ 注意:R15成绩只适合同品牌处理器之间进行对比,该项目英特尔处理器得分相对偏低。

    【5.6】CinebenchR20

    f9d10b545cce61fa17b571a6af997fb8.png

    ▲ R20性能测试:R3-PRO-4350G(左)和R5-3400G(右)

    ★ 单线程能力,R3-4350G领先R5-3400G约15.0%;多线程能力,R3-4350G领先R5-3400G约23.1%。

    ☆ 注意:R20成绩只适合同品牌处理器之间进行对比,该项目英特尔处理器得分相对偏低。

    【5.7】3D MARK

    7db1a7c2c48aaf694bd8a4db352d0fde.png

    ▲ Time Spy性能测试:R3-PRO-4350G

    5fd472d72e5e83e4addeafe81eff682c.png

    ▲ Time Spy性能测试:R5-3400G

    fb82e3a0cff7e58b094528e69f3dafe0.png

    ▲ Time Spy性能测试:综合分数R5-3400G更高,优势点在显卡部分,(显卡)领先R3-4350G约9.9%。

    770860202db1f67152a7e202396d1d2d.png

    ▲ Fire Strike性能测试:R3-PRO-4350G

    4183e6ab0b33dc8772f139a24e32dd6b.png

    ▲ Fire Strike性能测试:R5-3400G

    90e5c15bd310b100a94a6cdf625b194d.png

    ▲ Fire Strike性能测试:综合分数还是R5-3400G更高,优势点仍然在显卡部分,(显卡)领先R3-4350G约9.3%。

    【5.8】缓存测试

    de13425e5b948d813379da7b6d2d23bd.png

    ▲ 缓存性能测试:R3-PRO-4350G(左)和R5-3400G(右)

    ★ 由于R5-3400G搭配内存的时序更差,所以内存成绩不足以体现两平台的具体差异,CPU缓存性能方面R3-4350G有着比较明显的提升。

    【5.9】GPGPU测试

    a3c4a29015fb9ff0f3e2a7bda0ffc9d9.png

    ▲ GPGPU性能测试:R3-PRO-4350G(左)和R5-3400G(右)

    ★ GPU理论性能测试方面,R5-3400G大幅领先,具体领先幅度“不可描述”,几乎和CU计算单元数量成正比(而与运行频率关系不大)。CPU性能则完全相反,R3-4350G部分成绩直接是R5-3400G的2倍,这与CPU架构改进有关。

    【5.10】功耗表现

    a9c177671d28460fe625971ba63155a7.png

    ▲ 升级至7nm制造工艺后,CPU的能耗表现有了非常明显的改善,R3-4350G总功耗要比R3-3200G/R5-3400G低不少(但这俩GPU功耗本身也比较高)。

    ★ 客观地说,AMD的7nm其实只是小幅领先于英特尔的14nm+++,而且所谓的功耗优势几乎全部来自于低频率。如果你把10核心的i9-10900K全核心降到4.00GHz上下,功耗会大幅降低至140W附近。而i5-10400/10500作为6核12线程代表,拷机即使算上15W的UHD630,总功耗也就85W~90W。

    【6】总结

    R3-4350G在CPU理论性能方面,可以平均领先上一代R5-3400G至15%,甚至最多可达20%。而集成的显示核心受到计算单元数量限制,即使运行频率大幅提高,在搭配相似内存的前提下,性能也只能介于上一代R3-3200G与R5-3400G之间,(同频内存情况下)落后R5-3400G约10%~15%。

    如果遇到内存兼容性问题,R3-4350G可以因为兼容更高频内存而实现性能上的反超。由于此类APU用户一般乐意搭配内存频率多为3000MHz~3200MHz,所以本文的成绩还是具有一定代表性的。

    最后,R3-4350G搭配自己的Vega 6显示核心可以1080P最低画质基本流畅运行各种主流大型单机,游戏表现可以一定程度上参考上一代R5-3400G或更早一代R5-2400G。

    至于R5-4650G与R7-4750G,虽然已经升级到和普通锐龙平级的6核12线程、8核16线程,但可能除极少数ITX非独显用户愿意消费外,正常的台式机消费群体入手的可能性很低(它们的价格肯定比普通锐龙更贵)。讲道理,现阶段买个经过N轮降价的R5-3600/R7-3700X+一张入门级400块钱的RX550(或更高级)独显明显更香且更有优势,况且普通锐龙三级缓存大得多得多,IPC会比APU稍强,性能发挥也不会受到GPU核心的拖累,而独立显卡又有自带的独立显存,游戏表现也明显更稳定。

    未经授权,不得转载

    c2ad9c123c4d84295e50d901fd065b58.png

    展开全文
  • 每当 CTF 鸣枪开战,他们就有了一个共同的名字:r3kapig。 在他们的世界里,除了风骚的技术走位外,多的是你不知道的快乐。 在 CTF 圈子里,大家只用代号,不提名字,所以入乡随俗,关于他们的故事,我用代号来讲述...

       

      采访、撰写:浅黑科技

    当我还是个一推就倒的小学生时,一次偶然,被同学拉进了《哈利波特》的魔法世界。

    我惊奇的发现,就算不是魔法家庭的孩子,只要有天赋和兴趣,一样能够进入霍格沃茨魔法学校,通过学习和训练,实现各种魔法,比如把酒杯变成老鼠,又或者用茶叶渣来预测未来。

    不过想实现魔法,就必须有一根魔杖。


    于是,我把书平摊在桌上,念着书中霍格沃茨老师们使用的咒语,疯狂挥舞着筷子、锅铲等一切细长的物体,然而很遗憾,魔法从来没有实现过,也许是我没找对魔杖,也许是我没有天赋。

    故事的结局,是我温柔且智慧的母亲大人买菜回来,走到小区门口时,看到我正在和小伙伴们玩耍,手里还挥舞着她刚买的眉笔,至此,连同之前的筷子神秘失踪之谜,一同告破。

    众目睽睽之下,她一把将我提回家,不仅没收了书,还把我结结实实地胖揍了一顿。

    从这以后,我再也没有练习过魔法,因为挨打挺疼的。

    时隔多年,又是一次偶然,我再次被拉进魔法世界,但主角不再是哈利波特,而是一群活生生的少年:电脑是他们的魔杖,代码是他们的咒语。在隐秘的赛博空间里,他们挥舞着魔杖,实现着各种魔法,有时把代码化作一面盾牌,抵御明枪暗箭的攻击;有时又将代码变做显微镜,深入互联网空间最底层,探寻潜藏的危险。

    在外人眼里,他们是 CTF TIME 排行榜上的一支实力派高校明星战队,实际上,他们只是一群执着于技术的少年。平日里,他们各自抱着奶茶、辣条钻研技术,肉身分散在祖国各地无法日日面基,精神就聚在群里,互怼自黑、你侬我侬;每当 CTF 鸣枪开战,他们就有了一个共同的名字:r3kapig。

    在他们的世界里,除了风骚的技术走位外,多的是你不知道的快乐。

    在 CTF 圈子里,大家只用代号,不提名字,所以入乡随俗,关于他们的故事,我用代号来讲述。


    (1)

    故事抽丝剥茧,还得从九年前说起。

    2011 年的夏天,一个叫做 bibi 的上进青年,小心翼翼地提着裤管,挂着黑眼圈,摇摇晃晃穿过独木桥,挤进了梦想中的大学。

    入学报道那天,bibi 站在校门口,一旁的行李静静地立着。他低头看着录取通知书,专业一栏赫然印着「 网络安全 」,这一刻,他才算真正从网安和学医的两难抉择中定下神来。

    尽管一年前,互联网上刚刚爆发了著名的 3Q 大战,但网络安全依然蹲守在冷门专业的门口,选择网络安全,极大概率意味着“毕业即失业”,相比之下,医学却是万年香饽饽。bibi 两个兴趣方向,一个天上、一个沟里,选择后者,确实需要巨大的勇气。

    深吸一口气后,bibi 迈着轻盈的猫步,走进了校门。

    其实,如果 bibi 有预测未来的能力,那么他也许会早点明白,生活根本无需纠结。

    如今赫赫有名的两大黑客 TK 和 黑哥,当初那可都是学医出身,不同的是,TK 主攻妇科,治疗月经不调不在话下,而黑哥主攻男科,专给人切小 JJ,江湖人送外号“妇科男科两大高手”,可见老天就喜欢让他俩吃黑客这碗天赋。

    可惜 bibi 没这超能力,以至于徒劳失眠好几宿。

    熬过了烈日炎炎下的军训,黑了几个色号的 bibi,迫不及待地打开度娘,输入问题:网络安全专业都有哪些竞赛?回车。

    一个陌生的词映入眼帘:CTF。纳尼,这是什么鬼?完全没听说过。

    越往度娘深处走,头顶的问号就越多。

    也难怪,2011 年,CTF 还算是互联网上的生僻词汇,随便一搜,到处都是周大福的广告,给人第一感觉是:一个卖钻戒的,还要搞个英文名包装一下,看来世道艰辛,钱不好挣啊。而日后赫赫有名的清华蓝莲花战队,此时成立还不到一年,在段海新和诸葛建伟两位老师的指导下,尚且算是一支斗劲十足的菜鸡小战队。

    一番排山倒海般的搜索之后,bibi 总算收获了两点有用信息:

    1、CTF (Capture The Flag) 中文名叫做夺旗赛,来源于美国一个抢旗子的传统游戏,而在网络安全的世界里,它演变成一个“密室逃脱”式的解题比赛:队伍间相互攻击,既要偷走对方事先藏好的信息,又要保证自己的信息不被偷走。规定时间内,谁解的快、谁解的多,谁分数就高。

    2、国内有两个 CTF 比赛被网友高频点名,一个由北京理工大学承办,全称叫做信息安全与对抗技术竞赛 (ISCC),第一届举办于 2004 年,是国内第一个 CTF 比赛;另一个则由西安电子科技大学发起,全称是西电信息安全大赛 (XDCTF),从 2009 年开始举办。

    bibi 心里犯起了嘀咕:理论上说,CTF 是个专业技能竞赛,但不管用什么姿势看,它都不同于常见的专业技能鉴定,由国家部门主办,只要合格,立马就给发一个小本本,走遍全国都不怕,而 CTF 嘛,有点一言难尽,恐怕不靠谱。

    算了吧。

    诶,等等,西电和北理好歹也是 211、985,从时间上看,也连续举办好几年了,好像又靠谱。

    试试?试试呗!

    但 CTF 是团队赛,一个人不让玩,于是,bibi 在校园里游说了一圈,忽悠来了三个队友,同是网络安全专业,一位与 bibi 同级,另两位则是高一级的学长。

    四人一拍即合,祖国大地上自此多了一个新兴的 CTF 战队。


    (2)

    按照成功宝典的套路,四人应该给战队起个炫酷吊炸天的队名,先成为横扫国内 CTF 战队的无敌手,继而迈向国际,声名远扬,从此成为校园江湖传说,一代代流传下去。

    没想到,生活是个流氓,根本不按套路出牌,成功宝典都是骗人的。

    作为一个零基础的入门级 CTF 战队,四人对比赛题目一无所知,在毫无准备、也不知道怎么准备的情况下,就去打了第一场 CTF,结果惨败而归。

    此前从未见过如此之骚的题目,知识范围广、赛题形式怪,不仅知识点考察的细,而且需要不少解题技巧,导致四个人用尽了各种姿势,还是解不出。

    由于水平太菜,之后的每一场比赛,几个人都得商量新的队名,怕被别人认出笑话,当然,每一次的成绩都是铁证,真的很菜。

    谁能想到,越挫越勇,却越勇越挫。

    不会的题,就算遇到再多次,该不会还是不会;想找个 CTF 大湿请教,却找不到大湿的门牌号;用尽各种姿势,好不容易在互联网上搜出个 Writeup (解题思路) ,兴冲冲看完,却复现不出来,完全搞不懂是 Writeup 有毛病,还是自己有毛病。

    好在这时候,国内的 CTF 比赛数量还不多,一年也就四五场,心态崩了还有大把时间修补,否则就没有后面的故事了。

    2013 年,是国内 CTF 爆发的一年:6 月,蓝莲花以资格赛全球第四的成绩,成为第一支闯进 DEF CON CTF 决赛的华人战队;8月,在拉斯维加斯举办的 DEF CON CTF 决赛中,蓝莲花拿到了第 11 名的成绩。

    从此,在被称为“黑客世界杯”的 DEF CON 舞台上,开始出现中国人的面孔。

    蓝莲花战队的出色表现,从大洋彼岸乘着无线电波,一路火花闪电传回了国内,如奥运圣火一般,接连点燃了每一个听到消息的 CTF 爱好者,这其中就包括 bibi 和他的队友。与此同时,在媒体的报道下,越来越多的人开始知道和关注 CTF,激励了一大批新的 CTF 战队诞生,其中就有一支叫做 InkSec 的战队,它会在后面的故事里出现。

    2014 年,蓝莲花战队二度闯进 DEF CON CTF 决赛,从上一年的第 11 名飞跃到第 5 名。作为国内唯一征战过 DEF CON CTF 的战队,蓝莲花决心要干一件大事:办赛。

    蓝莲花成立了 Cyber Peace (南京赛宁信息技术有限公司),要把具有国际水平的 CTF 比赛请进国内,让更多人感受到 CTF 网络攻防的现实意义。这个想法得到了百度安全的认同,第一届 BCTF “百度杯”网络安全大赛应运而生。

    在蓝莲花强大的 IP 加持下,BCTF 2014 资格赛吸引了数千只战队报名,bibi 和队友也加入了大潮,兴许是为了致敬蓝莲花,这次他们商量出的队名叫「无名」 。

    为了备战,bibi 和队友拿出高中打编程奥赛的路数,把之前遇到过的题目,统统刷了一遍。赛前,队员们坐在一起开会,认真部署比赛中的团队分工,在一番真诚而热烈的讨论之后,大家一致决定:看心情,想做哪道题,就做哪道题。

    终于,比赛的日子到来了,bibi 和队友使出了浑身解数,终于以线上赛第八名的成绩,卡线闯进了决赛。

    谁知,才刚刚体会到一丝喜悦的无名战队,就在随后的决赛中,因为对攻防模式的不熟悉,再次失利。

    这里简单解释一下,CTF 比赛一般有两种模式:解题 (Jeopardy) 和攻防 (Attack-Defense)。

    解题模式,包含不同类型的赛题,比如一个有漏洞的服务、一个加密后的数据等,出题方事先把 flag 藏在这些赛题中,选手们解开题目拿到 flag,就能得分。

    攻防模式,从字面就能看出,攻防并重。这是一种非常激烈的比赛模式,5 至 10 分钟一个回合,参赛战队在相同的环境中,在修补自己系统漏洞的同时,还需要编写攻击代码进攻其他战队的系统。每个回合都会发生大量的攻击和防守动作,所以如果不能快速发现漏洞进行修补和利用的话,将会变成强队的“ATM”提款机。

    在过往的比赛中,bibi 接触的基本都是解题模式,而 BCTF 决赛采用的是攻防模式。决赛现场,bibi 和队友四脸懵逼,毫无悬念的拿到了一个很差的成绩。

    BCTF 后不久,一年一度的西电 XDCTF 又要开始了,bibi 和队友再次进入备战模式。谁让国内 CTF 比赛数量稀少,要想提高技术,一场都不敢错过。

    同样备战此次西电 XDCTF 的,还有前面简单提过一嘴的 InkSec。不过,InkSec 战队除了备战外,还在做另外一件事:搜罗新队员。思来想去,战队里的一个队员抱着试试看的心态,拨出了一个电话。

    接电话的人,叫麦香浓郁,此时刚升入大二,电子商务专业,平时没事做做前端。电话中,他听朋友说到:有个叫做 CTF 的比赛,挺有意思的,你想不想一起试试?

    诶,是哪种有意思?麦香的好奇心骚动起来,他一口应了下来。

    挂断电话,麦香立马跳到电脑前,搜索 CTF 是何方神圣,结果看了半天,什么名堂都没看出来,算了,体验完自然明白。

    就是这么一个轻率的决定,麦香成了 InkSec 战队的一员,此时的他不会知道这个决定的意义之重大。

    西电 XDCTF 线上赛,麦香基本全程都在打酱油,没独立做出什么题来,幸好队友给力,InkSec 进入了线下决赛,同样入围线下赛的,还有 bibi 和队友。

    线下赛需要面基,各个战队要以各自坐标为出发点,坐火车硬座赶到西安,因为主办方只给报销硬座,当然,你也可以选择其他姿势,比如飞机、摩托、三蹦子,但大家都是学生,习惯了服从安排,只是有不少队员,离西安太远又怕晕车,无奈只能放弃,所以说,最终坐在决赛现场里的人,对 CTF 绝对都是真爱。

    CTF 赛题的大头主要有两个:Web 安全和二进制。线下赛成绩出来后,善于解二进制题目的 bibi,盯着解不出来的 Web 安全题直挠头,而善于 Web 安全题目的 InkSec,则望着拿不到分数的二进制题目直跺脚,隔着排行榜,他们注意到了彼此。

    羞涩的两个战队,红着脸,谁也不好意思主动开口,于是找了个“红娘”牵线,这才顺利进阶成 QQ 网友,进入隔空神交的状态,此后很长一段时间里,双方都停留在偶尔交流解题技巧的纯洁友谊,直到命运先动了手。

    毕业季来了。

    bibi 战队中的两位学长,一人读研,还能继续打比赛,而另一人却因为工作,不得已要离开。

    过往的默契被突如其来的离别打破,情绪进一步发酵,终于败给了不曾言明的遗憾:三年密切配合的 CTF 之行,每个人都倾注了大量心力,奈何偏科严重,短板过短,成绩始终居后不前。

    看来,生活真的不像游戏,就算经历了重重难关,马里奥也不一定总能救下公主,因为马里奥只会蹦蹦跳跳,而公主需要的,是万能的哆啦 A 梦。


    (3)

    寻找替补队友的工作,从 2014 年持续到了 2015 年。

    这期间,倒不是说没有遇到有能力的人,但 CTF 是马拉松,日常训练、去各地打线下赛,对于学生来说,除了需要占用一定的课余时间外,还不可避免的涉及到请假,除非真的热爱,否则很难坚持。

    眼瞅着 BCTF 2015 就要来了,情急之下,bibi 想到了一直隔空神交的 InkSec 战队:如果两个战队能合在一起,说不定会发生奇迹,只是,他们会愿意吗?

    犹豫了很久,bibi 打开 QQ,在联系人那一栏找到麦香,紧张地表达完想法后,紧张地等待着回复,就连脚指头都无意识的扣着地面,一分钟、五分钟、... ,半小时过去了,没有回复。

    bibi 不知道的是,收到消息的麦香,正在同步和队友商量着这件事。

    就在 bibi 的脚指头马上能抠出一个地窖的时候,麦香的回复来了:好啊。

    万事俱备,只欠一个新队名。

    一波激烈的讨论过后,灵感出现了:游戏 FlappyBird 里有一只鸟,游戏愤怒的小鸟里有一只猪,合在一起,就是一只会飞的猪,意为笨猪先飞,岂不妙哉?

    这下,队名和队徽都齐活了:FlappyPig。

    快看,就是这只长翅膀的猪

    此刻,对于 FlappyPig 来说,急需一场比赛来提升自信,而即将到来的 BCTF 2015,就是这样一个绝佳的好机会。

    持续 48 小时的 BCTF 2015,吸引了来自全球的 1770 支队伍参赛,经过两天一夜的无声厮杀,FlappyPig 拿到了第 17 名的成绩,这在队员们看来,合并的路走对了,这场比赛要是搁在合并前,双方绝对都是二十名开外,这个头开的不错,日后多加学习和交流,未来可期。

    视频来源:红豚工作室

    抱着学习的态度,FlappyPig 又报名参加了 0CTF 2015,想近距离看看大佬是如何成为大佬的,没想到,飞猪竟然变成了一匹黑马,考题恰好都出在队员们的点上,一个不小心,FlappyPig 紧随 217 和 蓝莲花,拿到第三。

    比赛结束后,喜提奖金的队员们,各个红光满面,就近找了个餐厅庆祝,开心归开心,但大家心里清楚,这次的成绩很大程度上取决于运气,不过不要紧,以后准备充分的话,一定能比这个成绩更好。

    大快朵颐之后,大家平分了剩下的奖金,各自踏上了回校的旅程。

    日后的成绩果然证明,FlappyPig 不是一只只靠运气的猪,咱是飞猪,确有实力。

    2015 年:第一届 XCTF 联赛积分榜第七;
    2016 年:第二届 XCTF 联赛总决赛第六;
    2017 年:第三届 XCTF 联赛总决赛冠军。

    正如当初起名时期望的那样,FlappyPig 在 CTF 这片天空中,越飞越稳。

    稳到命运忍不住再次出手。


    (4)

    时间如冰雪消融,溜的悄无声息。

    2017 年,国内 CTF 赛事已呈百花齐放之态,实力战队亦是层出不穷,老牌战队蓝莲花有意减少在国内 CTF 比赛中的出镜率,选择把锻炼的机会让给年轻人,自己则把重心放在刷新国际赛成绩,以及国内赛事的主办上。

    作为蓝莲花战队核心成员的 Atum,自己在北大组了个 PKyou 战队,平时没事打打国内赛,保持手感。偶然的一次,Atum 认识了 FFF 战队的几个同学,在频繁的技术交流中,两个战队走的越来越近,正值血气方刚的年纪,队员们干脆决定把两个战队合并,搞点大动作。

    2017 年 11 月,PKyou + FFF,诞生了 Eur3kA。

    打比赛需要钱,作为 Eur3kA 战队的队长,Atum 义不容辞地外出找赞助,在一位北大学姐的牵线下,Atum 和京东安全搭上了线,拿到赞助后,免于资金困扰的 Eur3kA,一心投入了 CTF 比赛中,成功搞了几个大动作,比如连续两年斩获 HCTF 冠军,如果再算上 Atum 在 HCTF 2016 拿到的冠军,Eur3kA 可谓是三连冠了。

    要不说缘分妙不可言呢,京东安全赞助的战队,除了 Eur3kA,还有 FlappyPig。

    瞅着这俩战队实力都很强,京东一琢磨,反正都是赞助,要是 DEF CON CTF 你俩能一起上,说不定有惊喜呢?

    听京东这么一说,两个战队心想,有道理啊,国内赛各打各的,DEF CON CTF 一起上,大力出奇迹也说不定。

    2018 年 5 月,Eur3kA + FlappyPig 强强联合出了一个全新的战队:r3kapig。

    猪猪出征,寸草不生

    前脚刚联合完毕,后脚就迎来了 DEF CON CTF 2018。线上赛阶段,肉身分散在各地的队友们,远程接入比赛的服务器,靠着过往的积累,r3kapig 顺利闯入决赛,并在京东的赞助下,将要直接杀向位于拉斯维加斯的决赛现场。

    刚强强联合完就要打 DEF CON CTF,这是所有人都没预料到的事情,每个人都激动的紧张着。

    作为联合战队队长之一的 Atum,一年前刚和蓝莲花战队征战 DEF CON CTF 2017,此刻,他暗下决心,要好好利用之前的经验,帮助队友备战。在一番仔细的梳理和回忆后,Atum 根据之前在比赛中遇到的难题,拉着队友查缺补漏,在决赛开始的前一天晚上,队友们还在熬夜备战,希望可以拿到一个好成绩。

    奈何生活又耍起了流氓。

    比赛刚一开始,队员们就发现,赛制有了变化,非但这些天做的努力用不上,还因为熬夜导致状态不佳,但赛场就是战场,没有调整的时间,队员们只得打起精神,埋头解题。

    此时,没人意识到,一个新的危机正无声的潜伏着。

    队员们都有自己擅长的方向,但由于大家都是第一次打 DEF CON CTF,本就紧张,更是抓起一道题就埋头解答,好巧不巧,擅长 Pwn 的同学在做逆向,擅长逆向的同学在找攻击点,没有一个人在做自己擅长的题目,也没人意识到这是个问题,每个人的想法都是:这道题只要有人做就行。

    一来缺乏经验,二来战队刚合并,线下赛配合的默契度不够,最终,首次征战 DEF CON 的 r3kapig 战队,只拿到了第 21 名。

    队名戴上了 JD 小帽子

    2019 年,又是一年 DEF CON,准备一雪前耻的 r3kapig,没有通过资格赛。

    不过,莫慌。

    如果你想进 DEF CON CTF 决赛,方法有两个:常规路径当然就是参加 DEF CON CTF 预选赛,万一你在资格赛中失利,别急,你还可以参加经过 DEF CON 官方认定的“外卡赛”,比如 TCTF/0CTF、BCTF,如果你在“外卡赛”中获得冠军,依然能够拿到直通决赛的入场券。

    所以,拿到 TCTF/0CTF 2019 冠军,是 r3kapig 唯一的希望,但赛场上的每一支战队,都是为了这张入场券而来,高手过招,场内一片血雨腥风。

    眼瞅着离比赛结束还有 5 分钟,可 r3kapig 还位列第二,队员们眉头紧锁,竭力沉住气,试图再解出一题,扭转乾坤。时间一分一秒过去,终于,赶在倒计时归零之前,队员 Ne0 成功解出一题,r3kapig 排名瞬间升至第一,成功拿到国内唯一一张通往 DEF CON 的入场券,并最终在 DEF CON CTF 决赛中取得第 10 名的成绩。

    趁年少、趁热血,没有什么不可能。

    征战 DEF CON 的同时,r3kapig 也没拉下国内赛,不仅在很多知名比赛里都是前五,而且拿下了好几个冠军,并顺利达成了 XCTF 四连冠成就。

    如果单看成绩,大概率你会觉得:哎呦,不错呦!但在到场的旁观者眼里,CTF 现场可以说是枯燥无比。

    几个战队分坐在不同桌子前,清一色的 Poker face,一副生无可恋状,只有眼睛直勾勾的盯着面前的电脑,偶尔与队员交谈几句,也是匆匆结束,面对围观群众炽热的关切目光,一个个仿佛自带过滤技能,丝毫不受干扰。

    你想看炫酷、劲爆、激情四射,但其实只能看到一场寂寞,因为真正精彩的部分,都藏在你看不到的地方。


    (5)

    前方剧透预警:以下全是现场看不到的精彩,请谨慎打开。

    在 CTF 比赛中,白天的比赛时间一到,战队就会离开赛场,回到酒店房间,继续熬夜肝难题,晚上解出的题,第二天一开赛,就可以直接提交。

    深夜、酒店,这两个词本身就已经足够吸睛,如果再加上一房间的黑客呢?他们会用什么姿势来解题呢?

    别脑补了,我直接上照片。(狗头保命~)

    抢到床的幸运儿是这样解题的:

    抢不到床的小可怜是这样解题的:

    人太多,一个房间里装不下时,大家是这样交流的:

    一场比赛下来,每个人的手机里都多了不少表情包。

    姿势虽然朴素了一些,但 r3kapig 队伍里的小伙伴,各个都有绝技傍身,比如全能 Atum,Pwn 王之王 Ne0,实力与社交力并存的 swings,有博客不黑客的 lowkey,人气偶像 Anciety 等,独当一面不在话下,其中还有不少神来之笔,随便举个栗子让你感受一下。

    F0r_1st 是战队里公认的御用算命师,成名之技是猜 flag。

    某场 CTF 比赛中,有一道逆向题,队员们解题的前半程都很顺利,后半程却遇到了拦路虎,几个队员用常规手法,按部就班的逆向,还没等完成,F0r_1st 已经提交了 flag,还没解出的队友瞪圆了双眼,惊讶地望着他,F0r_1st 只微微一笑,轻描淡写的说:“听实话的话,我是猜的。”

    若不是听他解说如何猜到 flag 间隔字符中的规律,大家已经在猜测他和那位天桥下的算命半仙是否有亲属关系了。

    根据 flag 中的规律猜到剩下的一小部分或许还不难,如果换做其他人,注意到了,大概率也能猜到,所以单靠这一件事,可能还不足以撑起算命师这顶帽子,但后来,队员们发现,不服真不行,因为 F0r_1st 的运气是真的好。

    就拿一道暴力破解题来说,理论上说,这道题破解成功的概率是 1/4096,运气一般的队友,花半小时跑 3000-4000 次,不一定能成功,到了 F0r_1st 手里,跑不到 100 次,几分钟时间就成功了。

    路遥知马力,F0r_1st 早已经不叫算命师,而被队友称作改命师了。

    话说,人多的地方,怎么少的了糗事?况且,在 48 小时不间断的 CTF 比赛中,“糗”就是“快乐”。

    2019 年的 DEF CON,就在决赛开始的前一天,r3kapig 队员们收到了主办方发来的邮件,里面包含了各种比赛要求,队员们逐字逐句看完后,立刻着手开始准备,一切看起来都是那么有条不紊。

    结果第二天,在比赛现场,队员们体会到了什么叫做:人生就是起落、起落、起起落落。

    原来,主办方的邮件里提到一个需求:自带显示器。神奇的是,所有的队员都没有看到,于是在比赛现场,就出现了这样一幕:

    - 纳尼,需要显示器,其他战队全有,谁带了?

    - Ne0 带了!

    - 纳尼,Ne0 这个不支持,快想办法!

    - 麦香牛逼,他买了一个回来!

    快拆。。。

    - 纳尼,麦香这个怎么也用不了,快找主办方。

    - 主办方鼓捣出来了。

    - 唉?好像又不行了,主办方说这个显示器可能也不兼容。

    快修。。。

    无奈之下,主办方只好把比赛现场的投影仪借给了 r3kapig,然而太晚了,全场有且只有一支战队,在这道题上得了零分,不说破,你懂的。

    经历完起起落落,第一天比赛结束后,队员们回到酒店房间,准备继续肝题。

    队员 zzm 解题解的兴起,顺手拿起房间桌上的矿泉水,咕嘟咕嘟喝了个精光,其他人静静地看他喝完,抛出一句:“你知道这瓶水是要付费的吗?”

    听到这句话,zzm 愣了半晌,站起身来,左手拿着空瓶子,右手拧开水龙头,几秒钟后,他说:“你们看,又满了。”

    房间里爆出一阵狂笑。

    后来,有队员从酒店外买了同款矿泉水,放回了原处,然而,就在所有人都忙着解题时,还是同一个 zzm,还是同样的咕嘟咕嘟,瓶子又空了。

    没办法,大家又从酒店外买了一瓶补上,谁让酒店的物价不走寻常路呢。

    当比赛正式结束后,队员们收拾东西,准备离开酒店,在带走那瓶自主灌装矿泉水之前,大家特意给它拍了个特写,以此留念。

    自主灌装矿泉水:快带我走。

    故而说,苦中作乐,是黑客必备之心态。

    CTF,绝不是一条容易走的路,它需要足够强大的梦想和热血,如果说说就能成功的话,在这个世界上,恐怕英雄早已泛滥成灾。

    后记

    少年还在成长,故事自然不会就此结束。

    2010 年,段海新和诸葛建伟老师把 CTF 带入国内,也把 DEFCON CTF 这个网络安全的镜头,推到了网络安全爱好者的面前。透过这个镜头,互联网安全的脆弱性一览无余,黑客的本质得以被重新理解。

    这个过程虽然艰难,却足够鼓舞人心。

    十年间,CTF 在国内开枝散叶,愈发生机显现,其中最重要的一环就是传承,比如无数战队从参赛者走向办赛者,又比如互联网上的高手隔空切磋。只可惜,在这一环上,很少看到为网络安全萌新而设的路标。

    2015 年,r3kapig 决定写一本书:哪怕能让一个人对 CTF 产生兴趣,避开我们曾走过的弯路,就是值得的。

    星汉灿烂,若出其里。

    不久前,我见到了这本历时五年完成的作品:《CTF 特训营》。书里不仅有技术、方法、真题,还有那些年队员们踩过的坑。为了尽可能的降低售价,惠及更多网安爱好者,队员们甘愿放弃一半的稿酬,剩下的稿费也以公益的形式捐了出去。在他们来说,完成这本书的出版,已经是最好的稿酬了。

    没有过多的宣传,火爆突如其来。预售阶段销售一空,为了填补需求缺口,现已再版了7次,成为国内首本详解CTF赛题的著作。

    说到这里时,我眼前的这群少年,他们温柔的笑着,眼里闪着光,如银河一般安静而耀眼。

    心之所向,魔法就会永远存在。

    更多精彩回顾

    书讯 |11月书讯(下)| 这些好书必须“买买买”!

    书讯 |11月书讯(上)| 这些好书必须“买买买”!

    资讯 |DB-Engines 10月数据库排名:“三大王”无人能敌,PostgreSQL紧随其后

    上新 | 百度官方出品 | 全面解读PaddlePaddle,零基础快速入门深度学习
    书单 | 开学季——计算机专业学生必读的10本畅销经典

    干货 | 数据分析必读干货:简单而实用的3大分析方法

    收藏 | (万字长文)Spring的核心知识尽揽其中

    点击阅读全文购买

    展开全文
  • 岁生日之际献给。 抽象的。 同型金属间化合物 R3Ru4Al12 (R Y, Pr, Nd, Sm, Gd Tm) 和 R3Os4Al12 (R Y, Ce Nd, Sm, Gd Tm) 是由元素组分在电弧熔化中React制备的炉。 它们的晶体结构由 Y3Ru4Al12 的四圆 X 射线...
  • 近日火星实验室提出了又一个大作“R3Live”,它生成了纹理贴合不错的彩色点云,甚至还重建成了mesh带入到游戏中,使人身临其境。罗马不是一天建成的,这一大作是沿袭了该实验室多年来的积累,结合了vins-mono、fast-...
  • 前段时间为手贱想把路由器固件升一个级,以前也用的是相同的固件,但是这次不知道为什么使用TTL刷机后,出现了Starting Kernel…的情况 ...但是我又想不应该啊,不是一直不停的打印数据出来吗?怎么
  • 好物推荐 篇三:服役多年的小米路由器R1D准备让退休, 小米路由R3D开始上岗2019-06-27 22:25:0011点赞26收藏41评论你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛...
  • 的Twitter也是一个很好的资源,发布了最近在使用R3F方面所做的工作。 一些最后的话... (Some Last Words…) At the beginning of any journey, it is hard to predict the paths may lead down. Maybe today ...
  • R3-CEV 因为联结了42家银行金融机构研究区块链,它的一举一动备受瞩目。这次是官方首次披露他们的系统 Corda 的相关细节,Corda 宣称的去「区块链」概念博人眼球,系统设计上确实有许多区别于区块链的点。通篇读下来...
  • 5-vulnhub W1R3S 1

    2021-06-29 16:19:48
    5-vulnhub W1R3S 1 下载地址为:https://www.vulnhub.com/entry/w1r3s-101,220/ 本次的靶机ip为192.168.3.24(桥接模式自动获取) 目标:得到root权限 找到flag 一、信息搜集 1.扫描目标ip,这里使用arp-scan -l 2....
  • 应当设置子进程的环境变量,防止一些奇怪的Bug(没错我说的就是Java) 之后就可以愉快的使用正常的APC注入了 0x02 万恶之源 - VEHHook 我们在这里使用VEHHook来进行R3无痕Hook,关于如何进行Hook不多说,网上很多相关...
  • 无链之链:R3 Corda带来的新视角

    千次阅读 2017-09-01 15:13:59
    Oracle对整个交易进行签名的实现还带来了Corda当中另一个有普遍意义的概念:transaction tear-off,意思是说要把交易发给一个角色时,可以把不需要知道的具体数据从发送的内容中删除,却仍然不影响对整个交易...
  • 昨天写了一篇RFID开发,但是视频课程太难,只能从更基础的Arduino Uno R3 开发进行学习 一起进行Arduino Uno R3的学习吧,我之前从未接触硬件 第一步Arduino驱动的安装,以及环境的搭建 此处跳转到Arduino论坛,有...
  • 激式振荡电路是由VT5、VT6、C2、C3、R3、R4等组成的自激多谐振荡器担任。VT7、VT8组成射极耦合差分放大器作为误差放大用。取样电路由电阻R7、R8和电位器R9串联组成。基准电压源电路由稳压二极管VD4和R5组成。...
  • r3det(win10)】报错及处理方式 提示: 多用google 多用google 多用google 请保证严格按照up主的演示视频操作 r3det在win10上配置的教学视频链接 问题1:RuntimeError: cuda runtime error (209) : no kernel ...
  • SAP发布S4/HANA 意义超过R3
  • 如图所示是一个用单结晶体管作为脉冲发生器的激式开关稳压电源电路。VD1~VD4和C1是整流滤波电路,将220V交流电网电压变成300V直流电压。脉冲发生器由单结晶体管VT1,电阻R3、R4、R5,电位器RP和电容C3组成,改变...
  • 具体可以搜索的博客,我就简单罗列一下按的思路实现的代码 #include #include #include //#include #define STATUS_SUCCESS 0x00UL #define STATUS_INFO_LENGTH_MISMATCH 0xC0000004 #define NT_SUCCESS...
  • R3计划首次公开募股

    2018-07-21 14:29:25
    点击上方“蓝色字”可关注我们!暴走时评:区块链软件公司R3最近计划推出首次公开募股(IPO)。公司正在与顾问就首次公开募股协商,目前尚未作出最终决定,潜在买家表示很感兴趣...
  • 作者:氢-3编辑:江小渔”如果 Corda 没有足够多的亮点,或许人们只会记得曾经辉煌过。“谈起区块链历史上最令人惋惜的一个组织,就不由得让人想起R3。这个机构成立于2...
  • R3是银行成员多达42家的财团。其架构咨询师Ian Grigg说:  既然网络上信息来源和出处值得信任,企业区块链“不一定得是严密控制的封闭花园”。 Ian Grigg是Norton Rose主办的智能合约会议小组成员。一同与会的有,...
  • 这个五月,十代英特尔(桌面级)横空出世,而AMD也推出了R3 3100/3300X两款处理器,CPU天梯图最近也更新了,那我们就按照天梯图来看一下最新处理器如何。2020年5月12日更新可以看到十代英特尔全线处理器都已上图,包括...
  • 硬盘空间大家要准备200GB左右,也可以用台式电脑加固态硬盘安装,因为R3的版本比较老,速度会慢的点,不过固态硬盘和XP的兼容性不好,可能会影响SSD的寿命,所以本人也没有试过,最重要的是内...
  • 银行家就理解成放贷的人,放贷的人,是需要通过放贷赚钱的,所以必须准确的把握放出去的钱能不能收回来,因为众所周知,有很多老赖,拖着钱不还,甚至自杀,携款潜逃,所以放贷的人必须确保钱能收回盈利,因为银行...
  • 点击上方“蓝色字”可关注我们!暴走时评:Yoshitaka Kitao,日本金融服务业巨头SBI控股的CEO兼代表董事,指出尽管熊市还在继续,XRP和区块链联盟R3是对加...
  •  Monetago,一家为金融机构和中央银行构建私有区块链的软件开发公司,已经决定将其底层架构从Hyperledger结构改为R3的Corda平台。 这家总部位于纽约的公司一直在印度测试其基于区块链的应收账款融资反欺诈平台,并...
  • 首先,Corda的根本目标是一个“去中心化数据库”,这既是与其他区块链/类区块链系统最直接的关系,又是与所有“真正的”区块链系统最大的区别。其次,Corda的设计与实现,是在参考了成熟的区块链系统的一些标准...
  • R3宣称Corda与比特币的非许可型交易账本截然不同,是为金融机构量身定制的应用。这个应用唯一去中心化的信息由银行会员决定。 R3宣布发布非区块链的分布式账本应用Corda   在R3博客文章中,该项目负责人兼集团首席...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,309
精华内容 6,523
关键字:

他是r3