七月 28, 2006

作者:记者 彭梧
出处:新京报  [ 2006-07-28 08:15 ]
摘要:在部分安全设置不完善的网络环境中,该软件的确可以实现在不告知受监听者的情况下完成对局域网内其他MSN用户的监听。
——————————————————————————–

一种可对同局域网其他MSN用户对话实施监听的软件——“局域网MSN消息监听器”被某网络媒体曝光后,在国内立即引发下载热潮。尽管是一款国外开发的 收费软件,但昨天通过百度搜索已能寻找到超过25000个相关的网页下载链接,其中绝大部分都可以提供破解和汉化后的版本使用。

该软 件主要的功能在于监听同处局域网内其他MSN用户的对话记录,并能通过邮件方式发送到使用者指定的邮箱当中。与其他有类似功能的木马病毒不同,该软件并不 需要安装到被监听人所使用的电脑上,不怀好意的监听者只需要在自己的电脑上安装该软件,便可轻松地监视到局域网内其他MSN用户的对话记录等隐私。

记者在随后的测试中发现,在部分安全设置不完善的网络环境中,该软件的确可以实现在不告知受监听者的情况下完成对局域网内其他MSN用户的监听。

记者昨天联系上海美斯恩公司相关负责人时,被告知“公司尚未接到用户的相关投诉,对这一问题目前也没有更多的信息可以披露”。

七月 13, 2006

From:http://tech.sina.com.cn/t/2006-07-13/02201034622.shtml

“任正非和李一男都是英雄,英雄应该是惜英雄的。港湾没有卖给别人,而是卖给了华为,我相信冥冥之中,任正非和李一男的心在靠近!”

  本报记者 凡国君 发自深圳

  “虽然还没有对外公布,但华为内部已经在盛传李一男要回到华为,并且很可能是担 任接班人的角色。”一位熟悉华为内情的人士告诉《第一财经日报》,“毕竟他被誉为技术天才,对技术趋势的把握不是一般人能够比拟的,而且经过创业的洗礼,李一男比以前更加成熟。”

  虽然华为官方没有确认这件事,但类似的传言已经在华为内部传开了,这也给李一男回归华为增添了诸多悬念。

  李一男的选择

  “不去华为,他还能去哪里?”易观国际电信分析师崔小龙很干脆地回答,“诺基亚合并西门子后,国内供他选择的公司只有四五个,华为、中兴、诺基亚、爱立信和

阿尔卡特。李一男的选择并不多,华为是其中较好的选择。”

  根据崔小龙的分析,李一男技术出身,从研发到市场,再进行创业,“打通关”的背景很硬,拥有顶尖级人才难得的经历。他是华为的老员工,相互熟悉,回去可实现自身价值的最大化。

  港湾新闻发言人李琳在接受记者采访时表示:“公司有条不紊地正常运作,李总每天正常上下班。”而上周,李琳表示,李一男目前仍然休假。对于李一男会否回到华为工作,她表示:“李总会根据自己的职业规划,作出自己的选择。”

  赛迪顾问公司电信咨询总监绎明宇博士认为:“李一男回华为,主要看董事会的权衡,以 及双方谈判的条件。资本层面的问题已经解决,个人的走向取决于人的关系。”他也认为,电信领域圈地差不多了,港湾也曾圈地,规模很小则不足以抗衡大企业, 自己创业或合作创业,机会不是很大。同业大公司请他倒不是没有可能,关键是能开到什么条件,他会权衡。

  崔小龙也认为李一男继续创业的可能性不大,“通信领域大的竞争格局已定,未来5年不会有太大变化,国内仅存的只有华为、中兴具备竞争资格,港湾再创业的结局不会太好。”他还指出,李一男足够聪明,想做大事情,不会做一把套现走人。

  也有业内人士分析认为,华为出如此高的价格(17亿元人民币)收购港湾,与其说是在吞并这个公司,不如说是在挽救李一男。

  “一个当初给了2000万元价值的设备、冷眼看着他离去的副总裁,如今用17亿元的高价买回来,而且明摆着价钱高出一倍来(相比西门子收购),任正非是在给李一男机会。”

  对于李一男,他的选择很简单:如果低一次头,港湾还是港湾,华平拿了自己的钱走人,李一男用华为怀抱中的港湾再次证明自己。

  任正非已经释放出一个信号,聪明如李一男者不难作出自己的判断。

  华为的算盘

  “华为看中的主要是港湾的人,当初从华为出走港湾的这帮人都是能人,现在欢迎他们回来,一则确实能够加强研发和市场营销实力,二则可以显出华为及任正非的宽容胸怀。”那位知悉华为内情的人士如是分析。

  任正非在杭州与港湾的高层见面会上也说道:你们的很多创意,像以多业务传送的思想来 开发传输产品、以太交换机也有很多自主开发的东西,这还是要肯定的,希望能加盟华为。这次华为的人力资源大调整,将形成一个五到十年的战略格局,外面抗衡 国际竞争伙伴,内部吸收小公司加盟与我们一起发展。

  赛迪顾问公司电信咨询总监绎明宇博士认为:“华为的产品线很健全,港湾的品牌不如华 为。但收购港湾会加强华为营销、研发力量,整合了双方人力资源。”易观国际电信分析师崔小龙指出:“港湾在综合光传输、MSTP等领域有一些专利,具有很 强的研发能力团队,可对华为进行技术补充。”

  根据《第一财经日报》此前的报道,大部分港湾研发员工都选择了去华为工作,并被分配 到华为北京研究所,这部分员工“工资平移”,即在华为可以获得同等待遇的工资,去华为的港湾研发员工已经开始接受培训。华为新闻发言人傅军也曾向媒体证 实,有相当一部分的港湾高层会重新“投入”华为的怀抱。

  但华为收购港湾的目的,绝不仅限于此。

  如果华为短期内不能整体上市,一旦有资金需求,并不能排除华为采取另外一些融资方式,如出售旗下子公司,或把子公司进行上市。

  对于出售旗下子公司,有业内人士认为,如不出意外,华为3COM出售已成必然。

  早前,业界盛传华为有意出售该部分资产,连数字都言之凿凿为17亿美元,恐怕并非空穴来风。

  华为3COM是华为和3COM合资的一家公司,华为占股49%,3COM为51%,是销售除中国、日本外的中低端企业级数据通信产品。华为3COM的销售形势并不令人满意,对华为来说,无异为鸡肋。

  显然,收购港湾,虑及华为3COM。

  有业内人士指出:“收购港湾则可填充出售华为3COM留下的空缺。”港湾则可以承载华为因为出售华为3COM而产生的企业数据系列产品缺乏的问题:港湾有自己的

知识产权,华为3COM的新东家无法控诉华为;港湾当初被华为控诉,是因为华为觉得港湾使用了自己的专利。

  “客观上,港湾补充了华为3COM产品线。”崔小龙认为。

  “后任正非猜想”

  华为收购港湾,人们谈论最多的是任正非和李一男的关系,以及李一男去留的种种可能。

  有人排列出多种组合:一笑泯恩仇,任正非放心让李一男掌管港湾;李一男回到华为,被任正非束之高阁;李一男离开港湾……

  事实上,任正非和李一男的重新握手并非人们想象的那么艰难。

  正如任正非与港湾高层在杭州谈话时说:“我代表华为与你们是第二次握手了,是真诚欢迎你们回来的,如果我们都是真诚地对待这次握手,未来是能合作起来做大一点的事情的。”

  除了“左非右芳”,费敏、洪天峰、郭平等也都是手握重权的高级副总裁。在杭州与港湾的两次高层谈话中,代表华为的高层除了任正非、孙亚芳,就是费敏和郭平。

  任正非在讲话中曾经说:“这次来之前费敏还有压力,怕谈不好。”孙亚芳也曾经提到:“前面郭平已讲过,实现和平是最终的目的。”由此可见四个人都已达成一致。

  现在华为使用轮值主席方式来管理,但这毕竟不是长久之计,任正飞终归还是要选定接班人。

  而李一男的回归,会否打破这种平静?

  李一男曾经在华为书写了一个传奇——23岁硕士毕业后到华为报到两天内升任工程师,两个星期后被破格聘为高级工程师,半年后出任华为中央研究部副总经理,两年后被提拔为华为中央研究部总裁以及华为总工程师,27岁时成为华为最年轻的副总裁。

  李一男对未来技术趋势的惊人的洞察力让华为内部员工也惊叹不已:“他的一举一动都会影响华为的发展方向。”当时,内部盛传任、李情同父子,李一男是接班的不二人选。

  在港湾,同样在李一男的带领下,港湾在2001年到2003年的三年里发展迅速,年销售收入分别是:2001年的 1.47亿元,2002年的4.1亿元,2003年的10亿元,年增长率超过100%。

  虽然在华为的围追堵截下,港湾终于有了今天的结局,但华为在这场战争中也是“惨胜”。任正非深知李一男的厉害之处,也必定有惜才之心。

  知名媒体人士项立刚这样评价说:“任正非和李一男都是英雄,英雄应该是惜英雄的。港湾没有卖给别人,而是卖给了华为,我相信冥冥之中,任正非和李一男的心在靠近!”

七月 11, 2006

http://boox.sitaphi.com/booxfiles/000013.html

[ZZ]超星中的GPL代码
原文参见b13朋友post在本站的回复
http://sitaphi.com/mt/mt-comments.cgi?entry_id=12

注:文章不代表本站观点。另,这个发现可能解释了05H的的PDG文件的来源问题。

超星涉嫌非法使用GPL代码,又一个“自主知识产权”的典范

作者:B13
本文欢迎转载

超星阅读器中涉嫌非法使用开源图形库DjVuLibre ( http://djvulibre.djvuzone.org/ )。DjVuLibre提供了高效的图像压缩格式DjVu格式的编码和解码功能。DjVuLibre的使用授权为GPL(GNU General Public License: http://www.thebigfly.com/gnu/gpl/ ),按照GPL的要求,凡是使用该软件的代码也需要开放原代码,而超星浏览器公然违反了这个授权,不但没有开放原代码,而且利用自由软件牟利。

验证超星中包含了DjVuLibre过程很简单,首先到超星主页下载最新的超星阅读器(http://www.ssreader.com/download/) 并安装。同时到
http://www.heaventools.com/download/pexsetup.exe
下载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

七月 10, 2006

From:http://blogs.zdnet.com/micro-markets/index.php?p=219
“Google CEOEric Schmidt 认为处理点击欺骗的完美经济解决方法是任其自然。虽然Google被点击欺骗所困扰,但Schmidt认为自我调整是最好的方法.”

Google CEO Eric Schmidt believes there is a “perfect economic solution” to click fraud: “let it happen.”

Schmidt discussed how the pay-per-click advertising model is inherently “self-correcting” in regards to click fraud during a Stanford University event last March. Schmidt extolled the enhanced trackability of the online pay per click advertising model versus pay per impression models, while acknowledging “smart but evil” people try to “go around system.”

According to Schmidt, Google’s auction-based pay-per-click advertising model is inherently self-correcting. Schmidt’s scenario for what would happen if Google did not police click fraud and it was “rampant”:

Eventually, the price that the advertiser is willing to pay for the conversion will decline, because the advertiser will realize that these are bad clicks, in other words, the value of the ad declines, so over some amount of time, the system is in-fact, self-correcting. In fact, there is a perfect economic solution which is to let it happen.

Schmidt’s “perfect economic solution” analysis for click fraud suggests that any Google charges to advertisers for fraudulent clicks would naturally be viewed by Google advertisers as a “cost of doing business” with Google, to be factored into advertiser ROI calculations.

I discuss such an advertiser acceptance of click fraud based charges as a cost of doing business, rather than as a potentially deceptive business practice, in “Click Fraud: deceptive business practice, or cost of doing business.”

Schmidt indicates, however, that Google engineers think it is “great fun” to try and get ahead of click fraud:

But because it is a bad thing, because we don’t like it, because it does, at least for the short-term, create some problems before the advertiser sees it, we go ahead and try to detect it and eliminate it.

Part of what we do is we try to decrease the time, and increase the rate, at which the auction automatically detects that this is a bad click, naturally.