网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月22日
漏签
0
天
winulator吧
关注:
1,214
贴子:
2,384
看贴
图片
吧主推荐
游戏
10
回复贴,共
1
页
<返回winulator吧
>0< 加载中...
关于winulator转换文件的原理分析
取消只看楼主
收藏
回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
前不久在论坛里看到了winulator这个小东西,感觉挺神奇的,才几兆竟可以使1.4g的starcraft很流畅的运行在android上。相比之下bouchs的虚拟机多少有些逊色。
送TA礼物
1楼
2013-12-13 22:37
回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在高兴之余我也不时的再找有没有更多的转换游戏,于是就上网搜了下,貌似就两个,一个星际另一个是凯撒3,有点失望,偶然间发现了国人转换的handkercief,由于是老玩家了。当时的激动之情油然而生呢。兴冲冲的下来之后才发现怎么弄都没办法玩。很伤心,可是又很好奇到底是哪里做错了。于是就花了一下午对winulator进行了一番研究。
2楼
2013-12-13 22:41
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先必须要讲的是,确实是上当了,因为那个根本就是假冒伪劣产品,根本不能玩,具体分析以下展开。
winulator这个软件和mac机上的crossover差不多,也是通过对程序地址的偏移运算实现的,这一点从最初的凯撒3的转换文件可以看出来。
这个程序要实现转换至少需要两个文件,一个是对具体程序的描述文件,包括地址偏移的具体规则,一般叫做 XX.WCH。另一个是profile文件,这个文件是对x86和android的接口,告诉转换器exe在哪里。转换器要做的是将exe部分的api按照wch的描述进行偏移,然后打包成一个成品文件。
3楼
2013-12-13 22:50
回复(5)
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有同学可能要问了,为什么2.0以后的版本只要一个profile文件就可以了?因为根据原作者的官方说法,我已经将那部分api的转换规则写进了程序里,不再需要pc端的操作,也就是不需要转换器这个东西的存在了。这也就解释了为什么wch helper只有1.4.1版了。
4楼
2013-12-13 22:52
回复(3)
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
其实实现游戏转换最重要的是wch文件的编辑,这个文件由hash码、jumptable(偏移规则)、indirectjumptable(间接偏移量)三部分构成。hash码的作用是标记程序。以凯撒3的转换文件为例,这里面有5个hash码,如果你逐个的去依据hash码找文件会发现这5个是同一个文件,叫c3.exe,凯撒3的执行文件(原作者blog上说是为了适配不同的版本)。jumptable和indirect jumptable这两部分和exe的内存地址很像,而且有大小区间的限制,我想应该是api的转换规则,或者是内存使用规则,c语言学的不好,只能解释到这里了。
5楼
2013-12-13 23:00
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
profile文件的编辑很简单,就是告诉转换器 exe文件的地址,这个正常人一看就会。
6楼
2013-12-13 23:00
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
接下来我们就看看国人转换的这个奇葩成果吧。
从表面上看没问题,但是仔细看就会发现 那个dll文件,这个游戏根本就用不到。如果带着这条规则,你没这个,转换器会告诉你找不到文件;你有这个,转换器会告诉你错误,因为游戏用不到,程序不会调用,api也就无从转换了。坑爹啊
7楼
2013-12-13 23:05
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最后时profile文件了,这个好歹还有点良心,但是您好歹把最后的那两段删了吧,一个act游戏怎么会有rts特有的maps文件夹。。。
9楼
2013-12-13 23:11
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
还有,最后就是随包附送的游戏,因为是精简过的,hash值读不出来,转换器会提示too few bit。我特地换成了英文原版之后,才发现的hash这个东西的真正作用。
10楼
2013-12-13 23:14
回复
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
总之,我写这个东西不是为了黑谁也不是为了难为谁,主要是想给大家科普下winulator的基本知识,同时也想表达一下我心中的怒火,假货骗人的东西始终是假的,不但浪费玩家的感情也浪费别人的时间。同时呢,也希望国人能真正的做出些“移植”。
11楼
2013-12-13 23:18
回复(1)
收起回复
贴吧用户_0W5JK8P
活跃吧友
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不喜勿喷,纯属个人见解。
12楼
2013-12-13 23:18
回复(6)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
当丰川祥子碰上骆驼祥子
2751810
2
吧友实地探访美国血站
2083476
3
白宫官网无时无刻不在赢
1651944
4
LPL最佳阵容一半是韩援
1597536
5
特朗普宣布将为科比立雕像
1390064
6
钢铁雄心4捏造历史恶心中国玩家
1132225
7
欧冠16强淘汰赛抽签出炉
918000
8
特朗普对DEI下狠手
780896
9
现在想想《大鱼》真是可惜
777370
10
来给天国拯救2出场人物打分
616938
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示