先放一张图:

真的如此吗?
我在几个月前做了一个类似苹果系统 Quick Look 的工具(Github 链接;当时在 V2EX 发的帖子在此),开发初衷正是因为我觉得 Seer 不太好用,且不开源&收费的模式让我有些不爽。
之后经过不断地改进,在 0.2.0 版本中(链接),我加入了预览打开 /保存对话框中文件的功能。其他同类的软件,包括 Seer,都没有实现这个功能(可能是因为他们的对 Windows 底层的了解太弱了)。同时,为了保护我的成果不被随意使用,我把项目的开源协议从 LGPL 换成了更严格的 GPL,以保证没人能闭源使用用我的代码。然而,这对收费的闭源软件 Seer 来说并没有什么用。
先给个简单的列表:
刚刚发布的 Seer 1.5.0 包含了上述抄袭的代码,而且抄走的代码逻辑几乎完全没有变化,能看着他的汇编完美还原出(我的)包含变量定义的源代码。
我在截图中附加了我代码中的一些注释便于各位理解;截图汇编来自 Seer 1.5.0 的 Seer.exe (1E44DB795A8D4D7CBE5D2024ECF168FF) 和 DlgHook.dll (161471A6F9785EA4A35887060B8743E1) 。右侧的代码来自这里。
Seer 的作者看上去并不是十分理解我代码的意思,因为他抄过去的代码没什么用……
为什么这么说呢?首先,我的程序是 64 位的,为了注入到 32 位进程里,我用了 IsWowProcess API 来判断 (i) 自身是否在 32 位上运行 (ii) 目标程序是否是 32 位。如果 (i) 不成立且 (ii) 成立,就调用一个独立的 32 位 Helper.exe 把 DLL 注入到目标进程里。然而,Seer 本身是 32 位进程且没有 64 位的 Helper。也就是说,他判断了好几次,最后啥都没干直接 return 了。
不过,令人欣慰的是 Seer 把 if(!isTragetWoW64)条件改了,没有盲目粘贴。

懒得解释了,一看就明白。
那个 WM_USER+7 不是我发现的,是网上流传的未公开消息。

Directory Opus 官方只给了一个独立的 exe 用以和第三方交互,而且这个 exe 只支持把结果写到文件里。于是乎,Seer 1.4.0 就每隔 0.x 秒运行那个 exe、写结果到文件、读文件,疯狂占用 CPU 和 IO。为了避免这个问题,我逆向了官方提供的那个 exe,发现了未公开的 WM_COPYDATA 消息(逆向结果在此)并用到了我的 QuickLook 里。
Seer 1.5.0 版本里就把它抄走了……哦不,没有完全照抄,作者把等待的 2000 毫秒改成了 800 毫秒。不过这也太明显了吧,连前四行 if 判断都没改就放进来了。

我不确定 Seer 作者是不是自己发现判断 ERROR_INSUFFICIENT_BUFFER 就够了,而不用申请内存后再次调用(网上的代码大都是两次调用)。

看到这里,相信各位已经对是否抄袭这个事实有一个结论了。我的代码受 GPLv3 协议的保护:任何使用它的人都必须遵守协议,把所有相关代码以 GPLv3 协议开源。既然 “ decent ” 是 Seer 的作者 idealistcorey 非常看重的东西,那么请自觉遵守 GPLv3 协议,把 Seer 1.5.0 版本的代码以 GPLv3 协议开源,即使你接下来把相关代码完全重写。
另外要告诫 Seer 作者:别人的代码不是复制粘贴就可以的。
最后作为对比,人家 Sekai Project 就很有版权意识,就算是想要用用 LGPL 协议的 Locale Emulator 都先来发个邮件问问:

更别说大企业了:

谢谢各位读到这里。
PS:某人的水平也太差了吧,对话框 HOOK 的 Helper.exe 源代码都在那儿,你都抄不走?
|  |      1plqws      2017-07-30 22:06:35 +08:00  1 原来楼主是开发 LE 的大佬啊,LE 真的是个很好用的工具。 | 
|  |      2Nitroethane      2017-07-30 22:10:01 +08:00 via Android 支持 lz,强烈鄙视这种抄袭别人劳动成果的行为。 | 
|  |      3UnisandK      2017-07-30 22:10:18 +08:00 前排围观技术型打脸 | 
|  |      4swulling      2017-07-30 22:13:26 +08:00 Seer 作者的微博签名是『理想主义者』,也是讽刺 | 
|  |      5skadi      2017-07-30 22:14:58 +08:00 via Android 围观一个 | 
|  |      6miyuki      2017-07-30 22:17:38 +08:00 via Android 持续关注 | 
|  |      7geelaw      2017-07-30 22:18:10 +08:00 via iPhone 一开始我觉得可能是 clean room,不过看了分析我觉得不是,支持楼主。 另外提醒 WM_USER+7 乱用可以带来兼容性问题。 | 
|      8FanWall      2017-07-30 22:18:43 +08:00 围观 | 
|  |      9xiaozizayang      2017-07-30 22:19:26 +08:00 支持作者 好生气 | 
|  |      10misaka19000      2017-07-30 22:23:16 +08:00 via Android 强烈要求 Seer 依照 GPL 把代码开源,否则就真是不要脸了 | 
|      11missdeer      2017-07-30 22:43:16 +08:00 Seer 作者上 V2EX 么? | 
|  |      12Chingim      2017-07-30 22:51:36 +08:00  15 这种抗争我喜欢, 至少最后不会和对方签保密协议, 然后当做什么都没发生 | 
|      14seeker      2017-07-30 23:42:31 +08:00 想起了 Potatso 由开源到闭源的命运 | 
|  |      15wusibacg      2017-07-30 23:46:02 +08:00 支持作者 另外想说个题外话,作者的软件有支持 win7 么? 我用的时候预览窗口后面会拖着一块毛玻璃。。win7 x64 | 
|  |      161ychee      2017-07-30 23:53:06 +08:00  51 | 
|  |      18PP      2017-07-30 23:57:50 +08:00 via iPad 支持打假,鼓励质证。 | 
|  |      19Mistwave      2017-07-31 00:08:35 +08:00 via iPhone LE 的作者!很好用的软件,感谢感谢🙏 | 
|  |      20HowardMei      2017-07-31 00:16:45 +08:00 via Android  1 支持维权,最讨厌自我标榜的人,十个有十个是伪君子。 | 
|  |      21frittle      2017-07-31 00:24:12 +08:00 支持。p.s. LE 真好用。 | 
|  |      22anyele      2017-07-31 00:33:28 +08:00 via Android 赞 | 
|  |      23eloah      2017-07-31 00:35:41 +08:00 支持一下 | 
|      24qweqqwe      2017-07-31 00:40:57 +08:00 via Android 帮顶一下! | 
|  |      25loveuqian      2017-07-31 00:41:47 +08:00 via iPhone 膜拜 dalao | 
|  |      26davy1995      2017-07-31 00:59:50 +08:00 via Android 不过感觉这个事在国内作为一个独立开发很难维权吧,唯一能帮忙的就是让那个抄袭🐶名声烂掉了 | 
|  |      27crisfun      2017-07-31 01:01:34 +08:00 这个事情告诉我们,不会逆向可以说不是人了  #滑稽 才听说这个软件,下载来用用 | 
|  |      28senghoo      2017-07-31 01:04:21 +08:00 via iPad 支持楼主,只有这种维权多起来才有助于国内的版权意识提升 | 
|  |      29jy01264313      2017-07-31 01:12:49 +08:00 支持楼主,希望国内法律健全起来 | 
|      3001802      2017-07-31 01:23:13 +08:00 via Android 支持楼主,法规和案例都是一点点较真来的 | 
|  |      316388xE5FRKTNUT9x      2017-07-31 01:28:47 +08:00 via Android 支持楼主,看看那位幻想家怎么回复了 | 
|      32longaiwp      2017-07-31 02:07:25 +08:00 支持 | 
|  |      33cnnblike      2017-07-31 02:54:52 +08:00 via iPhone le 很好用+楼主这事情占理 | 
|  |      34gigantic222      2017-07-31 05:14:36 +08:00 via iPhone 支持并膜拜大佬一记 | 
|  |      35ermao      2017-07-31 08:01:10 +08:00 via Android ………大佬就是大佬!支持 | 
|  |      36R18      2017-07-31 08:27:49 +08:00 对此事件表示持续关注 | 
|  |      37Shura      2017-07-31 08:44:22 +08:00 via Android 凭实力抄的代码,凭什么要开源? | 
|  |      38jy02201949      2017-07-31 09:03:10 +08:00  我以为 V 友会去抄袭者微博婊他,想不到评论里一片和谐,不过这个抄袭的说是下架了正在跟楼主沟通 | 
|  |      39shakoon      2017-07-31 09:08:44 +08:00 支持楼主维权。技术水平需要和道德水平同步增长,才是个好程序员。 | 
|      40hhacker      2017-07-31 09:09:56 +08:00 百分百源自某些人对开源项目的百分百既得利益既视感 | 
|      41goodan      2017-07-31 09:13:46 +08:00 给 dalao 递茶,支持维权 | 
|  |      42oska874      2017-07-31 09:15:33 +08:00 啥都别说了,抄袭了就走法律途径。 | 
|  |      43wupher      2017-07-31 09:16:11 +08:00 支持作者维权 | 
|  |      45zpf124      2017-07-31 09:35:41 +08:00 软件作者承认了用了 楼主的代码了,接下来就是看大戏的时刻了。 顺道膜拜大佬... | 
|  |      46aaronly      2017-07-31 10:02:09 +08:00 支持楼主 | 
|  |      47pb941129      2017-07-31 10:10:54 +08:00 支持楼主~~~ | 
|  |      48L1403749842      2017-07-31 10:12:23 +08:00 支持楼主维权~ | 
|  |      49jsjjdzg      2017-07-31 10:23:09 +08:00 支持楼主,卖 69 呢 = = | 
|  |      50barbery      2017-07-31 10:38:13 +08:00 支持维权,有理有据 | 
|  |      51seki      2017-07-31 10:44:23 +08:00 支持维权 | 
|  |      52heiybb      2017-07-31 11:14:55 +08:00 via Android 支持大佬 | 
|  |      53mornlight      2017-07-31 11:25:43 +08:00 更新了:   | 
|      54RainySeason      2017-07-31 11:28:00 +08:00 LE 很好用+1,支持大佬_(:з」∠)_ | 
|  |      55recall704      2017-07-31 11:38:49 +08:00 持续关注 | 
|      56wsy2220      2017-07-31 11:43:02 +08:00 支持一个 | 
|      57SuperMild      2017-07-31 11:50:24 +08:00 抄袭的成本真的太低,就算最后证据确凿,认个怂就过去了,几乎不用付出代价。 | 
|  |      58victor      2017-07-31 11:54:01 +08:00 对不起是认为自己做错事了,而抱歉是说不好意思(我靠怎么被发现了,这下难堪了) | 
|  |      59xiaket      2017-07-31 11:58:12 +08:00 吃瓜群众表示直接撤下就没事了?不懂 GPL 是什么东西? | 
|      60missdeer      2017-07-31 12:01:21 +08:00 犯错成本果然很低么? | 
|  |      61Hello1995      2017-07-31 12:04:14 +08:00 via Android  3 后排提示,GPL 污染就应该把该版本开源,否则就会永远被挂在耻辱柱上 | 
|      62anheiyouxia      2017-07-31 12:06:16 +08:00 via Android | 
|  |      631ychee      2017-07-31 12:17:50 +08:00 | 
|  |      64chilaoqi      2017-07-31 12:44:49 +08:00  1 Seer 作者这些标签 “理想主义者” “ decent ” 怎么听着十分老罗啊 这是老罗被黑的最技术的一次。。。 | 
|  |      65chinvo      2017-07-31 12:49:55 +08:00  1 作者撤回了版本,坐等大戏 | 
|      66sampeng      2017-07-31 13:07:48 +08:00 这个没法走法律途径吧?开源协议受我国法律保护么? | 
|  |      67dangge      2017-07-31 13:09:54 +08:00 支持一下楼主 另外可以伸手求一下微博那张图的渲染方式么?是 mactype 还是 DirectWrite ?可以分享一下配置吗?感谢 | 
|  |      68usedname      2017-07-31 13:16:17 +08:00 Seer 大写的恶心,已计入黑名单小本本 | 
|  |      69virtualworld      2017-07-31 13:16:23 +08:00 纯粹吐槽一下,ditto 算不上是鼻祖吧?比他早的多了去了 | 
|      70Izual_Yang      2017-07-31 13:19:28 +08:00 via Android 只用过 seer 0.8 的路过,这玩意似乎还没适配 totalcmd | 
|  |      71crispgm      2017-07-31 13:22:17 +08:00 via iPhone 支持维权! GPL 不容侵犯 | 
|  |      72enlau0912      2017-07-31 13:44:29 +08:00 幻想家 Corey - 抄襲主義者~ 這跟盜版有什麼不一樣,好意思賣錢,無恥。 | 
|  |      73shuson      2017-07-31 13:57:00 +08:00 最后还不忘夸奖我司 | 
|  |      74witcherhope      2017-07-31 15:05:58 +08:00 via Android 对方撤下了当前版本,按照 GPL 协议应该开源!要对方承担后果,GPL 协议不是开玩笑的 | 
|  |      75Felldeadbird      2017-07-31 15:17:37 +08:00 撤下来有什么用呢?都用了 GPL,该软件就应该开源出来。 | 
|  |      76ljcarsenal      2017-07-31 15:29:43 +08:00 windows 客户端编程大佬  这年头不多见了 | 
|  |      77Kirscheis      2017-07-31 15:45:31 +08:00 赞楼主逆向能力 发现楼主还写了 Locale Emulator,基本上每次偶尔用到 windows 平台都必装的工具之一,感谢 | 
|  |      78halicando      2017-07-31 16:14:55 +08:00 一个帖子既维了权又实力圈了一波粉,赞楼主! | 
|  |      7920015jjw      2017-07-31 16:20:08 +08:00 via Android 给楼主点赞 抄代码卖钱垃圾 差评 | 
|      81quinoa42      2017-07-31 16:48:02 +08:00 感谢楼主写了 LE | 
|  |      82breaklayer      2017-07-31 16:50:47 +08:00 支持 lz,抄代码卖钱垃圾 Seer 大写的恶心 | 
|  |      83xupefei OP  4 | 
|      84auhah      2017-07-31 17:30:06 +08:00 膜拜大佬。 | 
|  |      85bookit      2017-07-31 17:34:42 +08:00 自我标榜的一般不是好东西 | 
|  |      86verrickt      2017-07-31 17:39:32 +08:00 via Android 持续关注 | 
|  |      87mcone      2017-07-31 18:13:12 +08:00 这种协议污染 可不是简单下架撤回这么简单啊 不然的话违法成本这么低 协议还有什么用 都给成 WTF 协议好了 另外 这个作者难道没有 v2 账号吗 个人是不太相信的这种无力的解释的…… | 
|  |      88bolide2005      2017-07-31 18:16:51 +08:00 收藏了,持续关注,支持楼主 | 
|  |      89harry890829      2017-07-31 18:18:13 +08:00 啊,不知道能否和大佬讨论下 Windows 下钩子的问题,我最近正好在捕捉扫码枪的东西,但是效果并没有想象中的好 | 
|  |      90Lawlieti      2017-07-31 18:26:42 +08:00 3000 就解决完事了? | 
|  |      91hikarugo      2017-07-31 18:27:55 +08:00 尼玛,我就说一句。。。如果楼主没有反汇编这种技术,是不是这个事永远不会被发现?一方面反映了国内确实版权意识太低,另一方面是不是也体现出如果没有对应的技术能力,连自己的版权都维护不好。退一步说,就算现在发现了,还不知道这个事有没有个信服的结果。。好忧伤的感觉 | 
|  |      92xupefei OP | 
|  |      93mritd      2017-07-31 19:08:07 +08:00 via iPhone  1 以用公司代码为理由就糊弄过了? 人做事要承担后果,杀了人 来一句 我得照顾父母就完了,GPL 闹着玩呢 | 
|  |      94ysc3839      2017-07-31 19:45:41 +08:00 via Android @harry890829 扫码枪?是不是扫码后会直接模拟键盘输入?你想通过软件读取? | 
|  |      95mikeven      2017-07-31 20:09:49 +08:00 居然是 LE 的大佬!! | 
|  |      96lzsadam      2017-07-31 20:10:12 +08:00 楼主这样的人应该再多一些,支持维权,关注后续结果。 | 
|      97tairan2006      2017-07-31 20:32:45 +08:00 支持楼主~ 不过看来对方的态度也很好,就私下解决吧~ | 
|  |      98ErnestChan      2017-07-31 20:48:43 +08:00 @1ychee #16 avast 你们有优惠渠道吗?学生想入正版,又有些不舍得剁手。 | 
|  |      99tomczhen      2017-07-31 21:01:25 +08:00 @tairan2006  有私下解决这种操作? GPL 开源项目作者可以私下允许开源代码被他人闭源商用? 这样理解的话,开源协议中对引用开源代码者的相关要求是源码所有者的权利而非开源协议的权利? 退一步讲,就算作者本身不追责,也改变不了侵权者违反开源协议使用开源代码的事实吧? 那么“私下解决”该是如何操作呢? | 
|  |      100tomczhen      2017-07-31 21:07:23 +08:00 @harry890829  刚好对条码枪这块有点了解,不过对 Windows 钩子这块没什么了解。 条码枪有两种工作模式,一种是键盘模式,一种是串口模式。 键盘模式下就是模拟键盘输入,如果想单独监听条码枪,个人感觉除非可以识别到输入来自具体的设备信息才有可能实现单独监听条码枪。 至于串口模式,一般低端型号是没有这种工作模式的,支持串口工作模式的条码枪通常需要设置之后才能启用(扫描特殊条码的方式设置,各个厂家有差异,甚至同厂家不同型号也有差异)。 |