产 业 参 考 消 息:
帐 号
密 码

观点演播室:冯军 李易 文琪 吴海军 胡胜发 张峰 蓉晖 晋凯 陈富铭

  英文之窗 通路巨头  工厂 人物 数据 评论

体系内媒体:中国电子消费求助社区 | 中国卖场报道 | 中国网吧之家
独家 业界 产业 人物 评论 通路 顾问 披露 财经 采风 传闻 订单 内幕 报案 破案 会展 读书 观点 数据 人事 访谈 行情 促销 公告 企业
新闻发布会 企业并购 中标招标 会展频道 精彩论述 DELL黑板报 实战案例 渠道中人 3C卖场 缺陷产品集锦 收费数据 免费数据 企业财报

网友B13揭发:超星软件涉嫌非法使用GPL代码!

 发表日期:2006-07-12 作者:B13 上下游撮合系统




超星阅读器中涉嫌非法使用开源图形库DjVuLibre,DjVuLibre提供了高效的图像压缩格式DjVu格式。

验证超星中包含了DjVuLibre过程很简单,首先到超星主页下载最新的超星阅读器并安装。同时下载PE Explorer的试用版。安装并启动PE Explorer,在弹出的窗口中选择File(文件)Open File(打开文件),然后浏览你的windows目录(C:Windows)下的system32子目录下的pdg2.dll,程序会提示你是否继续,选择Continue(继续)。载入后,选择Tools(工具)菜单下的Disassembler(反汇编),然后选择Start Now(开始),PE Explorer会将程序转换为汇编代码,按Ctrl+F,查找djvu,你就会发现程序的汇编代码中有很多包含djvudocument类的字符串,而google一下这些含有djvu的串,你就会发现无一例外的来自开源软件Djvulibre。包含Djvu关键字的串参见附件。

超星这种无视开源软件授权的做法是对软件作者劳动的践踏。作为国内最大的电子图书制作商,在以盈利性质的软件中使用专利图像格式djvu和开源软件无疑都是非常不明智的做法,蕴含了巨大的法律风险。

有趣的是,在超星的软件下载主页上,我们又一次看到了熟悉的“自主知识产权”字样,我们曾经在一度沸沸扬扬,最后被证实为造假的“汉芯"的宣传材料中看到过,我们也曾经在花费了8000万纳税人的税收,但后来被发现大规模抄袭FreeBSD的“麒麟操作系统”的宣传材料中看到过这个名词。而非常不幸的是这次这个名词出现的地方又一次让我们失望了。

从一开始使用产生80年代产生的TIFF G4压缩格式,到后来简单更改GIF/JPEG格式后缀,到现在剽窃开源软件,使得我们一次又一次地认识到超星不但是一个没有任何技术创新能力的公司,而且商业诚信也让人怀疑。

超星中包含的GPL代码已经反馈给自由软件基金会(FSF),我们期望国内的信息产业公司遵守游戏规则,珍重自己的诚信。

下面是含有djvu字样的汇编行:

push SSZ100F0648_DjVuPort
push SSZ100F0674_DjVuDocument__start_init____init
push SSZ100F0664_document_djvu
push SSZ100F06A8_DjVuFile
push SSZ100F06EC_DjVuDocument_init_eof
push SSZ100F06D4_DjVuDocument_stopped
push SSZ100F0888_DjVuDocument__init_thread____gue
push SSZ100F0808_FORM_DJVU
push SSZ100F07A4_Got_DJVU_OLD_INDEXED_or_SINGLE_P
push SSZ100F08E0_DjVuDocument__set_file_aliases__
push SSZ100F0978_DjVuDocument__check_unnamed_file
push SSZ100F0958_DjVuDocument_miss_page_name_
push SSZ100F093C_DjVuDocument_miss_page_num_
push SSZ100F09BC_DjVuDocument__page_to_url____pag
push SSZ100F09E4_DjVuDocument__url_to_page____url
push SSZ100F0A08_DjVuDocument__id_to_url____trans
push SSZ100F0AB4_DjVuDocument__url_to_file____url
push SSZ100F06A8_DjVuFile
push SSZ100F06A8_DjVuFile
push SSZ100F0A58_found_internal_file_using_DjVuPo
push SSZ100F0AD8_DjVuSimplePort
push SSZ100F0648_DjVuPort
push SSZ100F0B60_DjVuDocument__get_djvu_file____r
push SSZ100F06A8_DjVuFile
push SSZ100F0AE8__djvu
push SSZ100F0B94_djvufileurl____p__s
push SSZ100F0BB8_DjVuDocument__get_djvu_file____I
push SSZ100F0BDC_DjVuDocument
push SSZ100F0648_DjVuPort
push SSZ100F0BEC_DjVuDocument__get_djvu_file____U
push SSZ100F0C14_DjVuDocument__get_page____reques
push SSZ100F0C60_DjVuDocument_cant_extract_
push SSZ100F0C90_DjVuDocument__get_thumbnail____p
push SSZ100F0CBC_DjVuDocument__add_to_cache____ur
push SSZ100F0DB0_DjVuDocument__request_data____se
push SSZ100F0D54_Found_tmp_unnamed_DjVuFile__Retu
push SSZ100F0EC0_DjVuDocument__get_djvm_doc____cr
push SSZ100F0EFC_DjVuDocument__write____storing_D
push SSZ100F0EFC_DjVuDocument__write____storing_D
push SSZ100F0F34_DjVuDocument__expand____codebase
push SSZ100F0F58_DjVuDocument__save_as____where__
push SSZ100F184C_DjVuFile__init____url__
push SSZ100F182C_DjVuFile__DjVuFile____url_is_
push SSZ100F1864_DjVuFile___DjVuFile____destroyin
push SSZ100F188C_DjVuFile__wait_for_chunk___calle
push SSZ100F18D0_DjVuFile__wait_for_finish_____se
push SSZ100F19DC_DjVuFile__decode_func___called__
push SSZ100F1974_DjVuFile_stopped_
push SSZ100F1960_DjVuFile_failed_
push SSZ100F1A10_DjVuFile__process_incl_chunk____
push SSZ100F1A4C_DjVuFile_EOF_
push SSZ100F1A7C_DjVuFile__process_incl_chunks_vo
push SSZ100F1D7C_DjVuFile__decode_chunk___
push SSZ100F1D64_DjVuFile_unrecog_chunk
push SSZ100F1D3C_DjVuFile__decode_chunk_____decod
push SSZ100F1D28_DjVuFile_page_info
push SSZ100F1D10_DjVuFile_indir_chunk1_
push SSZ100F1CF8_DjVuFile_indir_chunk2
push SSZ100F1CD8_DjVuFile_shape_dict__d
push SSZ100F1CB4_DjVuFile_fg_mask__d__d__d
push SSZ100F1C98_DjVuFile_G4_mask__d__d__d
push SSZ100F1C74_DjVuFile_IW44_bg1__d__d__d
push SSZ100F1C5C_DjVuFile_IW44_bg2__d__d
push SSZ100F1C38_DjVuFile_IW44_fg__d__d__d
push SSZ100F1C10_DjVuFile_color_import1__d__d__d
push SSZ100F1BF8_DjVuFile_color_import2
push SSZ100F1BDC_DjVuFile_JPEG_bg1__d__d__d
push SSZ100F1BB8_DjVuFile_JPEG_fg1__d__d__d
push SSZ100F1B9C_DjVuFile_JPEG2K_bg
push SSZ100F1B80_DjVuFile_JPEG2K_fg
push SSZ100F1B60_DjVuFile_JB2_fg__d__d
push SSZ100F1B30_DjVuFile_IW44_data1__d__d__d
push SSZ100F1B14_DjVuFile_IW44_data2__d__d
push SSZ100F1B00_DjVuFile_nav_dir
push SSZ100F1AE4_DjVuFile_anno1
push SSZ100F1AC4_DjVuFile_anno2
push SSZ100F1AA4_DjVuFile_text
push SSZ100F1E30_DjVuFile__decode____url__
push SSZ100F0808_FORM_DJVU
push SSZ100F1E04_image_x_djvu
push SSZ100F1DD8_DjVuFile_IW44_header__d__d__d
push SSZ100F1DB4_DjVuFile_djvu_header__d__d__d__d
push SSZ100F1D98_DjVuFile_ratio__0_1f__0_1f
push SSZ100F06A8_DjVuFile
push SSZ100F0648_DjVuPort
push SSZ100F1E4C_DjVuFile__start_decode____url__
push SSZ100F1E6C_DjVuFile__stop_decode____url__
push SSZ100F1E98_DjVuFile__stop____Stopping_every
push SSZ100F1EC0_DjVuFile__decode_ndir____decodin
push SSZ100F06A8_DjVuFile
push SSZ100F1F20_DjVuFile__trigger_cb____got_data
push SSZ100F1EF0_DjVuFile__trigger_cb____We_have_
push SSZ100F1F80_DjVuFile__progress_cb___called_
push SSZ100F1FA0_DjVuFile__move____dir_url__
push SSZ100F1FBC_DjVuFile__set_name____name__
push SSZ100F1FDC_DjVuFile__contains_chunk____url_
push SSZ100F2010_DjVuFile__get_djvu_bytestream___
push SSZ100F204C_DjVuFile__unlink_file___
push SSZ100F2068_DjVuFile__insert_file____id__
push SSZ100F3BA0_DjVuFileCache__add_file____tryin
push SSZ100F3BF4_DjVuFileCache__clear_to_size____
push SSZ100D8794____Unrecognized_DjVu_Message____
SSZ100D8794____Unrecognized_DjVu_Message____:
db '** Unrecognized DjVu Message:',0Ah,09h,'** Message name: %1!s!',0
SSZ100F0648_DjVuPort:
db 'DjVuPort',0
SSZ100F0664_document_djvu:
db 'document.djvu',0
SSZ100F0674_DjVuDocument__start_init____init:
db 'DjVuDocument::start_init(): initializing class...',0Ah,0
SSZ100F06A8_DjVuFile:
db 'DjVuFile',0
SSZ100F06D4_DjVuDocument_stopped:
db 'DjVuDocument.stopped',0
SSZ100F06EC_DjVuDocument_init_eof:
db 'DjVuDocument.init_eof',0
SSZ100F07A4_Got_DJVU_OLD_INDEXED_or_SINGLE_P:
db 'Got DJVU OLD_INDEXED or SINGLE_PAGE document here.',0Ah,0
SSZ100F0808_FORM_DJVU:
db 'FORM:DJVU',0
SSZ100F0888_DjVuDocument__init_thread____gue:
db 'DjVuDocument::init_thread(): guessing what we',27h,'re dealing with',0Ah,0
SSZ100F08E0_DjVuDocument__set_file_aliases__:
db 'DjVuDocument::set_file_aliases(): setting global aliases for file ',27h,0
SSZ100F093C_DjVuDocument_miss_page_num_:
db 'DjVuDocument.miss_page_num',09h,0
SSZ100F0958_DjVuDocument_miss_page_name_:
db 'DjVuDocument.miss_page_name',09h,0
SSZ100F0978_DjVuDocument__check_unnamed_file:
db 'DjVuDocument::check_unnamed_files(): Seeing if we can fix some...',0Ah,0
SSZ100F09BC_DjVuDocument__page_to_url____pag:
db 'DjVuDocument::page_to_url(): page_num=',0
SSZ100F09E4_DjVuDocument__url_to_page____url:
db 'DjVuDocument::url_to_page(): url=',27h,0
SSZ100F0A08_DjVuDocument__id_to_url____trans:
db 'DjVuDocument::id_to_url(): translating ID=',27h,0
SSZ100F0A58_found_internal_file_using_DjVuPo:
db 'found internal file using DjVuPortcaster',0Ah,0
db 'found fully decoded file using DjVuPortcaster',0Ah,0
SSZ100F0AB4_DjVuDocument__url_to_file____url:
db 'DjVuDocument::url_to_file(): url=',27h,0
SSZ100F0AD8_DjVuSimplePort:
db 'DjVuSimplePort',0
SSZ100F0AE8__djvu:
db '.djvu',0
SSZ100F0B60_DjVuDocument__get_djvu_file____r:
db 'DjVuDocument::get_djvu_file(): request for page ',0
SSZ100F0B94_djvufileurl____p__s:
db 'djvufileurl://%p/%s',0
SSZ100F0BB8_DjVuDocument__get_djvu_file____I:
db 'DjVuDocument::get_djvu_file(): ID=',27h,0
SSZ100F0BDC_DjVuDocument:
db 'DjVuDocument',0
SSZ100F0BEC_DjVuDocument__get_djvu_file____U:
db 'DjVuDocument::get_djvu_file(): URL=',27h,0
SSZ100F0C14_DjVuDocument__get_page____reques:
db 'DjVuDocument::get_page(): request for page ',0
SSZ100F0C60_DjVuDocument_cant_extract_:
db 'DjVuDocument.cant_extract',0Ah,0
SSZ100F0C90_DjVuDocument__get_thumbnail____p:
db 'DjVuDocument::get_thumbnail(): page_num=',0
SSZ100F0CBC_DjVuDocument__add_to_cache____ur:
db 'DjVuDocument::add_to_cache(): url=',27h,0
SSZ100F0D54_Found_tmp_unnamed_DjVuFile__Retu:
db 'Found tmp unnamed DjVuFile. Return empty DataPool',0Ah,0
SSZ100F0DB0_DjVuDocument__request_data____se:
db 'DjVuDocument::request_data(): seeing if we can do it',0Ah,0
SSZ100F0EC0_DjVuDocument__get_djvm_doc____cr:
db 'DjVuDocument::get_djvm_doc(): creating the DjVmDoc',0Ah,0
SSZ100F0EFC_DjVuDocument__write____storing_D:
db 'DjVuDocument::write(): storing DjVmDoc into ByteStream',0Ah,0
SSZ100F0F34_DjVuDocument__expand____codebase:
db 'DjVuDocument::expand(): codebase=',27h,0
SSZ100F0F58_DjVuDocument__save_as____where__:
db 'DjVuDocument::save_as(): where=',27h,0
SSZ100F182C_DjVuFile__DjVuFile____url_is_:
db 'DjVuFile::DjVuFile(): url is ',0
SSZ100F184C_DjVuFile__init____url__:
db 'DjVuFile::init(): url=',27h,0
SSZ100F1864_DjVuFile___DjVuFile____destroyin:
db 'DjVuFile::~DjVuFile(): destroying...',0Ah,0
SSZ100F188C_DjVuFile__wait_for_chunk___calle:
db 'DjVuFile::wait_for_chunk() called',0Ah,0
SSZ100F18D0_DjVuFile__wait_for_finish_____se:
db 'DjVuFile::wait_for_finish(): self=',0
SSZ100F1960_DjVuFile_failed_:
db 'DjVuFile.failed',09h,0
SSZ100F1974_DjVuFile_stopped_:
db 'DjVuFile.stopped',09h,0
SSZ100F19DC_DjVuFile__decode_func___called__:
db 'DjVuFile::decode_func() called, url=',27h,0
SSZ100F1A10_DjVuFile__process_incl_chunk____:
db 'DjVuFile::process_incl_chunk(): processing INCL chunk...',0Ah,0
SSZ100F1A4C_DjVuFile_EOF_:
db 'DjVuFile.EOF',09h,0
SSZ100F1A7C_DjVuFile__process_incl_chunks_vo:
db 'DjVuFile::process_incl_chunks(void)',0Ah,0
SSZ100F1AA4_DjVuFile_text:
db 'DjVuFile.text',0
SSZ100F1AC4_DjVuFile_anno2:
db 'DjVuFile.anno2',0
SSZ100F1AE4_DjVuFile_anno1:
db 'DjVuFile.anno1',0
SSZ100F1B00_DjVuFile_nav_dir:
db 'DjVuFile.nav_dir',0
SSZ100F1B14_DjVuFile_IW44_data2__d__d:
db 'DjVuFile.IW44_data2',09h,'%d',09h,'%d',0
SSZ100F1B30_DjVuFile_IW44_data1__d__d__d:
db 'DjVuFile.IW44_data1',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1B60_DjVuFile_JB2_fg__d__d:
db 'DjVuFile.JB2_fg',09h,'%d',09h,'%d',0
SSZ100F1B80_DjVuFile_JPEG2K_fg:
db 'DjVuFile.JPEG2K_fg',0
SSZ100F1B9C_DjVuFile_JPEG2K_bg:
db 'DjVuFile.JPEG2K_bg',0
SSZ100F1BB8_DjVuFile_JPEG_fg1__d__d__d:
db 'DjVuFile.JPEG_fg1',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1BDC_DjVuFile_JPEG_bg1__d__d__d:
db 'DjVuFile.JPEG_bg1',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1BF8_DjVuFile_color_import2:
db 'DjVuFile.color_import2',0
SSZ100F1C10_DjVuFile_color_import1__d__d__d:
db 'DjVuFile.color_import1',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1C38_DjVuFile_IW44_fg__d__d__d:
db 'DjVuFile.IW44_fg',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1C5C_DjVuFile_IW44_bg2__d__d:
db 'DjVuFile.IW44_bg2',09h,'%d',09h,'%d',0
SSZ100F1C74_DjVuFile_IW44_bg1__d__d__d:
db 'DjVuFile.IW44_bg1',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1C98_DjVuFile_G4_mask__d__d__d:
db 'DjVuFile.G4_mask',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1CB4_DjVuFile_fg_mask__d__d__d:
db 'DjVuFile.fg_mask',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1CD8_DjVuFile_shape_dict__d:
db 'DjVuFile.shape_dict',09h,'%d',0
SSZ100F1CF8_DjVuFile_indir_chunk2:
db 'DjVuFile.indir_chunk2',0
SSZ100F1D10_DjVuFile_indir_chunk1_:
db 'DjVuFile.indir_chunk1',09h,0
SSZ100F1D28_DjVuFile_page_info:
db 'DjVuFile.page_info',0
SSZ100F1D3C_DjVuFile__decode_chunk_____decod:
db 'DjVuFile::decode_chunk() : decoding ',0
SSZ100F1D64_DjVuFile_unrecog_chunk:
db 'DjVuFile.unrecog_chunk',0
SSZ100F1D7C_DjVuFile__decode_chunk___:
db 'DjVuFile::decode_chunk()',0Ah,0
SSZ100F1D98_DjVuFile_ratio__0_1f__0_1f:
db 'DjVuFile.ratio',09h,'%0.1f',09h,'%0.1f',0
SSZ100F1DB4_DjVuFile_djvu_header__d__d__d__d:
db 'DjVuFile.djvu_header',09h,'%d',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1DD8_DjVuFile_IW44_header__d__d__d:
db 'DjVuFile.IW44_header',09h,'%d',09h,'%d',09h,'%d',0
SSZ100F1E04_image_x_djvu:
db 'image/x.djvu',0
SSZ100F1E30_DjVuFile__decode____url__:
db 'DjVuFile::decode(), url=',27h,0
SSZ100F1E4C_DjVuFile__start_decode____url__:
db 'DjVuFile::start_decode(), url=',27h,0
SSZ100F1E6C_DjVuFile__stop_decode____url__:
db 'DjVuFile::stop_decode(), url=',27h,0
SSZ100F1E98_DjVuFile__stop____Stopping_every:
db 'DjVuFile::stop(): Stopping everything',0Ah,0
SSZ100F1EC0_DjVuFile__decode_ndir____decodin:
db 'DjVuFile::decode_ndir(): decoding for NDIR in ',27h,0
SSZ100F1EF0_DjVuFile__trigger_cb____We_have_:
db 'DjVuFile::trigger_cb(): We have ALL data for ',27h,0
SSZ100F1F20_DjVuFile__trigger_cb____got_data:
db 'DjVuFile::trigger_cb(): got data for ',27h,0
SSZ100F1F80_DjVuFile__progress_cb___called_:
db 'DjVuFile::progress_cb() called',0Ah,0
SSZ100F1FA0_DjVuFile__move____dir_url__:
db 'DjVuFile::move(): dir_url=',27h,0
SSZ100F1FBC_DjVuFile__set_name____name__:
db 'DjVuFile::set_name(): name=',27h,0
SSZ100F1FDC_DjVuFile__contains_chunk____url_:
db 'DjVuFile::contains_chunk(): url=',27h,0
SSZ100F2010_DjVuFile__get_djvu_bytestream___:
db 'DjVuFile::get_djvu_bytestream(): creating DjVu raw file',0Ah,0
SSZ100F204C_DjVuFile__unlink_file___:
db 'DjVuFile::unlink_file()',0Ah,0
SSZ100F2068_DjVuFile__insert_file____id__:
db 'DjVuFile::insert_file(): id=',27h,0
SSZ100F3BA0_DjVuFileCache__add_file____tryin:
db 'DjVuFileCache::add_file(): trying to add a new item',0Ah,0
SSZ100F3BF4_DjVuFileCache__clear_to_size____:
db 'DjVuFileCache::clear_to_size(): dropping cache size to ',0
dd SSZ100F3E88_DjVuMessage_failed_to_parse_XML
dd SSZ100F3E6C_DjVuMessage_Unrecognized
dd SSZ100F3E54_DjVuMessage_Parameter
SSZ100F3E54_DjVuMessage_Parameter:
db 'DjVuMessage.Parameter',0
SSZ100F3E6C_DjVuMessage_Unrecognized:
db 'DjVuMessage.Unrecognized',0
SSZ100F3E88_DjVuMessage_failed_to_parse_XML:
db 'DjVuMessage.failed_to_parse_XML',0
dd SSZ100F3E88_DjVuMessage_failed_to_parse_XML  

 

编后按:

天使和魔鬼都有翅膀,苍蝇和臭虫也有,但是它们的本质不同。如何提升自己的本质?让自己人生更有高度和深度?

正如不敢登台永远就得不到掌声,思想不发散出来就永远得不到提高。

《魔鬼训练营》欢迎各位有至提高自己的读者朋友来稿,我们会根据您的来信频率和成长速度来给您定期提出规范化的建议和意见,同时,更有希望成为我们的正式一员。

EMAIL=MSN:tiger@discloser.net

 


【声明】DISCLOSER刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络question@discloser.net。


· 网友B13揭发:超星软件涉嫌非法使用GPL代码!

· 飞利浦:品牌策略乱来,显示器业务崩溃的真相
· 技嘉:渠道扫荡开始,继天津之后南京连砍两家
· 华硕:专心和宏碁开仗,李祖尧卸下一切兼职!
· 成都广海:华硕主板怎么保修,全凭感情深浅?
· 感受:一位大四学生在台湾瑞晟面试经历和体会

 您的昵称: 
电 话:
 E-MAIL:   
职 业:
 评论显示选择:同意显示我的所有信息只同意显示我的名字


  

鉴于本站采用缓存技术的原因,您发表的评论将在1-5分钟之后才会显示,请耐心等待,不要重复留言。




请您注意:

1 、自觉遵守:爱国、守法、自律、真实、文明的原则.
2 、尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他法律法规.
3 、严禁发表危害国家安全、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、淫秽等内容.
4 、承担一切因您的行为而直接或间接导致的民事或刑事法律责任.
5 、本站有权保留或删除或修改其管辖留言版中的任意内容.
6 、本贴提交者发言纯属个人意见,与本站立场无关.

 
·华硕:紧急声明,就
·戴尔:电池瑕疵伤害
·网友B13揭发:超星软
·联想:薪酬大调整,
·MOTO高层:不排除和
·读者观点:QQ更新赌
·LG电子:美法院判广
·杭州颐高:假公司不
·精英:合并志合电脑
·双核处理器:我来告
·华硕:专心和宏碁开
·罗技:揭鼠标存在重
·飞利浦:品牌策略乱
·感受:一位大四学生
·拍案叫绝:高人“微
·记者调查:3C认证存
·华旗:经中国电子商
·技嘉:“打磨门”案
·寻人:飞利浦显示器
·技嘉:弊端渐现,天
Copyright © 1999 - 2006 DISCLOSER All Rights Reserved
ICP证编号:苏ICP证040293 经营许可证编号:苏B2-20040174 网络支持:江南企业网