序言

  • 序言
  • 0x0 修改金币
  • 0x1 修改电力
  • 0x2 瞬间建造
  • 0x3 随处建造
  • 0x4 超级武器无CD
  • 0x5 地图全开
  • 0x6 获得一次超级武器使用权
  • 0x7 选中单位无敌
  • 0x8 载具无限容量
  • 0x9 选中单位升三星
  • 0xa 清除选定的建筑里的人
  • 0xb 自动修理
  • 控制选中的单位
  • 科技全开
  • 附录
  • 参考文献

红警2是个非常经典的游戏,承载过我小学时候的一段岁月,而我对他的探究是从初中才开始的,那时只会改改显而易见的游戏数据,比如金钱和电力。也是限于当时没有学C/C++、Assembly,没有指针的概念和反汇编的能力。时隔多年,到了上个寒假才开始深入探究,而学务繁忙,断断续续实现了几个功能就开学了,现完成了上个假期留下的红警2游戏辅助探究&制作。

0x0 修改金币

【思路】:

CE扫描初始化的金币,然后花一些金币,再扫描此时的金币。重复几次最后得到一个地址,然后查看是谁访问了这个地址,得到的代码中有个偏移为0x30c,后面跟着的是基址的值,搜索这个值就得到了基址。

【地址】:金币=[[0A83D4C]+30C]

【注意】:0A83D4C 是个很重要的角色基址,与后面实现控制对方有关。

0x1 修改电力

【思路】:主要是修改负载。和修改金币类似的思路,略

【地址】:

将
00508D16  |.  03D0          |add edx,eax
改为
00508D16  |.  03D0          |add edx,0

【注意】:可能要判断来源是否为我方,否则就是全局修改了!

0x2 瞬间建造

【思路】:将游戏速度调为最慢,然后生产一个单位。每走动一格,CE扫描增加的值;暂停生产,CE扫描未变动的值,如此反复扫描。注意这个过程必须在生产中进行,不要等到生产完毕还没找到,否则地址又被重置了。得到一个比较靠谱的地址

查看是谁访问了这个地址,回到游戏,继续未完成的生产。得到若干个可以的代码:

主要看红色方框的地方,然后OD附加游戏进程,跟随到地址004C9B49

动态分析得知,将add edx,ecx改为add edx,0x36即可,不够优雅的是改了全局的,电脑也可以瞬间建造,无所谓了,电脑综合速度本来就比人快。

【地址】:

将
004C9B7E      03D1          add edx,ecx
修改为:
004C9B7E      03D1          add edx,36

【注意】:极有可能是全局修改,但是无所谓,电脑的速度总是比人快!

0x3 随处建造

【思路】:

在不可以建造的地方,游戏会播放语音,搜索对应的字符串,跟随跳转:

动态分析这两个跳转就知道跳过去就是不能建,所以nop掉就能随处建造了。

【地址】:

nop以下两处:
004ABAAC     /0F84 C4010000 je 尤里单机.004ABC76
004ABABA     /0F84 B6010000 je 尤里单机.004ABC76

0x4 超级武器无CD

【思路】:

当超级武器CD结束时,会播放一段声音告知玩家是哪一个超级武器准备完毕。现在就拿闪电风暴来入手吧。搜索对应的字符串“LightningStormReady”,将找到的所有地方都下断。回到游戏,等待断下。

顺着跳转往上找的过程中得知这是一个switch结构

根据eax的值来跳转的,再往上找到

发现这处跳转在超级武器CD没有到0时是不会发生跳转的,果断改为jmp后实现了超武无CD,但是不够完美就是游戏中显示超级武器的CD还是没有变化到0,无所谓啦~

【地址】:

将
006CBD67     /7D 0A         jge short gamemd.006CBD73
改为
006CBD67     /7D 0A         jmp short gamemd.006CBD73

0x5 地图全开

【思路】:

1.已知在捡箱子的时候会随机得到一地图全开,可以从这里下手。

2.搜索字符串 “Crate at”,找到包含“reveal”的字符串,定位到:

①处的call是空函数,通过动态试验得知②处的call即是清除地图上的黑雾的函数。不难分析这个call的参数,其中esi存放的是基址里的值。仅是这个call还不能打开小地图,这样的地图全开不完美。

当我们建造雷达或者空军指挥部的时候,小地图会打开。假设,未打开前是0,打开后是1。现在用CE搜索字节,建了又售出,搜0再搜1。交替了5次,还有几十个地址。此时,把空军指挥部的售出,建一个雷达,再搜1。最后得到两个地址

首先试了第一个地址,查看是谁访问了它,接着后续用OD来操作,追了好久没有得到关键地址。后来换了第二个地址,也就是0B77864 这个地址

然后用OD跟进,来到此处:

看到这处,很高兴的就用代码注入器试了,结果奔溃!!!看来得进入到call 00656BE0 里去看看

通过动态分析,得到一个完美的地图全开代码。

【代码】:

nop掉以下指令
00656BE9     /75 5D         jnz short gamemd.00656C48
注入以下代码:
pushad
mov dword ptr ds:[0xBAD3E8],1
mov esi,0087F7E8
mov dword ptr ds:[esi+0x14AC],0x3
mov ecx,00a83d4c
mov edx,dword ptr ds:[ecx+0x21C]
mov ecx,0087F7E8
push edx
call 00577d90
popad
ret

0x6 获得一次超级武器使用权

【思路】:

1.同地图全开一样的分析思路,在此之前要先实现捡箱子都捡到核弹(ICBM)。捡箱子触发器函数中会随机产生一个数字,然后根据这个数字,进入到switch结构里,随机走一个分支。所以要先把switch结构的跳转都改跳到获得核弹这个分支。获得核弹的分支如下:

switch头部:

第一个call跟进去就是一个返回,没什么用;第二个call是获取eax的值,而这个eax的值后面会用到,很关键。现在我们去捡一个箱子触发这个函数,然后往下分析

2.跟进 call 006CB560 ,步入到倒数第一个 call的时候,我们发现许多诸如此类的字眼

结合前面探究的超级武器无CD,改的就是这里边的代码,只不过是另一个call,与这个call结构相似,所以两个都是超级武器CD函数。

3.单步到返回,接着往下继续,来到关键的call

动态调试可知,这个call就是根据传进来的数据作为武器的类型,添加到相应的页面中。可知0x1f 表示的是武器,添加到武器页面;0x7 表示建筑,添加到建筑页面;0xf 表示步兵,添加到步兵页面;0x28 表示车辆,添加到车辆页面。而传进来的另一个参数则是对应的建筑标识,或是武器标识,或是步兵标识,或是车辆标识。这里已经是为后面实现科技全开做了铺垫。那么回溯到外部调用是这样的,在关键的地方都做了注释:

可以知道 eax里就是对应的标识,0x1f 表示的是类型。那么获得一次超级武器使用权的代码就可以归纳出来了。

【代码】:

pushad
mov ecx,0x14
call 006CEEB0
mov ebx,eax
mov eax,超级武器编号
mov edx,dword ptr ds:[00a83d4c]
mov ecx,dword ptr ss:[edx+0x258]
push 0x0
push 0x0
mov ecx,dword ptr ds:[ecx+eax*4]
push 0x1
call 006CB560
mov eax,超级武器编号
mov ecx,0087F7E8
push eax
push 0x1F
call 006A6300
popad
ret

【注意】:超级武器编号详见附录

0x7 选中单位无敌

【思路】:

常规搜索一个选中目标的血值基址,然后加上一定的偏移。发现存在一级偏移则是根据选中的人数*4,二级偏移为 +6C

【地址】:

使用timer写
选中对象的血量=[[[0A8ECBC]+EAX*4]+6C]
EAX=选中单位的数量=[A8ECC8]
写入65536,T=20s

0x8 载具无限容量

【思路】:

先用CE搜索0,依次进入一个人,用CE搜索加一个,最后得到一个地址。CE查看是谁访问了这个地址。

而方框中的地址就是当前选中的目标的地址

【注意】:修改后会导致人出不来,只能恢复修改才可以让人出来。

【地址】:

当前选中目标的容量=[[[0A8ECBC]]+0x114]

【注意】:

锁定为0就可以实现无限容量,并且载具的威力也可以叠加,但是就不能把人放出来了。得处理一下,方式很多看个人吧。

0x9 选中单位升三星

【思路】:

按照编程经验——等级和血量都是在同个类中,所以基址不变,变得是偏移。用CE的数据分析工具枚举一个0x500范围内的数据,然后对比一下,升级前和升级后,每个偏移的数据变动情况。最后发现在偏移为0x150指向的就是等级的地址。三星对应的数值的十六进制为0x40000000

【地址】:

选中对象的等级=[[[0A8ECBC]+EAX*4]+0x150]
EAX=选中单位的数量=[0A8ECC8]

0xa 清除选定的建筑里的人

【思路】:和载具无上限的思路一致

【地址】:

选中建筑的已经进驻人数=[[[0A8ECBC]]+0x694]
改为0即可在不破坏建筑的情况下清除里边的人,然后可以进驻新的人!

0xb 自动修理

【思路】:

当我们修理一个建筑的时候,游戏会播放 “repairing“ 声音,于是可以从OD中搜索到关键字符串”EVA_repairing“,定位到关键函数,然后动态分析:

不难分析这两个call的功能。其中第一个call可以用我们自己得到的基址计算一下,传给esi调用第二个call就行了。

【代码】:

pushad
mov esi,建筑地址
mov eax,dword ptr ds:[esi]
push -0x1
mov ecx,esi
call dword ptr ds:[eax+0x19C]
popad
ret

【注意】:

建筑地址只能读取到当前选择的建筑,所以事先要先缓存选择过的地址。

当前选中建筑的地址=[[0A8ECBC]]

控制选中的单位

【思路】:

尤里能够控制敌人,防御塔能够分辨上是敌是友,说明每个单位的类中有这么一个属性是用来起分辨作用的。在前面的探究中已经得到了选中单位的基址0A8ECBC和我方的基址0A83D4C,只要找到它的偏移就ok了。

使用CE的数据分析工具,枚举0x500范围内的数据,然后搜索哪个位置的数据与 [0A83D4C] 一致

有两处,此时需要验证一下:选中敌方的一个单位,把这个位置的值修改为**[0A83D4C],发现0x21c** 有效。

【地址】:

将选中单位的归属改为[0A83D4C]即可实现控制
选中单位的归属=[[[0A8ECBC]+EAX*4]+0x21C]

【注意】:最好别控制对方的主基地,否则不能赢得胜利!

科技全开

【思路】:

在获得一次超级武器的使用权一节中做了铺垫,所以这里很快就能归纳出代码。

【代码】:

;添加建造选项
pushad
push 标识
push 类型
mov ecx,0087F7E8
call 006A6300
popad
ret
将
004F9276     /0F84 86000000 je gamemd.004F9302
改为jmp

【补充】:需要使用循环来写,标识参见附录中的建筑代码,类型参见附录。

附录

【超级武器编号】:

0=核弹
1=铁幕
2=闪电风暴
3=超时空传送
4=超时空动员
7=心灵控制
9=基因突变器
10=力场护盾
11=心灵控制探测

【类型】:

0x7=建筑
0xf=步兵
0x28=车辆
0x1f=武器

【建筑选项编号】:

0=GAPOWR;盟军发电厂
1=GAREFN ;盟军矿厂
2=GAPILE ;盟军兵营
3=GAWEAP ;盟军兵工厂
4=GAAIRC ;盟军空军指挥部
5=AMRADR ;美国空军指挥部--AmericanParaDropSpecial
6=GADEPT ;盟军维修厂
7=GAYARD ;盟军船厂
8=GATECH ;盟军实验室
9=GAROBO; 控制中心 ---
10=GAOREP; 矿石精鍊器
11=GAWALL; 盟军围墙
12=GAPILL; 机枪碉堡---Vulcan2
13=NASAM ;爱国者飞弹 --RedEye2
14=GAGAP ;裂缝产生器
15=ATESLA ;光棱塔----PrismShot / PrismSupport
16=GASPYSAT; 间谍卫星
17=GACNST ;盟军建造场
18=GTGCAN ;法国巨炮  GrandCannonWeapon
19=GACSPH ;超时空传送仪 --- ChronoSphereSpecial
20=GAWEAT ;天气控制器 --- LightningStormSpecial
21=GASAND ;沙袋
22=GAGATE_A; 闸门
23=;===苏军======;
24=NAPOWR; 磁能反应炉
25=NAREFN ;苏军矿厂
26=NAHAND; 苏军兵营
27=NAWEAP; 苏军兵工厂
28=NARADR ;苏军雷达 --- SpyPlaneSpecial
29=NADEPT ;苏军维修厂
30=NAYARD ;苏军造船厂
31=NATECH ;苏军实验室
32=NANRCT ;核子反应堆 --- NukePayload
33=NAINDP ;工业工厂
34=NAWALL ;苏军围墙
35=NABNKR ;战斗碉堡
36=NALASR ;哨戒炮--Vulcan
37=NAFLAK ;防空炮--FlakWeapon
38=TESLA ;磁暴线圈 -- CoilBolt / OPCoilBolt
39=NACNST ;苏军建造厂
40=NAIRON ;铁幕 --- IronCurtainSpecial
41=NAMISL ;核弹发射井 -- NukeSpecial
42=NAPSYB ;心灵信标
43=;===尤里======;
44=YAPOWR ;生化反应炉
45=YAREFN ;奴隶矿厂
46=YABRCK ;尤里兵营
47=YAWEAP ;尤里兵工厂
48=NAPSIS ;心灵感应器 --- PsychicRevealSpecial
49=YAYARD ;尤里船厂
50=YAGRND ;部队回收厂
51=YATECH ;尤里实验室
52=GAFWLL ;尤里围墙
53=NATBNK ;坦克碉堡
54=YAGGUN ;盖特机炮
55=YAPSYT ;心灵控制塔----MultipleMindControlTower
56=NACLON ;复制中心
57=YAGNTC ;基因突变器 --- GeneticConverterSpecial
58=YAPPET ;心灵控制器 --- PsychicDominatorSpecial
59=YACNST ;尤里建造场
60=YAROCK ;不明建筑物
61=YACOMD ;尤里指挥中心
62=;===平======;
63=GASAND;沙墙
64=CAAIRP;科技机场---ParaDropSpecial
65=CAOILD;=科技钻油厂
66=CAPARS01;=艾菲尔铁塔
67=CAEAST02;=尤里雕像----PrismShot
68=CATRAN03;=尤里要塞
69=CAEAST01;=复活岛石像
[步兵类代码]
0=E1;美国大兵
1=E2;苏联动员兵
2=SHK;磁爆步兵
3=ENGINEER;盟军工程师
4=JUMPJET;火箭飞行兵
5=GHOST;海豹部队
6=YURI;尤里
7=IVAN;疯狂伊万
8=DESO;生化步兵
9=DOG;苏联军犬
10=CIV1;平民1
11=CIV2;平民2
12=CIV3;平民3
13=CTECH;技师
14=WEEDGUY;防IE挂载(没用)
15=CLEG;超时空兵团
16=SPY;间谍
17=CCOMAND;超时空突击队
18=PTROOP;伞兵
19=CIVAN;超时空伊万
20=YURIPR;尤里改
21=SNIPE;狙击手
22=COW;奶牛
23=ALL ;鳄鱼
24=TANY;谭雅
25=FLAKT;防空步兵
26=TERROR;恐怖分子
27=SENGINEER;苏联工程师
28=ADOG;盟军军犬
29=VLADIMIR;VLADIMIR
30=PENTGEN;PENTGEN
31=PRES;总统
32=SSRV;终级保镖
33=CIVA;德克萨斯平民A
34=CIVB;德克萨斯平民B
35=CIVC;德克萨斯平民C
36=CIVBBP;棒员运动员
37=CIVBFM;海滩肥男
38=CIVBF;海滩女
39=CIVBTM;海滩瘦男
40=CIVSFM;雪中肥男
41=CIVSF;雪中肥女
42=CIVSTM;雪中瘦男
43=POLARB;北极熊
44=JOSH;猴子
45=YENGINEER;尤里工程师
46=GGI;重装大兵
47=INIT;尤里新兵
48=BORIS;鲍裏斯
49=BRUTE;狂兽人
50=VIRUS;病毒狙击手
51=CLNT;快枪手
52=ARND;终结者
53=STLN;蓝波
54=CAML;骆驼
55=EINS;爱因斯坦
56=MUMY;木乃伊
57=RMNV;洛马诺夫总理
58=LUNR;登月火箭兵
59=DNOA;暴龙
60=DNOB;暴龙
61=SLAV;奴隶矿工
62=WWLF;(木乃伊)
63=YDOG;尤里军犬
64=YADOG;尤里军犬
65=CIVFM;海滩肥女
[战车类代码]
0=AMCV;盟军移动基地车
1=HARV;尤里奴隶采矿车
2=APOC;天启坦克
3=HTNK;犀牛坦克
4=SAPC;装甲运输船
5=CAR;汽车
6=BUS;校车
7=WINI;wini
8=PICK;小货车
9=MTNK;灰熊坦克
10=HORV;武装采矿车
11=TRUCKA;货车A
12=TRUCKB;货车B
13=CARRIER;航空母舰
14=V3;V3火箭车
15=ZEP;基洛夫空艇
16=DRON;恐怖机器人
17=HTK;防空履带车
18=DEST;驱逐舰
19=SUB;飓风级战舰
20=AEGIS;宙斯盾战舰
21=LCRF;盟军运输船
22=DRED;无畏级战舰
23=SHAD;夜鹰直升机
24=SQD;乌贼
25=DLPH;海豚
26=SMCV;苏联移动机基车
27=TNKD;坦克杀手
28=HOWI;榴弹炮
29=TTNK;磁爆坦克
30=LTNK;轻坦克
31=CMON;超时空采矿车(不回)
32=CMIN;超时空采矿车
33=SREF;光棱坦克
34=XCOMET;位置标定器
35=HYD;海蝎
36=MGTK;幻影坦克
37=FV;多功能步兵车
38=VLAD;维拉迪摩指挥舰
39=DTRUCK;自爆卡车
40=PROPA;宣传车
41=CONA;挖掘机
42=COP;cop
43=EUROC;欧洲汽车
44=LIMO;豪华轿车
45=STANG;小轿车
46=SUVB;小汽车A
47=SUVW;小汽车B
48=TAXI;出租车
49=PTRUCK;货车C
50=CRUISE;巡游船
51=TUG;拖船
52=CDEST;海岸巡逻船
53=YHVR;尤里气垫船
54=PCV;尤里机动基地车
55=SMIN;尤里奴隶矿厂
56=SMON;超时空采矿车
57=YCAB;黄色计程车
58=YTNK;盖特炮坦克
59=BFRT;战斗要塞
60=TELE;磁电坦克
61=CAOS;神经突袭车
62=DDBX;巴士
63=BCAB;黑色计程车
64=BSUB;雷鸣潜艇
65=SCHP;武装直升机
66=JEEP;卡车
67=MIND;精神控制车
68=DISK;镭射幽浮
69=UTNK;激光坦克
70=ROBO;遥控坦克
71=SCHD;武装直升机
72=DOLY;摄影车
73=CBLC;电车
74=FTRK;救火车
75=AMBU;救护车
76=CIVP;民航机
77=V3V3;V3火箭车
78=TURCKB;货车B
[飞机类代码]
0=APACHE;阿帕奇
1=ORCA;入侵者战机
2=HORNET;大黄蜂
3=V3ROCKET;V3火箭
4=ASW;舰载反潜机
5=DMISL;无畏级导弹
6=PDPLANE;运输机
7=BEAG;黑鹰战机
8=BPLN;米格战机(鲍里斯的飞机)
9=SPYP;侦察机
10=CMISL;雷鸣导弹

参考文献

[1]https://www.cnblogs.com/viewll/

[2]https://space.bilibili.com/251535501

Ra2辅助制作(1)相关推荐

  1. 手游辅助制作原理和学习思路

    手游辅助制作原理和学习思路 随着网络游戏不断发展 越来越多的人从事手游开发,现在的游戏公司为了能更好的有市场,不断提高游戏质量和服务,手游辅助由此诞生. 很多人都想做手游辅助,其中的原理大家都知道. ...

  2. 我的世界红石音乐高级教程 python辅助制作工具

    我的世界红石音乐高级教程 python辅助制作工具 https://www.bilibili.com/video/av52803181/ QQ群:374821554 游戏资源下载(材质.MOD等)提取 ...

  3. 【干货】超强整理19个辅助制作H5的工具/网站

    本期分享从文案策划到交互设计共包含19个工具/网站,把控你的H5制作. 关于H5制作流程 笔者接触的H5制作辅助制作工作基本构成分为文案策划.设计交流学习.制图.视频编辑与剪辑.原型.H5动效/动画制 ...

  4. 2020-11-23(“花式扫雷” 辅助制作)

    地图寻找 因为扫雷每次地雷位置都是随机出现的,在IDA的导入表中找到rand函数,查一下交叉引用就可以发现只有sub_1003940这个函数中调用了它.再查sub_1003940的交叉引用可以发现只有 ...

  5. 追逐自己的梦想----------辅助制作第一课:人物属性分析

    第一课先说说自己的经历吧.还记得小时候的时候就很喜欢玩游戏,然后一直玩到20多岁了,也一直很喜欢深入的了解游戏,最近发现一个人学习起来没什么动力了,所有打算把自己的学习经历学出来和大家分享一下,我知道 ...

  6. 运用AI来辅助制作节目 英国BBC开始使用自家AI

    英国广播公司BBC也开始用AI来辅助节目制作!该公司旗下频道BBC 4,在去年就与自家研发部门密切合作,研究如何透过AI和机器学习技术,从BBC巨量节目档案库中找出合适该频道的影片,并自动剪辑.编辑成 ...

  7. 在Flash CS6中安装动画辅助制作插件DragonBones

    提示:本文后面提供的附件是我从网络上搜索到的一个相当不错的针对Flash CS 6.0的扩展插件,它是在原有的Dragonbone 2.0的基础上作了适当修改,以便导致更多类型的符合COCOS2D-X ...

  8. 人脸自收集数据集辅助制作工具——人脸姿态数据标注

    综述 我们在进行人脸属性识别深度学习算法研究过程中除了使用开源带标签的数据以外,都会根据具体使用场景与需求用到大量自收集的图像数据(开源/爬虫/自拍等),然这些数据一般是没有人脸对应属性标注标签的.而 ...

  9. [原创]QQ农场外挂辅助制作一点心得体会1

    心得体会就是-腾讯真变态. 如果是9月前,可能我辅助做好了,因为9月后腾讯改了个别操作的地址,偷菜的地址就改了,加了2个id-fid.tid,操作也有变化,网上很多说是要先check一下,但是我怎么看 ...

  10. 人脸自收集数据集辅助制作工具——人脸关键点数据标注

    综述 我们在进行人脸属性识别深度学习算法研究过程中除了使用开源带标签的数据以外,都会根据具体使用场景与需求用到大量自收集的图像数据(开源/爬虫/自拍等),然这些数据一般是没有人脸对应属性标注标签的.而 ...

最新文章

  1. RDTSC汇编指令详解
  2. docker 容器状态 restarting_20分钟极简入门Docker
  3. spring boot实现软删除
  4. Object-C 入门
  5. 深入了解DefaultMessageListenerContainer
  6. 如何用distinct消除重复记录的同时又能选取多个字段值?
  7. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)
  8. 学习ssm框架一般要用多少时间
  9. Asp.Net基于forms的验证机制,记录一下...
  10. 一个 C盘搬家 方式.Chrome搬家到D盘
  11. 社交网络影响力最大化——线性阈值模型(LT模型)算法实现(Python实现)
  12. 国科大学习资料--模式识别与机器学习(黄庆明)--2020期末考试题
  13. c++ 字母降落小游戏
  14. 微信有鸿蒙版的的吗,微信鸿蒙版本下载-微信鸿蒙版本下载最新官方版 v7.0.20-游人手游网...
  15. 六度分离(Six Degrees of Separation)理论
  16. CC00388.CloudKubernetes——|KuberNetesCI/CD.V26|——|Jenkins.v06|自动构建Java应用.v06|报错处理|
  17. 文本框导入图片并显示到页面上
  18. 【W5500】STM32 H743驱动W5500进行UDP收发
  19. 查看oracle版本及补丁,查看oracle版本和补丁
  20. 穴位按摩---自我保健---1

热门文章

  1. telnet直接登录POP3
  2. web前端优化一些看法
  3. https://www.bejson.com/devtools/properties2yaml/
  4. 工具类App原型制作分享-WizNote
  5. 数据中心规划设计参考-(文章以GB 50174为参考基准)
  6. IATF16949:2016汽车质量管理体系认证办理流程
  7. 有了这6款浏览器插件,浏览器居然“活了”?!媳妇儿直呼“大开眼界”
  8. 啊哈C语言 第四章 【代码】【习题答案】
  9. oracle sql练习_最方便的在线SQL学习环境——Oracle Live SQL
  10. Weblogic下载与安装