V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qzhsjz
V2EX  ›  程序员

找一下 GitHub 上的 imldy

  •  3
     
  •   qzhsjz ·
    qzhsjz · 2021-03-08 15:45:22 +08:00 · 7235 次点击
    这是一个创建于 1364 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请 GitHub 上的 https://github.com/imldy 看到这篇帖子联系我,QQ:916327225

    我看到你主页中 fork 过一些关于 V2EX 的项目,所以想到到这里来找你。

    找你主要是想确认一下你的 https://github.com/imldy/LXDMenu 项目的代码来源,因为它来源于我的(私有)项目: https://github.com/qzhsjz/LXDMenu 。我想知道这份源代码是如何泄露的。

    第 1 条附言  ·  2021-03-08 21:03:42 +08:00

    到目前为止,依然没有联系上imldy,但我想应该已经不重要了,他可能不是发代码的人。并且目前我认为不是GitHub泄露了我的代码。

    这个项目的背景是这样的,2018年开始我一边上学一边做着一个汉化GTA5外挂的副业。当时和游戏中认识的一些朋友一起开了一个叫做洛仙都的外挂汉化组,并一直汉化搬运各种youtuber的作品。

    虽然说是个团队但是实际上也就我一个技术,技术点子也都是我想的,一开始我主要是租了一个服务器然后做了一个在线挑外挂下载注入的小工具。然后当然是收割下沉流量,目标用户就是那些民族自负感爆炸的假装学不会英语的人,跟中文编程的目标用户差不多。确实我们发现这样的人在游戏里也比较倾向于打不过就开挂,还特别喜欢人假挂威。这波烂钱恰得流量挺大,但实际上也没几个钱,他们也掏不出几个钱,我也是个老实人,不想套路他们,毕竟就是汉化加上做个系统,然后把服务器成本赚回来而已。

    不过从组织机构上来说,我不是这个组织的老板,老板也不是干技术活的。事实上那个老板是在3DM上搞宣传的,我们的原版外挂资源也是有专门的资源组去找,你们可以这么理解,除了我一个技术,就是宣传组和资源组,然后大家一起分分一天几十块钱的下沉流量。

    烂钱就这么一直恰着,直到2019年的一次更新,所有外挂全部失效(实际应该是R星完全重新map了一遍引擎的各个函数导致原来逆向出来的函数的id hash全部失效),在资源组的撮合下,我们当时接盘了一个youtuber的代码,然后从别的地方搞来了一个新的hashmap,应该是买来的,我不清楚,老板批的钱。然后我研究了一下把这份代码跑在了最新版的游戏上。

    这个时候老板其实就有点膨胀了,他觉得我们团队那时有最快的更新速度和最好的技术(虽然我并没觉得我技术怎么样),然后他把跟了他一年多的宣传小弟们全开了,理由是没好好干活……

    我最初见到HuangMos的时候,他网名叫荒陌。大概在19年这次更新之前,他进到这个群,直接找到我要跟我学汉化。但我很犯难,一方面,我出于分享技术的热情,还是很想告诉他如何汉化一个程序,但是我一般为了规避字符串长度受限的问题,都是直接开个新段然后改lea指令的地址的,我自然无法教会一个初中生这些东西,所以我告诉他使用一些成熟的汉化工具。

    然后再见到他就是我前面老板开除了一群宣传小弟之后了。老板开除了那些人,转头就把他拉进了组里。我深感惊讶,老板说是来给帮忙干技术活的。好吧,应该是我介绍的汉化软件他用会了,那也挺好,刚好我要去搞那一坨接盘的代码了,下载注入系统又已经成熟完善,汉化工作交给他做也未尝不可。

    结果过了没两天,老板叫我带他做新挂的代码,好吧,我说,既然这么有天分,不如咱们在GitHub上干吧。我把这份代码传到了GitHub上,然后手把手教他注册GitHub账号、配置git环境,commit和push,然后告诉他,你可以先看看,这里面有不少文字提示都还是英文,你可以照着汉化的那个词库先把字符串改了,改完commit几次再push几次,以后你就可以学会用git跟别人合作了。我当时感觉还算是遇到一个挺聪颖的学生,于是我就开始给他解释那些代码,穿插讲解C++的基础语法。

    大概一个多星期以后,荒陌跑了。

    无缘无故把整个组都拉黑了,走之前一句话都没有。然后我就意识到事情有点不太对劲,赶快revoke了他在git库里的contributor身份。后来就看见他在别处到处吹嘘自己写了个外挂,拿着一份代码到处发……

    不过我记得他发的是我们最早接到的那个youtuber的原版代码,而不是我们写了一点以后的,不过他本地当时肯定有一个库,这没问题。他最初的GitHub账号叫wuchao,就是他的本名,所以我一直不知道HuangMos就是他。我刚才回库里看了一眼,那些wuchao的提交已经变成了HuangMos的,那看来应该是他把wuchao的用户名改成HuangMos了。

    既然已经都是两年前的事了,而且他背叛我们以后我也没再用那个git仓库写过这个外挂了,那不如我今天就把这个仓库的权限打开,给大家吃吃瓜,也开开眼,希望大家长个教训,希望我以后不要再碰见这样的徒弟。

    第 2 条附言  ·  2021-03-08 23:31:25 +08:00
    既然已经 public 了,就再多说一点吧。
    其实这个项目中我原创的代码也并不很多,除了当时一直在研究游戏里刷钱的方法之外,最大的心血是那个网络验证模块(Auth.h/Auth.cpp)。
    也就是我这个项目的雏形: https://www.v2ex.com/t/759221
    还是希望大家在那个帖中多多帮我找点问题,谢谢啦!
    73 条回复    2021-03-09 18:32:35 +08:00
    shaopu
        1
    shaopu  
       2021-03-08 15:51:51 +08:00
    难道你“出来”过~
    wisen1
        2
    wisen1  
       2021-03-08 15:55:28 +08:00
    他个人网站不是有邮箱吗? [email protected]
    qzhsjz
        3
    qzhsjz  
    OP
       2021-03-08 15:56:06 +08:00
    @shaopu #1 “出来”是什么意思? i never make this repo public.
    dingwen07
        4
    dingwen07  
       2021-03-08 16:02:03 +08:00 via iPhone
    代码似乎是由用户 https://github.com/HuangMos 推送的
    jasonkayzk
        5
    jasonkayzk  
       2021-03-08 16:16:50 +08:00
    鬼…,鬼故事???
    hanxiV2EX
        6
    hanxiV2EX  
       2021-03-08 16:27:06 +08:00
    坐等谜底
    Vegetable
        7
    Vegetable  
       2021-03-08 16:29:57 +08:00   ❤️ 1
    hbolive
        8
    hbolive  
       2021-03-08 16:35:35 +08:00
    可能是 github 的漏洞?
    hanxiV2EX
        9
    hanxiV2EX  
       2021-03-08 16:38:25 +08:00
    @imldy 过来看看,解谜
    Latin
        10
    Latin  
       2021-03-08 16:49:34 +08:00
    在线呢
    qwer666df
        11
    qwer666df  
       2021-03-08 17:48:44 +08:00
    火钳刘明
    BL1tCL9N5bspXB39
        12
    BL1tCL9N5bspXB39  
       2021-03-08 17:54:12 +08:00
    噢?
    32uKHwVJ179qCmPj
        13
    32uKHwVJ179qCmPj  
       2021-03-08 18:15:14 +08:00
    坐等鬼故事
    JustSong
        14
    JustSong  
       2021-03-08 18:31:06 +08:00 via Android
    lz 语气有点怪怪的
    HoloShadow
        15
    HoloShadow  
       2021-03-08 18:42:38 +08:00
    鬼故事
    dongtingyue
        16
    dongtingyue  
       2021-03-08 18:46:01 +08:00
    看个人简介是学生,是你同个学校的么?
    CismonX
        17
    CismonX  
       2021-03-08 18:55:40 +08:00 via iPhone
    先回想一下最近有没有人借用了你的个人电脑或者 U 盘,而那份代码恰好在上面

    我所知道的大多数私人代码泄露的事件都是内鬼所为,比如项目合作人,比如舍友,比如实验室学弟。。相比之下,黑客盗取了你的代码并公开发布的概率微乎其微

    另外 GitHub 私有仓库的私密性其实并不想我们想象的那么强。在前东家,曾经有同事把公司代码传到了 GitHub 私有仓库,不到 5 分钟就被 takedown 了,然后领导叫去喝茶
    qzhsjz
        18
    qzhsjz  
    OP
       2021-03-08 19:56:14 +08:00
    @dongtingyue #16 不是的,我并不知道他是哪个学校的,也不认识这个名字。
    qzhsjz
        19
    qzhsjz  
    OP
       2021-03-08 19:57:17 +08:00
    @dingwen07 #4 那我猜到了了,应该就是他干的,这个仓库可能是这个 imldy 从他那里 fork 出来的。
    koast
        20
    koast  
       2021-03-08 20:03:14 +08:00 via Android
    围观破案,推送代码的和拥有 repo 的还不是一个人....
    LeeReamond
        21
    LeeReamond  
       2021-03-08 20:14:33 +08:00
    @CismonX 吃一堑长一智,看了这个帖子才知道 gh 私有仓库不安全,之前传过一些生产代码上去。不过不用 gh 的话又没什么好的替代品,自建 git 的话用起来不方便
    qiayue
        22
    qiayue  
       2021-03-08 20:26:15 +08:00
    @qzhsjz 你认识 HuangMos ?
    qzhsjz
        23
    qzhsjz  
    OP
       2021-03-08 21:03:59 +08:00
    @qiayue #22 是的,他曾经是我的学生。
    tediorelee
        24
    tediorelee  
       2021-03-08 21:07:01 +08:00
    好精彩。。看完了
    qzhsjz
        25
    qzhsjz  
    OP
       2021-03-08 21:07:22 +08:00
    至于 @imldy,我想应该是这样的,HuangMos 曾经重新发布过这个仓库,然后 imldy fork 了 HuangMos 的仓库,HuangMos 又把仓库删了,所以 imldy 的仓库就由 fork 转正了,就会显示成今天这个样子。

    另: https://github.com/qzhsjz/LXDMenu 已 public 。
    favourstreet
        26
    favourstreet  
       2021-03-08 21:12:32 +08:00 via Android   ❤️ 2
    ……我越来越意识到 GitHub 上不仅能看人写代码的水平,也能看做人的水平
    echowuhao
        27
    echowuhao  
       2021-03-08 21:15:56 +08:00
    gitea 自建很容易
    Acuberoot
        28
    Acuberoot  
       2021-03-08 21:52:29 +08:00   ❤️ 5
    GitHub 的确会在原仓库被删后将 fork 树上的第一位(似乎)转正,一般很难辨别,不过也有迹可循。

    可以用 API 取仓库数据,观察 created_at 、updated_at 和 pushed_at 三个字段:

    - created_at:仓库创建时间。
    - updated_at:仓库数据最后一次更新时间。
    - pushed_at:最后一次推送时间。

    https://api.github.com/repos/imldy/LXDMenu 可以得知,这个仓库创建在 2020/05/24,更新在 2020/08/12,推送在 2019/08/12 。

    因为最后一次推送的时间比创建要早,除了 fork 都是不合理的,还可以推断出原仓库可能是在 2020/08/12 被删除,这个仓库也在那个时间转正。
    qzhsjz
        29
    qzhsjz  
    OP
       2021-03-08 22:00:11 +08:00
    @Acuberoot #28 谢谢,我想应该就是这个情况。要不是今天突然心血来潮回来找这个仓库,又不小心点到了全站搜索,我都不知道有这些仓库的存在。
    logyxiao
        30
    logyxiao  
       2021-03-08 23:11:20 +08:00
    故事还挺好看的 饭吃完了 (狗头
    Jooooooooo
        31
    Jooooooooo  
       2021-03-08 23:32:41 +08:00
    有内鬼
    pkwenda
        32
    pkwenda  
       2021-03-09 01:23:36 +08:00
    取消交易
    imldy
        33
    imldy  
       2021-03-09 02:15:37 +08:00 via Android
    我来了…打了一大堆说明原因,结果发不出去,我研究下。
    imldy
        34
    imldy  
       2021-03-09 02:16:54 +08:00 via Android
    我今天白天没有上 v2ex,不好意思。
    不过下午我看到了你给我发的邮件,已经于 16:12 邮件回复了。
    我的 Github 帐号跟 v 站一样,也就是 imldy/LXDMenu 确实是我的仓库。
    imldy
        35
    imldy  
       2021-03-09 02:17:35 +08:00 via Android   ❤️ 14
    仓库来源:
    大越在疫情期间,具体几月记不清了,看到一个 b 站 up 主发视频说自己开发了一个 GTA5 外挂,视频里面展示了部分代码,感到好奇想学习一下,遂用展示的部分代码在 Github 上一番搜索,就找到了这个仓库,代码看起来差不多(不完全一致),然后顺手 folk 了一份。
    之后没过多久,我看到这个 up 主又发视频说“别人说他抄袭”(大意),我就在视频下评论说“我发现了一个仓库,跟你代码差不多,如果是你的仓库你就拿出 commit 记录,当证据证明自己就行了呗”(大意),此 up 主回复说“代码是我写的”( or“仓库是我的”,忘记了),我就没有再关注这个事。
    imldy
        36
    imldy  
       2021-03-09 02:18:18 +08:00 via Android   ❤️ 1
    之后这个 up 主又说别人说他抄袭,说今后不做外挂了,接着把源码公布出来了,我当时还下载了一份。
    这个 up 主应该就是你说的“荒陌”,当时此人 b 站用户名还叫“老荒漠”,现在叫“荒陌 Lynx”。
    imldy
        37
    imldy  
       2021-03-09 02:21:04 +08:00 via Android
    此人 B 站 UID:MTExMTYyNjMz ( base64 )
    wjm2038
        38
    wjm2038  
       2021-03-09 02:28:47 +08:00 via Android
    事情逐渐完善起来了
    imldy
        39
    imldy  
       2021-03-09 02:33:58 +08:00 via Android
    folk => fork
    explore365
        40
    explore365  
       2021-03-09 04:28:31 +08:00
    debts
        41
    debts  
       2021-03-09 08:32:36 +08:00 via Android
    吃个瓜
    urmyfaith
        42
    urmyfaith  
       2021-03-09 08:54:01 +08:00
    这就破案了,这么快
    andj4cn
        43
    andj4cn  
       2021-03-09 09:03:39 +08:00
    跟进跟进,我跟进 issue 都没这么积极~
    andj4cn
        44
    andj4cn  
       2021-03-09 09:05:27 +08:00
    http://www.gta5a.com/index.php 论坛在主页,要不要攻陷
    lululau
        45
    lululau  
       2021-03-09 09:06:08 +08:00 via iPhone
    蛤?外挂也有知识产权?
    zeromake
        46
    zeromake  
       2021-03-09 09:06:13 +08:00 via Android
    结案了,就是荒陌是个没有职业素养,指公开公司代码,还特别能说会道忽悠过了楼主老板,我看他恐怕去就是为了白嫖代码,拿到代码就走了。
    WhiteDragon96
        47
    WhiteDragon96  
       2021-03-09 09:12:57 +08:00
    好刺激 大清早给我看的 希望楼主多发点这种有意思的事
    WhiteDragon96
        48
    WhiteDragon96  
       2021-03-09 09:14:26 +08:00
    不过初中生真的好厉害
    LiuJiang
        49
    LiuJiang  
       2021-03-09 09:29:08 +08:00   ❤️ 1
    看完了,只想说爸妈没教会他如何做人。
    bsulike
        50
    bsulike  
       2021-03-09 09:33:50 +08:00
    啊这,一个完整的故事呈现了出来
    augustheart
        51
    augustheart  
       2021-03-09 09:52:17 +08:00 via Android
    我得说一句啊,外挂这圈子
    augustheart
        52
    augustheart  
       2021-03-09 09:55:18 +08:00 via Android
    垃圾浏览器,刷新一下居然就发出去了……这破事,在这圈子里其实很常见的。本身就是一大堆业余开发人员,很多都没有经历过正规的编程职业,然后甚至还有很多人文化水平不高(并不是说文化水平不高等于素质不高,没这个意思,但是咋说呢,很不 zzzq 的话就是了)
    Zzzz77
        53
    Zzzz77  
       2021-03-09 10:03:51 +08:00
    这个荒陌在 b 站还有一万多粉丝👀
    shyrock
        54
    shyrock  
       2021-03-09 11:47:32 +08:00
    很棒的瓜。
    顺便膜拜一下破解汉化大牛。
    duanxianze
        55
    duanxianze  
       2021-03-09 11:49:10 +08:00
    可以 吃瓜吃了个爽
    flavoury
        56
    flavoury  
       2021-03-09 11:55:31 +08:00 via iPhone
    没想到在这摇人摇这么快
    qzhsjz
        57
    qzhsjz  
    OP
       2021-03-09 12:04:38 +08:00
    @zeromake #46 没错,就是这样的。
    qzhsjz
        58
    qzhsjz  
    OP
       2021-03-09 12:11:14 +08:00
    @Zzzz77 #53 他那边的问题很大,他好像很会做营销,之前我们洛仙都在 B 站发外挂相关的东西都是直接被喷被举报到封号的,不知道他是怎么做起来的。但是更关键的是拿着偷的代码骗钱实在是对客户太不负责任了。

    @augustheart #52 是的,他其实不光盗取了我们的代码,还有其它受害者。但现在更关键的是他的客户不知道这些事情。

    @andj4cn #44 如果方便的话,大伙可以帮忙报个仇,哈哈
    qzhsjz
        59
    qzhsjz  
    OP
       2021-03-09 12:17:33 +08:00
    @imldy #35 明白了,他还敢说别人抄他,不都是他自己发出去的吗?服了。
    谢谢固定线索,仓库你就留着吧,证明是他重新推送的代码,谢了。
    imldy
        60
    imldy  
       2021-03-09 12:41:43 +08:00 via Android
    @qzhsjz #59 好的
    QBugHunter
        61
    QBugHunter  
       2021-03-09 13:31:58 +08:00
    没人吐槽开发外挂这件事情嘛。。。。。。
    Hallelu
        62
    Hallelu  
       2021-03-09 14:02:35 +08:00
    这不比悬疑小说过瘾?
    32uKHwVJ179qCmPj
        63
    32uKHwVJ179qCmPj  
       2021-03-09 14:25:35 +08:00
    精彩
    NCZkevin
        64
    NCZkevin  
       2021-03-09 14:30:53 +08:00
    精彩精彩,有意思的帖子。外挂编程入门有啥资源或者论坛比较推荐吗
    WhiteDragon96
        65
    WhiteDragon96  
       2021-03-09 14:38:19 +08:00
    qzhsjz
        66
    qzhsjz  
    OP
       2021-03-09 16:32:31 +08:00
    @NCZkevin #64 unknowncheats.me 上面有不少可以帮助你入门的开发资料,也有关于逆向的入门教学。


    @QBugHunter #61 这东西总归还是有人写的,你总不至于认为那些卖挂的初中肄业生自己能写出啥东西来吧,还是得靠咱们科班的干大头。有人甚至可能只是做个内核攻防研究,但是顺手就能通过外挂驱动之类的变现,那何乐而不为呢?
    huangmo
        67
    huangmo  
       2021-03-09 17:34:50 +08:00 via Android
    害挺有意思的
    lsl233
        68
    lsl233  
       2021-03-09 18:03:59 +08:00
    @NCZkevin 写外挂难道是不是犯法的吗?
    qzhsjz
        69
    qzhsjz  
    OP
       2021-03-09 18:29:36 +08:00
    @lsl233 #68 写外挂如果涉及到犯法的话一般是自诉案件,需要游戏公司来告,不告不理。而类似 Take-Two Interactive 的这种公司在中国没有业务。不过如果游戏公司打击外挂找了马克丁这种玩意来代理,那确实得进去。
    AoEiuV020
        70
    AoEiuV020  
       2021-03-09 18:29:39 +08:00
    @lsl233 犯法归犯法,不是玩家的话一般不会在意外挂不外挂吧,在这里的更多还是“程序员”的身份说话,外挂也就不那么要紧了,吃瓜更重要,
    huangmo
        71
    huangmo  
       2021-03-09 18:30:04 +08:00 via Android
    @lsl233 #68 GTA5 国内没有人管
    qzhsjz
        72
    qzhsjz  
    OP
       2021-03-09 18:30:51 +08:00
    @huangmo #71 卧槽你来啦?你还有脸来?
    huangmo
        73
    huangmo  
       2021-03-09 18:32:35 +08:00 via Android
    @qzhsjz #72 来吃瓜,挺有意思的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.