真正的大牛帮捋顺头绪(有过WG制作经历的)
1.想做一款WG,可是OD看不懂,花了一些时间学习X86的汇编,大概看完了11章,后面的也学了一下,可是后头看OD还是一点思绪都没有,找不到程序的入口,摸不着游戏对应的模块或者说内存地址,打算继续学WIN32汇编,可是感觉好多内容..2.编程方面有过一点基础,语言现在不是障碍.问题:
我想说的是,做一个WG,我应该从哪里开始学起,着重学那些知识,请大牛帮我捋顺这个路线,我会扎实的掌握这些内容,现在迫切的需要捋顺头绪,没日没夜的学蒙了.......
本帖最后由 メ㊣逆ご帅☆ 于 2012-12-21 22:58 编辑
我虽然不是大牛,但也混了一些时间
说说吧
首先你说你OD看不懂,可能你对逆向和反汇编有误区
不是说懂汇编甚至精通汇编就能轻松看OD代码,要知道OD反汇编出来的是
完整一一对应机器码的,包括栈平衡,再加上编译器优化,使得分析很复杂
所以还原需要时间,而且还原不出一样的源代码(但实现功能相同)
再者,WIN32汇编编程如果坚持下去是有助于反汇编的哦
但是尽量少用WIN32汇编特有的伪指令,例如PROC INVOKE IF ELSE USES等
如果用了其实跟高级语言没多大难度差别了
针对你说的游戏找不到对应模块,其实游戏数据缺少的是思路
举个例子
例如某本地验证游戏,我们用CE通过界面显示的血值,找到对应的地址
然后就可以找到对应的汇编代码虚拟地址RVA
然后OD附加直接跳转到相应地址开始分析即可,一般找基址就是向上回溯Ctrl+F9找多级偏移,就像 [[基址]+偏移1]+偏移2] 如:[+10] 这样的向上回溯找对应参数的来源可以找到
再者游戏有一些加密,那我们有一个思路一般血值会先加密然后再写入一个地址进行存储
那我们就可以找到存储地址,下写入断点,想上回溯,注意观察便可以找到加密算法子程序,然后进一步分析就可以
其实我觉得我讲的很烂,没办法篇幅有限。。%>_<%
OK,下面是路线
我这里按0基础的来讲,你自己选择从哪里开始好了
首先把小甲鱼老师C看完(一定配合实践做题)
然后8086汇编看完(这个多做实验一定要巩固)
接着WIN32汇编(最前面的如果不理解可以先学语法之类,后回过头看,GDI部分可先跳过,以后要用再看)
记住学习WIN32汇编到中期时去看看看雪《加密与解密》第三版,看看里面的序列号算法还原的那章,其他的先别看
WIN32汇编学习过程中记得自己在学习几课感觉差不多可以汇集一个作品的时候
自己给自己布置作业去完成一个作品,例如:简单的音乐播放器,还有恶意小程序等等(有点小成就感比较有动力)
看完WIN32汇编,尝试自己写款简单的内存操作WG,用ReadProcessMemory和WriteProcessMemory来写比较简单(有困难百度,例如找数据,记住宁可花几天时间也不要跳过)
之后做个注入式的WG,然后暂时放下WIN32汇编(语言只是工具,WIN32汇编不代表逆向)
接着去看C++
看完去看郁金香的那套C++的(如果CE附加QQGAME大厅非法可以用XT干掉那三个SX线程,具体百度),里面郁金香老师写的的例子你爱用C++用C++写,爱用ASM用ASM写。
接着去看郁金香过驱动保护
然后手动实践去搞TP,记得百度资料,因为TP最近更新比较不好搞
OK,现在如果你想成为大牛,赚N多的钱,研究逆CRC算法(这个还好)
还有还原VMP(这个很难,还原和脱壳不同,双层VM更是恶心)
其实到这里你自己就有方向
不用我说了
真心希望对你有帮助,加油↖(^ω^)↗
忠告:不管怎么样都不能装13哦,我之前有装13过,现在很后悔,有些事情到后面你会觉得自己很幼稚
还有只有谦虚的人才会受人尊重
必懂........ 做WG,汇编只需要基础知识就可以了。由于做WG有点敏感,所以是没有正规的教学的。
你可以找一款简单的游戏,按着别人的教程,找下CALL,人物参数这些(CE)。
如果你让自己完全看得懂OD上的反汇编代码,再做WG,那是不可能的。
1、做WG,汇编只需要基础知识。
2、按着WG教程里的调试下游戏,主要是熟练OD的使用,熟悉游戏在反汇编下的结构。
3、尝试学习下怎么调试有保护的游戏。
4、别只想,真正去动手做,你会碰到很多问题。这样思想才会进步。 本帖最后由 茗中茗 于 2012-12-21 20:09 编辑
做WG,当然要会一门编程语言,汇编和反汇要懂一点,然后就是利用一门编程语言来模仿你在游戏里鼠标和键盘的动作,这是最基本的,再深入就是做内存挂,找基址,找游戏的CALL这样可以做出变态的怪,当然要是想在WG里挣钱的,还得学会如何防破解技术,如果不想出师的话一般是一两个月就可以做出马马虎虎的WG了!首先第一点先学会编程语言,如果没有编程语言,连如何读游戏的进程都不懂怎么谈得上去做WG,要是只是为了普通的WG,你就学易语言就可以了,简单方便,百度大把教程,要是想D在WG里发展的话,我觉的学好C语言,或VC++那样做起WG来才得心应手!至于选择走哪条路那要看你的选择了! メ㊣逆ご帅☆ 发表于 2012-12-21 22:25 static/image/common/back.gif
我虽然不是大牛,但也混了一些时间
说说吧
首先你说你OD看不懂,可能你对逆向和反汇编有误区
这位老师,真心的感谢您!我还有几个问题想请教您:
1.我用入门级别那个叫TC简单语言做过模拟键盘鼠标的脚本,大概做了2,3个月,这是我第一次接触编程
2.后来去了培训机构学习C#和JAVA,用C#做过一些小东西,我收集了一些在C#下调用WIN32API的资料,打算用C#做,不太想转C++,毕竟时间和精力有限,像您说的语言只是个工具,同样现在看C也知道怎么回事,是不是说我可以跳过这两步了?
3.那我现在的学习流程是不是就是:8086汇编(扎实掌握)--win32汇编(中间看雪<加密解密序列还原那章>)--学win32过程开始学习OD?
请老师指点,我能坚持,不怕苦,现在年龄不小了,想把时间和精力用在刀刃上,赶紧学点东西 慈悲狼性.EXE 发表于 2012-12-21 11:50 static/image/common/back.gif
做WG,汇编只需要基础知识就可以了。由于做WG有点敏感,所以是没有正规的教学的。
你可以找一款简单的游戏 ...
谢谢老师的指点,虽然看不懂,我会尝试去努力看懂 跑プ无止 发表于 2012-12-22 01:54 static/image/common/back.gif
这位老师,真心的感谢您!我还有几个问题想请教您:
1.我用入门级别那个叫TC简单语言做过模拟键盘鼠标的脚本 ...
c#是可以,但我不知道和C++是否差别比较大(听说封装比较多),C++资料比较多,可以少做弯路
看雪加密解密那个注册机那章主要就是让你对分析有个入门,那张你看懂了(当然不要只看,注册机还是得写的),你也就对分析游戏有个概念
有个方向了
还有你的那个流程应该是可以的,不过我不知道会不会有弯路,因为我自己就是偶尔学学或者一段时间认真学
具体我怎么学的我有点记不清了,怎么说了,8086后还是看下C语言再看WIN32汇编比较容易(因为C语言可了解一些概念,比如子程序,函数入口,指针[说实在学完8086这个简直是小CASE]等等能较好对WINDOWS平台编程有个概念) 跑プ无止 发表于 2012-12-22 01:54 static/image/common/back.gif
这位老师,真心的感谢您!我还有几个问题想请教您:
1.我用入门级别那个叫TC简单语言做过模拟键盘鼠标的脚本 ...
TC出4.0版之后我就没去过了。 做内存挂容易封,还是调用大漠做图色挂吧。 メ㊣逆ご帅☆ 发表于 2012-12-20 16:19 static/image/common/back.gif
我虽然不是大牛,但也混了一些时间
说说吧
首先你说你OD看不懂,可能你对逆向和反汇编有误区
写得很好很中肯,希望一起交流噢!552488214 写的很好,学习了 我只是路过打酱油的。 我有一些教程可能你会用到!加我qq 630307054 真是难得给力的帖子啊。 强烈支持楼主ing…… 楼主加油,鱼C加油!我们都看好你哦! 强烈支持楼主ing……
此帖一定要回复,学习
页:
[1]