新时代的二次元文化,隐藏着马太效应下血本的争夺

在一月25日至27日莫名“失联”三天,更新了“猴山倒闭”的平时信息后,A站等到了久违一年的利好音信。据《财经》相关报道称,Alibaba正在谋求通过投资的方法对AcFun举行控股。如报道中所述,最近由马云出席创制的云锋基金正在与A站开展新一轮融资的洽谈,拟通过入股实现云锋基金与集成集团(阿里巴巴旗下全资子公司,前身为优酷土豆)对A站的控股。

20、    public D3D9.IDirect3DDevice9* NativeIDirect3DDevice9 
21、    {
22、    get; private set; 
23、    }

成本加持下的知识稀释

16、 } 

入局文化市场,稳赚不赔的好买卖

 

作为最早的弹幕文化网站,A站发展至今已然经历了长达六次资本转移,单从近几年来看可见一斑,2014年,奥飞成为A站的最大股东;2015年5月,优酷土豆注资A站,得到A站18%的股权;2016年十月,普通话互娱背后的华语在线入股A站,成为A站第二大股东。 每五次资本的流入都为其带来巨大的人事管理层变动,最初的原生态二次元文化社区属性也在四遍次资金转移中饱受削弱,从真正的二次元文化集中地到现行已然成为各方寻求资源的空壳,资本为其带来的是一回又一次的苦难,已然成为持续的剩下价值榨取机。都说公司的为主元素是人,但在A站跌宕起伏的10年内,资本形态下的“人”已然成为它最大的钳制。

c)        
再通过Hook过的Direct3DCreate9函数获取D3D9的指针,

从运营情势上来看,B站很分明走了本金偏向的这条路——横向多元化发展。现今除了ACG的情节外,B站加大了对科技、生活等资讯类随笔的投入,广泛的的信息流下,能观望其多方向尝试的没法之举。但这也恰好是资产乐于接受的,从两个角度举行布局,完成二次元文化市场的充足挖掘,快捷变现迭代。

5、 代码里,还有一个重中之重的地点,就是Hook后收获的指针是一个COM接口,即得到的是一个虚函数表,由此在Hook
EndScene方法的时候,就是把那个COM接口的EndScene的虚函数指针换成我们温馨的,如下表的接口定义和替换方法:

只但是,它更多了一层文化的习性,一层代表归属与迷信的学识道路。

b)        
再Hook d3d9.dll里的Direct3DCreate9函数,

就此,这与其说是沉浸代入感,不如说是对二次元文化的一种信仰。

此地自己只用过第4种方法,因而本文也只介绍第4种办法,这里我们用到EasyHook这些库,这么些库允许大家使用C#代码Hook系统API。EasyHook的用法很简单:

骨子里,早在多少个月前云峰基金就从头与A站开展接触,投资方法是以10亿元人民币的估值对A站开展重组,重组之后其占股将跨越20%。最后,云锋基金以及集成集团二者将总共拥有领先A站50%的股份,从而赢得A站的主控权。

 

在前年披露的十大热词中,“打call”成功上榜。这一个蕴藏满满应援文化的年份热词不难折射出社会新兴助力阶层的趣味指向——AGC,二次元文化。

1、 在含蓄Hook函数的托管DLL里,创造一个类,实现了EasyHook.IEntryPoint这么些接口。

如此一来,对于二次元市场来讲,头部种子将会被基金加速孵化,不论是从经营格局,依然从公司架构都会承接资本方的急需,虽说行业的前行少不了资本的流入,但只要本质的学问特性被袭击,那么以前的积累便会成为无根之水。此刻在二次元市场上风雨飘摇的A站以来,就是最好的例证。

5、 在Windows操作系统里创造一个谈得来的Device。

平等的,对于二次元市场,也是这么。

14、    OverrideFunctions();
15、    }

但回过头来好赏心悦目一看此次事件的栋梁之材,不得不说,这几年的A站可以称得上是一笔不可能翻阅的烂账。截至2016年年终,遵照闽南语在线财报呈现,A站全年营收仅为71万,亏损1.46亿。截至前年十二月份,A站活动端的月活跃用户量近一年持续涌出骤降,现为188.73万;而腾讯押宝的B站的月活跃用户量则高达4941万,是前者26倍有余。可以说这是一笔长时间内看不到希望的投资组合,同时叠加一份超额的资产负债,但对阿里而言,这些“亏”不得不吃。

最后只要我们对调剂技术感兴趣的话,可以考虑买入自己的新书: 应用程序调试技术,这套视频除了讲解调试的技艺外,还尽量完整地讲解了宽广用到的技能,这是因为调试技术和好的话,需要根基功和背景知识扎实才行。

分选A站的原由很简短,阿里意在用A站积聚十年的学问沉淀来补齐自己眼前在二次元ACG以及社区成品领域的空白,从而与腾讯实现正面交锋。众所周知,阿里的事务偏向于公司服务类,与腾讯自然社交产品本身延伸爆发的私家服务与社区属性不同,它需要不断填丰满自己的羽翼举办不同行业的布局。这三回也是这般,重组一旦成功,阿里将在二次元市场具有最起码在可行性上得以与腾讯势均力敌的恐怕。

30、    MyEndScene = EndScene;
31、    IntPtr PointerToMyEndScene = Marshal.GetFunctionPointerForDelegate(MyEndScene);

可是很很显,这种做法,不但不可以破局,实现流量的尤为牵引,同时其原本纯粹的二次元文化也在被一步步被淡化。即使近日头上仍顶着二次元的价签,但在其布局的多项业务模块中,已然看不到二次元的阴影。

4、 在外挂里启动游戏,启动时先将游戏过程暂停,执行一雨后春笋Hook操作:

从这些角度来讲,如今的A站繁忙自己的危急对于客户体验无暇顾及,B站基于网游、讯息流资讯格局展开布局以迎合更大的老本诉求,致使社区内的确的二次元死忠粉被边缘化,不得不说是一种悖离初衷的难过。

1.        
比如动用缓冲区溢出纰漏(参考作品 何以运用缓冲区溢出的程序错误来运作黑客程序
怎么运用缓冲区溢出的次序不当来运行黑客程序(续))。

只是刚刚,在那个偏安一隅的小众文化里面,同样沾染着着浓浓的资本味儿。经过了一年的繁华与不安,在濒临年终的时候,二次元市场如故上演了一出热烈参半的年末大戏。

2、    {
3、       CreateFileHook = LocalHook.Create(
4、           LocalHook.GetProcAddress(“kernel32.dll”, “CreateFileW”),
5、           new DCreateFile(CreateFile_Hooked),
6、           this);
7、    
8、       CreateFileHook.ThreadACL.SetExclusiveACL(new Int32[] {0});
9、    }

二次元文化诞生于先前时期的博客、贴吧、论坛,直至A站、B站,自始至终属于小众文化。但不可否认的是,二次元文化从来以极浓的空气、超强的浸泡感令人们乐此不疲。当年的基本消费主题90、00现行早已日趋踏入社会,成为社会新兴的花费人群。对于这多少个群体而言,与生俱来的互联网意识让他们不会屈身于虚假的文化氛围,对待二次元文化的本色他们更拥有自己特有的判断和更高的渴求,没有一丝的情趣投机性,更多的是对过二〇一八年间的仪式感与传承性。

 

据此,前进的趋势,至关重要。

2、 直接在戏耍启动前把system32文件夹中的d3d9.dll换成自己的。

据中华市场调研在线发布的中原二次元行业调研分析及市场前景预测报告,前年二次元行业市场层面已高达1000亿元人民币,估量5年后将迎来1000亿加元的市场份额。尽管不及3C的量级,然则资本方都能看出,文化层次的布局可谓是一劳永逸,一旦生态链完成闭环,文化将改成一个大的流量入口,为任何生态链带来源源不断的活水,短时间回报卓殊惊人,这笔账,资本方门儿清。

 

对待于A站,B站对于资金的把控态度要当心的多,但从精神上看,在财力的裹挟下它的初衷也似有倾斜。在贴片广告与会员系统上线后,B站碰着到广大二次元爱好者的同样反对,原因无他,这种做法会大幅稀释B站的二次元文化。

2、 在类的构造函数里创设与宿主进程的连接。

但,文化这种东西,来不断半点的仿真。对于懂的人的话,它具备无可比拟的衡量标准。

d)        
从D3D9指针处Hook D3D9->CreateDevice函数,以拿到指向设备的指针Device。

在及时的中原市场,腾讯、阿里的黑洞效应已经见怪不怪,头部流量的马太效应也早已经成为市场走向的大趋势。但对于一个行业来讲,头部种子唯有能够秉持自身意见,不被基金的糖衣炮弹所俘虏,才能保证这些行当的良性发展。

4、 最后在外挂里,使用下面的代码注册Hook:

2.        
还有就是在游玩每一遍都会履行的函数上挂个钩子
,然则一般的Windows钩子都会被游戏禁用掉……而本文的法门是Hook
DirectX EndScene函数,即游戏在绘图截至后调用的函数,而且游戏会在一秒内不时调用这么些函数,简直就是把它当音信队列使!

这种措施,网上早就有全部的源代码,请在此下载(这么些代码跟本文讲解使用的代码是不同的,由此有趣味的爱人可以活动钻研上边的代码):

 

 

以此办法可以用在WOW
3.3.5.13930上,现在曾经特别了,有趣味的仇人可以协调搭一个3.3.5.13930的私服试试。据说有好多情势可以注入(DirectX
EndScene函数在d3d9.dll文件中):

3、 然后在IEntryPoint.Run函数里,注册你的Hook,上边是以CreateFile这么些系统API为例:

3、 使用IDA直接拿到EndScene的地点,并且在玩乐启动后,修改这么些地方的汇编码,使其先调用大家的函数,再由大家的函数将控制权交还给真实的EndScene程序。

34、    public uint EndScene(D3D9.IDirect3DDevice9 Device)
35、    {
36、    // 制止多线程访问
37、    lock (LuaInterface.dataLock)
38、    {
39、    // 先做我们友好的作业,然后再将控制权转移给真正的EndScene函数

a)        
先Hook LoadLibrary以便在游戏加载d3d9.dll的时候;

 1、    public void Run(RemoteHooking.IContext InContext, String InChannelName)

16、    public D3D9.IDirect3D9* NativeIDirect3D9 
17、    { 
18、    get; private set; 
19、    }

1、 static void Main(string[] args)
2、 {
3、     Config.Register(
4、     “A FileMon like demo application.”,
5、     “FileMon.exe”,
6、     “FileMonInject.dll”);
7、 
8、     RemoteHooking.IpcCreateServer<FileMonInterface>(
9、         ref ChannelName, WellKnownObjectMode.SingleCall);
10、 
11、    RemoteHooking.Inject(
12、        Int32.Parse(args[0]),
13、        “FileMonInject.dll”,
14、        “FileMonInject.dll”,
15、        ChannelName);

眼前的稿子**[给网游写一个挂吧 ** 起步外挂上](http://www.cnblogs.com/killmyday/archive/2012/06/16/2551975.html)****介绍了输入法注入的方法,本文解释第二种方法。

6、 或者就是运用SetWindowsHookEx
API安装一个系列级其它Hook,然后我们的外挂就会被加载进每一个进程!参考文档:http://www.woodmann.com/forum/archive/index.php/t-11023.htm

诸如在第37行 – 41行,就是在EndScene调用的时候,先做我们的工作,然后再把控制权交给真正的EndScene。而第26行,EndScene函数IDirect3DDevice9的第42个函数,因为在第3行,代码已经将IDirect3DDevice9接口(实际就是一个虚函数表)当成一个不乏先例的C/C++结构体处理 – 而且是32位机上的结构体(假使要补助64位改一下就可以了),而第6行代码,就是把这一个虚函数表当作一个普普通通的数组处理。但是据称在DirectX10里曾经把EndScene去掉了……

在第5行里,那个DCreateFile就是CreateFile在C#中的委托表现情势,因为是经过函数指针的章程执行的,因而会阐明成一个信托。

24、    private void OverrideFunctions()
25、    {
26、    OriginalEndScene = NativeIDirect3DDevice9->VFTable[0][42];

 

42、    } 

http://www.codeproject.com/Articles/27637/EasyHook-The-reinvention-of-Windows-API-hooking 

而EasyHook的应用方法和详细原理,请参见文档:

 

有些游戏限制相比多,可能会将输入法注入也禁用掉……这些时候就需要另想艺术了。其实我们的目标很简单,就是要让不亮堂我们挂存在的娱乐,在某个时刻将挂作为游戏的一个零部件加载进来。输入法注入是操作系统强制塞给游戏的,当然游戏有权利挑选不要。那么大家得以用暴力解决,强制游戏加载外挂:

27、    RealEndScene =
28、    (DelegateEndScene)Marshal.GetDelegateForFunctionPointer(
29、    OriginalEndScene, typeof (DelegateEndScene));

32、    NativeIDirect3DDevice9->VFTable[0][42] = PointerToMyEndScene;
33、    }

1、 在玩耍文件夹里放一个d3d9.dll,因为Windows是先物色游戏的劳作目录再找找system32文本夹的,所以会加载到自定义的d3d9.dll。

https://github.com/spazzarama/Direct3DHook

1、    public unsafe class D3D9
2、    {
3、        [StructLayout(LayoutKind.Sequential, Pack = 4)]
4、        public struct IDirect3DDevice9
5、        {
6、            public IntPtr** VFTable;
7、        }
8、    }
9、    public IDirect3DDevice9(D3D9.IDirect3D9* InNativeIDirect3D9, 
10、    D3D9.IDirect3DDevice9* InNativeIDirect3DDevice9)
11、    {
12、    NativeIDirect3D9 = InNativeIDirect3D9;
13、    NativeIDirect3DDevice9 = InNativeIDirect3DDevice9;

e)        
再从Device指针处Hook Device->EndScene函数。

未完待续…… 

40、    return RealEndScene(Device);
41、    }

WOW – 应用DirectX
EndScene注入技术

发表评论

电子邮件地址不会被公开。 必填项已用*标注