Yuan Yijun (bbbush) wrote,
Yuan Yijun
bbbush

看到无耻的作假

http://www.dancefire.org/article/Kernel_Similarity_Analysis.html
麒麟操作系统内核同其他操作系统内核的相似性分析



 附录A    进一步分析

如果想进一步的分析麒麟与其他操作系统的相似性,也可以从objdump导出的函数名称的相似度来比较。我曾经分析过FreeBSD 5.3内核和麒麟内核objdump出的函数名的差异。FreeBSD 5.3有14101个函数,Kylin 2.0有14399个函数,其中有4个函数出现在了FreeBSD 5.3而没有出现在Kylin 2.0中;有302个函数出现在了Kylin 2.0 objdump的文件里,而没有出现在FreeBSD 5.3的objdump文件里。经过分析,这302个函数中有223都可以在FreeBSD 5.3的源代码里找到,没有被objdump出来有可能是因为编译环境不同。还剩下79个函数可能是麒麟新增的函数,他们是:
  
+ acd_describe_proc():
+ ad_print_proc():
+ ata_info():
+ ata_proc_print():
+ bus_usb_proc():
+ g_conftxt_class_proc():
+ g_conftxt_geom_proc():
+ g_conftxt_proc():
+ ifa_ifwithnet_packet():
+ kevent_epoll_ctl():
+ kevent_epoll_wait():
+ kqueue_scan_epoll():
+ linprocfs_doata0info():
+ linprocfs_doata1info():
+ linprocfs_donetarp():
+ linprocfs_donetroute():
+ linprocfs_dopartitions():
+ linprocfs_doprogress():
+ linprocfs_doscsi():
+ linprocfs_dousbdevices():
+ linprocfs_dousbhub():
+ linux_emul_convpath_orig():
+ linux_gifindex():
+ linux_ioctl_floppy():
+ linux_sifflags():
+ linux_to_bsd_sifhwaddr():
+ mdchange_vnode():
+ mpt_get_tgt_negotiated_params():
+ mpt_physdisk_status():
+ mpt_print_header():   [OpenBSD]
+ mpt_print_raid_config():
+ mpt_raid_vol_status():
+ mpt_read_cfg_page_with_alloc():
+ mpt_read_config_info_raid():   [OpenBSD]
+ mpt_set_tgt_params():
+ packet_abort():
+ packet_appenctl():
+ packet_attach():
+ packet_bind():
+ packet_connect():
+ packet_control():
+ packet_detach():
+ packet_dhd_input():
+ packet_disconnect():
+ packet_init():
+ packet_input():
+ packet_output():
+ packet_peeraddr():
+ packet_proto_input():
+ packet_send():
+ packet_shutdown():
+ packet_sockaddr():
+ ptmsclose():
+ ptmsopen():
+ ptmx_clone():
+ ptmxclose():
+ ptmxinit():
+ ptmxopen():
+ raid_get_physdisk_by_num():
+ read_raid_info():
+ resolve_raid_targets():
+ scsi_proc_inquiry():
+ shmperm():
+ splash_progress():
+ syscons_progress():
+ sysctl_kern_umass():
+ usb_bus_exist():
+ usbd_add_procinfo():
+ usbd_devinfo_sn():
+ usbd_remove_procinfo():
+ xpt_announce_proc():
+ xpt_find_umass():
+ xpt_proc_periph():
+ xptdaannouncefunc():

以及
+ vfs_nmount():
+ mpt_read_config_info_ioc():
+ linux_epoll_create():
+ linux_epoll_ctl():
+ linux_epoll_wait():
 

如果单从函数名比对的统计上看的话,14399个函数,只有79个函数可能是原创的。与FreeBSD 5.3在函数名上的相似度有99.45%。这个相似程度十分惊人,但是仅凭函数名相似不足以说明逻辑上相似,因此,在分析报告中,这个分析数据只作为参考数据放到附录中。感兴趣的朋友可以进一步的分析。
Tags: 转载
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment