回复
56
查看
2078
收藏
4

1

赠楼

0%

赠楼率

1046

蒸汽

58

主题

617

帖子

2341

积分

发表于 2019-1-13 09:21:26 | 显示全部楼层 |阅读模式

社区昵称:Sophie 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+3/-0

本帖最后由 SophieZhang 于 2019-1-13 09:24 编辑

吃瓜群众的提问,计算机小白想听听有没有了解的人来科普一下。
回复

使用道具 举报

11

赠楼

2%

赠楼率

1083

蒸汽

159

主题

2594

帖子

4717

积分

『滴学生卡』『片十字花瓣』

发表于 2019-1-13 11:00:06 | 显示全部楼层

社区昵称:alifriend 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

我既是多年程序员,也玩过一段时间的破解,确实如有的朋友所说,这里有的人是不懂在强答

1.反编译指的至少是由成品还原回一部分代码、资源文件,简单拆包啥的是不算的。

2.反编译的难度根据语言、工具各异,C#就经常可以轻松反编译,C++就基本不可能,而脚本就根本不用反编译,本来就是明文。

3.但是相对的,也有办法让你就算反编译,出来的东西基本也不能用。比如混淆代码,所有变量和函数全是oo00OO00Oo这样的东西……

4.开源的目的是集思广益,加速项目进展,比如知名的PPSSPP模拟器,要是不开源,发展是绝对不会这么快的。当然了,商业项目基本是不会开源的。

5.就算开源的东西,一般人要拿来用也不是简单的事情,开发环境的搭建就不是随便能搞定的。

6.不过你的源码/源工程如果被居心不良的人拿到,去山寨,那就头疼了。

7.把一个游戏直接强行反编译再改些东西然后重新山寨编译一个出来,有时候难度确实比自己山寨一个还要大……当然也看游戏的规模和所用工具。

点评

这楼说的才是对的。  发表于 2019-1-13 11:47

评分

参与人数 3体力 +7 收起 理由
eshy + 1 乐于助人
soys + 3 优秀资料
SophieZhang + 3 优秀资料

查看全部评分

回复 支持 +8

使用道具 举报

142

赠楼

8%

赠楼率

183

蒸汽

667

主题

4082

帖子

8880

积分

『干渴水滴』『滴学生卡』『片十字花瓣』

发表于 2019-1-13 09:24:28 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Lucky Doge 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+36/-0

反编译或者说是反向工程,可以算是破解游戏的一种手段
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

63

蒸汽

22

主题

835

帖子

884

积分

发表于 2019-1-13 09:30:44 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Howl 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+7/-0

本帖最后由 3318234649 于 2019-1-13 09:53 编辑

个人感觉比破解还要恶劣
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

333

蒸汽

10

主题

332

帖子

429

积分

发表于 2019-1-13 09:31:43 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Kamiriya 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

说过分点,就是把原工程摆在其他开发商面前

其他开发商只需要换个皮肤,就又是一个新的游戏

而原开发商,付出的努力就这么白送人

点评

上面点评的显然是个小白,反编译难度远远小于照抄  发表于 2019-1-13 11:44
你说的这种情况,实现难度远大于照着别人游戏抄一个  发表于 2019-1-13 10:06
回复 支持 +1

使用道具 举报

0

赠楼

0%

赠楼率

224

蒸汽

0

主题

1169

帖子

713

积分

发表于 2019-1-13 09:31:49 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Opens Sesame 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+3/-0

大佬我也不懂口丫
回复 支持 +

使用道具 举报

12

赠楼

12%

赠楼率

251

蒸汽

20

主题

840

帖子

796

积分

发表于 2019-1-13 09:33:42 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:karofsky 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+7/-0

说白了反编译就是获取源代码
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

475

蒸汽

31

主题

825

帖子

811

积分

发表于 2019-1-13 09:36:07 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Allurelove 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+10/-0

关键是不但反编译,还把代码发出来了
回复 支持 +

使用道具 举报

1

赠楼

1%

赠楼率

75

蒸汽

4

主题

94

帖子

173

积分

发表于 2019-1-13 09:36:24 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Pαul DN 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

反编译获取了程序的源代码,可以空手套白狼,自己套个皮就是另外一个游戏了
回复 支持 +

使用道具 举报

100

赠楼

27%

赠楼率

820

蒸汽

223

主题

4407

帖子

1万

积分

一般自宅警備( ˊ_>ˋ)y-~

『蒸汽基车』『干渴水滴』『片十字花瓣』

发表于 2019-1-13 09:38:22 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:Z56B29A2😶 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+30/-0

本帖最后由 很A很雪拉 于 2019-1-13 01:55 编辑

就是把人扒光了丢街上
然后讲:“各位随意”

这画面够有冲击力吗

==========
@nb472356687 感谢反馈 已修复

点评

我想hentai,进不去啊  发表于 2019-1-13 09:52
回复 支持 +2

使用道具 举报

7

赠楼

13%

赠楼率

95

蒸汽

55

主题

1296

帖子

759

积分

发表于 2019-1-13 09:40:49 | 显示全部楼层

社区昵称:耐久 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

那么有些游戏开源又是啥意思呢
回复 支持 +

使用道具 举报

120

赠楼

3%

赠楼率

36

蒸汽

196

主题

4014

帖子

3883

积分

不想跟XX讲道理

『片十字花瓣』

发表于 2019-1-13 09:42:44 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:小萝莉放开我 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+25/-0

拿到代码吧,不过我觉得没有注释很难用
回复 支持 +

使用道具 举报

20

赠楼

1%

赠楼率

596

蒸汽

108

主题

2372

帖子

1752

积分

山姆大叔天朝布莱恩特

『片十字花瓣』

发表于 2019-1-13 09:44:25 | 显示全部楼层

回帖奖励 +1 克蒸汽

社区昵称:MrFishCN 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+3/-0

反编译能得到源码的话,自己随便改改就能做游戏了!
一般有防止反编译的方法,只是道高一尺魔高一丈,遇到这种事情还是只有法律途径。
回复 支持 +

使用道具 举报

3

赠楼

8%

赠楼率

96

蒸汽

21

主题

1315

帖子

1523

积分

女人有游戏好玩?你傻X吗.jpg

发表于 2019-1-13 09:45:44 | 显示全部楼层

社区昵称:HumPhry_W 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+6/-0

就是把游戏的皮扒了,露出里面的构造。其他人只要套个皮就能变自己的作品
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

106

蒸汽

2

主题

135

帖子

422

积分

发表于 2019-1-13 09:46:07 | 显示全部楼层

社区昵称:闲月疏云 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

本帖最后由 闲月疏云 于 2019-1-13 10:23 编辑

瞎胡扯版本:
反编译属于逆向工程的一部分,狭义上就是指把游戏源码拿出来而且源码可以修改之后重新编译,那玩意可比你买到的游戏值钱了科学记数法倍;广义上也包括了反汇编,因此也算是破解的一个过程。破解不一定需要完全的反编译,很多时候仅仅是反汇编即可,比如最经典的逆向入门例子(随手瞎写的):
  1. 0001 cmp ax, bx
  2. 0002 jz 0005
  3. 0003 xxxx
  4. 0004 jmp 0006
  5. 0005 xxxx
  6. 0006 retn
复制代码
nop掉0002即可实现破解
而如果实现了反编译的话看到的应该是这个:
  1. if (a == b) // 别问我a和b是什么类型,反正不是int
  2.     xxxx;
  3. else
  4.     xxxx;
  5. return;
复制代码
其实两者最主要的区别还是源码有高可读性而反汇编没有,比如很重要的数据结构在反汇编当中会难以辨认,抽象出来的东西全都还原成函数能看到人崩溃……
黄段子版本:
一个是被袭胸了,一个是被爆菊了……

P.S. 非.NET和JAVA理论不存在反编译,除非那个公司蠢到源码被偷出来了(G胖:阿嚏)

续:
似乎有人对我的说法提出了质疑。
emmm,因为目前为止似乎并没有一个对“反编译”,严格来讲叫做反向工程(译作Reverse engineering)的严格的定义,wiki上给出的定义如下:
Reverse engineering, also called back engineering, is the process by which a man-made object is deconstructed to reveal its designs, architecture, or to extract knowledge from the object;
因此我承认上文中”把游戏源码拿出来“确实不准确,但是我个人认为”可以修改之后重新编译“确实没有太大问题。BUT……
”反编译“这个说法真的很尴尬啊【摔】你把源码+资源扔进IDE选编译,中间经历了语法分析代码编译链接等一大堆乱七八糟的过程,现在你说把这个过程给”反“过来,鬼知道你说的是反到哪一步啊!反到第一步源码+资源是反,反到链接层面也是反啊!
更多有关内容可以参考知乎问题:
为什么有些语言可以被反编译?而有的不能?

回复 支持 +4

使用道具 举报

0

赠楼

0%

赠楼率

224

蒸汽

1

主题

101

帖子

259

积分

发表于 2019-1-13 09:46:33 | 显示全部楼层

社区昵称:SUNBreathe 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

应该类似拆壳。。。把
回复 支持 +

使用道具 举报

3

赠楼

6%

赠楼率

363

蒸汽

7

主题

91

帖子

511

积分

发表于 2019-1-13 09:50:46 | 显示全部楼层

社区昵称:rationalMachine 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+7/-0

ahaqct飞向未来 发表于 2019-1-13 09:40
那么有些游戏开源又是啥意思呢

那就完全是共产主义精神了,互联网本来还是有开放共享精神的
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

38

蒸汽

9

主题

268

帖子

175

积分

发表于 2019-1-13 09:50:58 | 显示全部楼层
如果拿汽车作类比,破解是复制汽车钥匙,你可以开这辆车,反编译则是拿到整车的图纸,你就可以造这种汽车了。反编译工作量和难度大多了
回复 支持 +1

使用道具 举报

2

赠楼

0%

赠楼率

178

蒸汽

13

主题

1102

帖子

987

积分

发表于 2019-1-13 09:51:07 | 显示全部楼层

社区昵称:JYFhellcase.com 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+9/-0

很A很雪拉 发表于 2019-1-13 09:38
就是把人扒光了丢街上
然后讲:“各位随意”

这么刺激的吗
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

490

蒸汽

0

主题

145

帖子

589

积分

发表于 2019-1-13 09:53:01 | 显示全部楼层

社区昵称:Dirty Blood Orange \[T]/ 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+1/-0

本帖最后由 Weet 于 2019-1-13 09:56 编辑

楼上很多答案是不懂的在强答。。

反编译很复杂,不是一两句话能说清的。首先不同引擎/语言写的游戏,反编译能达到的效果完全不同。要谈反编译的危害,得基于具体的情况来看。

有的反编译只是为了拿资源(例如盗用),有的是为了看程序的逻辑(例如破解/修改)。

编译里有很多东西是不可逆的,所以反编译不是完整的反向还原。这帖子里很多人严重夸大了反编译的危害。

评分

参与人数 5体力 +10 收起 理由
zawnpn + 2 给dalao递体力
dick182 + 3 观点赞同
zackrian + 2 给dalao递体力
上古翔兽 + 1 给dalao递体力
1047287793 + 2 给dalao递体力

查看全部评分

回复 支持 +11

使用道具 举报

0

赠楼

0%

赠楼率

345

蒸汽

0

主题

62

帖子

360

积分

发表于 2019-1-13 09:58:48 | 显示全部楼层

社区昵称:Deep Darkness 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

反编译是相当于是把程序运行的源代码给展示出来,别人可以轻易了解到这个程序是怎么运作的,甚至可以拿来编辑套用成自己的程序。
而破解、盗版只是让程序绕过一个购买验证而已,让程序误以为你已经购买了而正常运行。
而对于游戏的危害,前者可以使游戏程序开发这块的努力彻底没了保护,不单单可能会出现盗版,同行内竞争力下降,甚至可能会有代码级别的山寨、换皮,说白了就是核心技术被曝光了;而后者就是能让人不花钱就能玩上游戏,造成直接的利益损失。
回复 支持 +

使用道具 举报

4

赠楼

0%

赠楼率

452

蒸汽

46

主题

1138

帖子

1738

积分

发表于 2019-1-13 10:00:43 | 显示全部楼层

社区昵称:Noob 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

本帖最后由 BreakH 于 2019-1-13 10:03 编辑

这样说吧,项目源码就是图纸+原材料,项目工程打包发布就是建房子,你作为一个消费者看到的是一个建好的房子,反编译就是暴力拆房子,拆完看看房子长什么样
建造这个房子的具体你看不出来,你只能根据废墟猜出个大概
上面说反编译能拿到源码的,就有点过分了。
用个楼上某个人的琴瑟的段子解释:
源码:你袭胸了
你消费者看到的成果:你猥亵妇女
反编译:你被爆菊了


回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

490

蒸汽

0

主题

145

帖子

589

积分

发表于 2019-1-13 10:01:34 | 显示全部楼层

社区昵称:Dirty Blood Orange \[T]/ 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+1/-0

kamiliya 发表于 2019-1-13 09:31
说过分点,就是把原工程摆在其他开发商面前

其他开发商只需要换个皮肤,就又是一个新的游戏

能反编译出原工程,你可以拿图灵奖了
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

0

蒸汽

8

主题

326

帖子

9

积分

发表于 2019-1-13 10:03:37 发自移动设备 - 你的掌上 SteamCN 社区 | 显示全部楼层
闲月疏云 发表于 2019-1-13 09:46
瞎胡扯版本:
反编译属于逆向工程的一部分,狭义上就是指把游戏源码拿出来而且源码可以修改之后重新编译, ...

六啊
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

140

蒸汽

0

主题

174

帖子

197

积分

发表于 2019-1-13 10:05:11 发自移动设备 - 你的掌上 SteamCN 社区 | 显示全部楼层

社区昵称:PennyShining 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

形象的说就是把一个能算数的黑箱靠实验、猜测和部分拆解画出黑箱内部的结构图来
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

106

蒸汽

2

主题

135

帖子

422

积分

发表于 2019-1-13 10:08:16 | 显示全部楼层

社区昵称:闲月疏云 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

Weet 发表于 2019-1-13 09:53
楼上很多答案是不懂的在强答。。

反编译很复杂,不是一两句话能说清的。首先不同引擎/语言写的游戏,反编 ...

对于托管语言来说,反编译几乎就等于完整的反向还原了……从这个层面来说危害确实很可怕。当然……我好像没见过.net的游戏。
回复 支持 +

使用道具 举报

7

赠楼

1%

赠楼率

665

蒸汽

32

主题

1371

帖子

1729

积分

『滴学生卡』

发表于 2019-1-13 10:17:24 | 显示全部楼层

社区昵称:白首青箱在 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+6/-0

为啥觉得和某新上架的国单有关……
回复 支持 +

使用道具 举报

4

赠楼

18%

赠楼率

835

蒸汽

19

主题

959

帖子

1098

积分

发表于 2019-1-13 10:23:50 | 显示全部楼层

社区昵称:hulala 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+1/-0

闲月疏云 发表于 2019-1-13 10:08
对于托管语言来说,反编译几乎就等于完整的反向还原了……从这个层面来说危害确实很可怕。当然……我好像 ...

还原是编译器优化过的。。完整还原是不可能的。。
回复 支持 +

使用道具 举报

0

赠楼

0%

赠楼率

333

蒸汽

10

主题

332

帖子

429

积分

发表于 2019-1-13 10:25:15 | 显示全部楼层

社区昵称:Kamiriya 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

Weet 发表于 2019-1-13 10:01
能反编译出原工程,你可以拿图灵奖了

我要是有这能力还瞎扯啥
回复 支持 +

使用道具 举报

17

赠楼

1%

赠楼率

351

蒸汽

70

主题

1229

帖子

1666

积分

发表于 2019-1-13 10:27:25 发自移动设备 - 你的掌上 SteamCN 社区 | 显示全部楼层

社区昵称:RanceA 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+1/-0

Weet 发表于 2019-1-13 09:53
楼上很多答案是不懂的在强答。。

反编译很复杂,不是一两句话能说清的。首先不同引擎/语言写的游戏,反编 ...

这个才是正解
反编译的目的是看其他开发者的代码,或者分析相应内容
这是对开发人员讲的,普通用户拿到没法使用,即使开发人员也不一定就能大幅修改
破解游戏则是让普通用户可以直接使用的
有些工程的加密措施不是很完善,门槛就会很低,并不是什么高手作恶
当是个开发人员就能反编译,普通用户拿到也不会用的时候,公开这个东西,就只是会引起业外人士高潮而已
至于前十几楼危言耸听的换皮之类,算了不说了没啥意义
回复 支持 +1

使用道具 举报

0

赠楼

0%

赠楼率

106

蒸汽

2

主题

135

帖子

422

积分

发表于 2019-1-13 10:29:43 | 显示全部楼层

社区昵称:闲月疏云 资料 加好友 聊天 库存 截图 好友 群组 愿望单 评测 信誉+0/-0

cuiweicn 发表于 2019-1-13 10:23
还原是编译器优化过的。。完整还原是不可能的。。

其实我觉得吧……如果能从 580518-20171121161205477-761828621.png 反编译得到 580518-20171121161607086-476855038.png ,纠结有没有优化已经没太大意义了……
回复 支持 +1

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  作为民间站点,自 2004 年起为广大中文 Steam 用户提供技术支持与讨论空间。历经十余载风雨,如今已发展为国内最大的正版玩家据点。

列表模式 · · 微博 · 群组 · 贴吧 · QQ群 
SteamCN 蒸汽动力 ©2004-2019 Chinese Steam User Fan Site.
Designed by Lee in Singapore, Powered by Discuz!
推荐使用 ChromeMicrosoft Edge 来浏览本站
广告投放|文字版|SteamCN 蒸汽动力 ( 冀ICP备05004600号 )
GMT+8, 2019-1-24 21:39, PE: 0.718786s , QE: 324, Redis On.
快速回复 返回顶部 返回列表