Old-Games 板


LINE

转录一篇骨灰级的文章,蓝风写的软体破解原理。 第1部分) 作者 : Alfred Li 1 本人以前对破解方面一无所知,而现在我已经破了一些的 game 了,实 感高兴!!但对无敌方面还是不太了解,希望能跟大家多学习,我之所以写这 一篇文章是希望玩电脑的同好们都能深入这一个破解的世界!!不管你现在 的功力如何?我都希望你能把它看完!!因为我只破了一点点的 game ,要是 你是这一方面的高手的话,相信你一定觉的这没有可看性,的确......如果 你是对这一方面都一直很好奇的话,而又不太了解,那你一定要看了. 我所 写的都是一些很简单的道理,只要你懂 pctools , debug , 和一些简单的 组合语言就可以了!! 我目前只是针对密码方面,而破了 : 大宇 超级桥牌 ┌─────────────┐ 软世 方程式机车赛 │ 一点点啦...请多多指教!! │ 欧风 信长之野望 │ │ XXXX  燃烧野球 II └─────────────┘ 虽然是一点点啦!!不过因为我从接触到破解,只有短短的两天而已, 所以颇有一些心得,我再说一次....我写这一篇文章是针对对这一方面有 兴趣而都不知道如何破的人所写的,要是你是高手的话,请不要看!!!不然 你会觉的都是一些简单的道理(对你来说!!)OK..... 好了,言归正传!!.....要想破一些密码的话呢?必须要有一点点组合 语言方面的常识,不然到时候你近去 debug 时,你会 某仔讶 哦!!不要来k 我耶!!所以我看还是去看一点点这一方面的书籍好了 ,我也会在本文中提 到的,以免有一些懒得动的人........嗯嗯...... □■ 软体需求: 1. 反组译和追踪软体: debug 或 symdeb 或更新版的. 2. 电脑工具: pctools 或能更改程式内容的软体. 3. 还要会组合语言,令人头疼的!! 令一方面还要拿一张纸和一只笔来做记录用的,以便看程式进行到那 里,这样一方面也可以很清处的看到程式的主要流程(密码部份)!!一方面 当机时也可以从这里就开始,以节省时间!! 好现在要进入最精彩的部份了........ ready!!ok....let`s go !! 我在下一篇文章会用实际的程式来作追踪,目前只用说的 ,因为那是你必 需要先知道的呀!!进入 debug 之後,你可以先随便载入一个 file ,必须 要是 .exe 或 .com 的. C>DEBUG -N D:\GAME\HB2\HB2CGA.EXE 先试试看!!如果你懂的话,那是很 -L Easy!! -A 3865:0012 3865:0012 _ N 是要准备载入的档名 L 是载入 -U A 是编组 80X86 程式 U 是反组译 3865:0012 E8EC16 CALL 1701 3865:0015 90 NOP 3865:0016 90 NOP 这是一个燃烧野球II 的一部份 3865:0017 0E PUSH CS 现在我就为这个来做说明: 3865:0018 1F POP DS 3865:0019 A30400 MOV [004],AX 3865:001C 03060C00 ADD AX,[000C] 3865:0020 8ECO MOV ES,AX │ │ │ │ └──────5.这是要让 ASM 做的事情!! │ │ │ └─────4.这一部份是 ASM 的指令!! │ │ └──────3.★★这是机器码.就是我们所要改的地方★★ │ └─────2.这是 IP 会随程式的指令而变. └────1.这是 CS ,你的可能会和我不一样... 现在对 DEBUG 有了一个认识了吧!!SYMBED 的用法和 DEBUG 是很相似的!! 我不多说了..... 4 是我们所要学的,指令有上百个,还有子命令呢!!所以我们只要记几个就 好了.... CALL 呼叫副程式 CMP 比较 JXXX 跳跃 ★★ 我们大部份都是要改这里的 把 JXXX 改成 JMP 或 NOP!! REPF 反回 CALL 够少了吧!!这样就可以破 GAME 了,只是你会很花时间,因为你最好好是要会一 些的指令啦...像 mov , int xx , 等等...会越多越好!! 我们所要破 game 是要用 debug 帮我们反组译,然後再用 pctools 来修改.然 而不是一下就会成功的,所以你必需要先把 .com .exe 备份以防毁掉!! 破 game 的过程通常是这样的,先找我上面所说的指令,然後 g <address>.... 看看它什麽时後会叫我们要输密码!!如果是话,通常很有可能就是这个 address 的问题了,只要把 jxxx 改成 JMP 无条件跳跃 或 NOP 无动做,它们的机器码是 EB 和 90 这是很重要很重要的啦...你不记的话..就没法度了!! 只要把它改成那样就 OK 了...现在我只是用说的而已...希望你能看的懂 ,如果不懂的话那下次我就准备要用实例来说明了....你可以写信给我........ ID : Alfred Li 高雄人啦.... 笔名: 蓝 风 相信有你的信给我鼓励我一定会很高兴!!在继续写下去.....到目前为只都 还没有什麽困难吧!!解久了就会了解它有一定的模式....还有如果有一些指令都 看的懂,那对你的程式的流程就会觉的很简单,对我们解密码都会有很大的帮助哦 !! 如果对 debug 还以不了解的话,那赶快写信给我吧.....会有什麽疑问的.. 都欢迎....交个朋友也可以! bye bye !! 下次见了....... ... 蓝 风 ... 第2部分) 作者 : Alfred Li 2 要破解 game 必需要有耐心,恒心,和毅力!!所以当你怎麽破也破 不了来的时後,那就表示你的功力还差一结,要跟我多学学啦......密 码表方面可分为两种. 1. 文字模示. 2. 绘图模示. 以前者比较好破(笔者觉的啦),而有的 game 还会两种都一起出来 ,真伤脑筋耶!!像 方程式机车赛,就是一个典型的例子!!而这次笔者决 定要以 方程式机车赛来作说明!!虽是很久以前的 game 了, 但 game 不在於新或旧,只要有密码的 game 都应该尝试看看!! 载入 gpcga.exe 我先要说明的一点是...我先会把要改的码先列出来给你们看!! 我有两个流程,第二个才是我们如何来正确的修改,而第一个只 是要让大家了解一下,对程式比较有帮助!! ┌────────────────────────────────┐ 502B:0012 E8C20A CALL 0AD7 ────> 程式一开始就跳到 0AD7 的位 │ 502B:0015 0000 ADD [BX+SI],AL 址上!! ┐ │ 502B:0017 0E PUSH CS ┌─────┘ │ 502B:0018 1F POP DS │ │ 502B:0019 A30400 MOV [0004],AX │ ★CALL 是呼叫副程式!! │ 502B:001C 03060C00 ADD AX,[000C] │ 所以它的 HEX 码是 E8 ───┘ 502B:0020 8EC0 MOV ES,AX │ 而遇到 RET 返回..... 502B:0022 8B0E0600 MOV CX,[0006] │ 将来如不须要出现叫我们 502B:0026 8BF9 MOV DI,CX │ 输入密的码的画面时,就要 502B:0028 4F DEC DI │ 把它给关掉!!像是 E8C20A 502B:0029 8BF7 MOV SI,DI │ 改成 909090 502B:002B FD STD │ HEX 的 90 是无做用的!! 502B:002C F3 REPZ │ 这样程式才会继续执行下一 502B:002D A4 MOVSB │ 行!! 502B:002E 8B160E00 MOV DX,[000E] │ .... │ .... │ .... │ .... │ .... │ 502B:0AD7 E8AD00 CALL 0B87 ┐ └─ 程式又跳到 0B87的位 502B:0ADA BA0008 MOV DX,0800 │ 址上去了!! 502B:0ADD B700 MOV BH,00 │ 所以我们先来看看此位址写些 502B:0ADF B402 MOV AH,02 │ 什麽呢? ┐ 502B:0AE1 CD10 INT 10 ├─┐ │ 502B:0AE3 E80600 CALL 0AEC ┘ │ │ 502B:0AE6 8CC0 MOV AX,ES │ │ 502B:0AE8 051000 ADD AX,0010 │ │ 502B:0AEB C3 RET └──────┼────────┐ 502B:0AEC B42C MOV AH,2C │ │ 502B:0AEE CD21 INT 21 │ │ 502B:0AF0 80E63F AND DH,3F │ │ 502B:0AF3 52 PUSH DX │ │ 502B:0AF4 8AC6 MOV AL,DH │ │ 502B:0AF6 D40A AAM │ │ 502B:0AF8 0D3030 OR AX,3030 │ │ 502B:0AFB BBC90B MOV BX,0BC9 │ │ 502B:0AFE 2E CS: │ │ 502B:0AFF 884701 MOV [BX+01],AL │ │ 502B:0B02 2E CS: │ │ 502B:0B03 8827 MOV [BX],AH │ │ 502B:0B05 1E PUSH DS │ │ 502B:0B06 0E PUSH CS │ │ 502B:0B07 1F POP DS <───────┘ 啊哈!! │ 502B:0B08 BAB50B MOV DX,0BB5 我们可以很清处的看到 │ 502B:0B0B B409 MOV AH,09 MOV AH,07 │ 502B:0B0D CD21 INT 21 INT 21 │ 502B:0B0F 1F POP DS CMP AL,0D │ 502B:0B10 BE0000 MOV SI,0000 JZ 0B13 │ 502B:0B13 B407 MOV AH,07 │ 502B:0B15 CD21 INT 21 这几项...所以我敢肯定这里 │ 502B:0B17 3C0D CMP AL,0D 一定要叫我们输入 PASSWORD │ 502B:0B19 74F8 JZ 0B13 !!所以只要我们能把当初带我 │ 502B:0B1B 2E CS: 们来的 CALL 给 kill !!就 │ 502B:0B1C 8884950B MOV [SI+0B95],AL ok了....但是有两个 call 耶!!─┘ 502B:0B20 B40E MOV AH,0E 到底那一个正确?如果你的 ASM 502B:0B22 CD10 INT 10 功力强一定可以看出...但是一 502B:0B24 46 INC SI 般人是不可能看出来的...所以 502B:0B25 83FE06 CMP SI,+06 只好试试两次了,先关掉一个看 502B:0B28 75E9 JNZ 0B13 看....看到底是那一个!! 502B:0B2A B80000 MOV AX,0000 (笔者在此告诉你是第 2 个) 502B:0B2D 2E CS: 502B:0B2E 0226950B ADD AH,[0B95] 502B:0B32 2E CS: .. .. .. .. 502B:0B5C D0E6 SHL DH,1 502B:0B5E B700 MOV BH,00 502B:0B60 8ADE MOV BL,DH 502B:0B62 2E CS: 502B:0B63 3987D00B CMP [BX+0BD0],AX 502B:0B67 741D JZ 0B86 ──────┐ 502B:0B69 E81B00 CALL 0B87 Here !! 502B:0B6C BA0000 MOV DX,0000 You Know !! 502B:0B6F B700 MOV BH,00 Ok !! 502B:0B71 B402 MOV AH,02 Good !! 502B:0B73 CD10 INT 10 Fine !! 502B:0B75 1E PUSH DS 502B:0B76 0E PUSH CS 502B:0B77 1F POP DS 502B:0B78 BAA00B MOV DX,0BA0 502B:0B7B B409 MOV AH,09 以上就是我们最主要的程式流程,以那个方法就可以破第一个密码了,可以 不要有那个画面出来了.当初笔者是改 502B:0B67 741D JZ 0B68 改成 EB1D JMP 0B68 ^^ HEX 码的 EB 是 JMP 无条件跳跃,背起来了吗? 所以它还是会叫我输入密码,但我连续三次都输 错的但确可以执行,所以这样也是另一种破解游 戏的方法!! 这样应该没有什麽问题了吧....只要用 debug 找到它的 hex 码, 在用 pctools 改...就可以了,只是不会每一次都让你碰到,我也是要试一 段时间才能试出来,所以 file 要备份...以防被毁.... 至於如何用 debug 和 pctools ,那可以写信问我....我会很乐意 答覆你的,我的 ID 是 Alfred Li ....一定可以找到我的!!那今天就到这 里结束了哦....第二个密码我目前还没找到破解的方法,所以第三集可能要 延後了.....如果你知道的话,欢迎你告诉我!!ok...相互研究..... ... 蓝 风 ... if 後记: pctools 现在可能已经找不到了,建议用 UltraEdit 蛮好用的... --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.251.166.142
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Old-Games/M.1493429207.A.6DC.html
1F:→ spark0409: 甘宁老师的组合语言QQ 04/29 10:15
这是基本的啦 :)
2F:推 k8543: pctools 还在我的电脑里,印象中以前只会拿它来看软碟坏轨 04/29 10:33
看坏轨?怎麽看?@@ ※ 编辑: if4 (111.251.166.142), 04/29/2017 10:43:12
3F:推 k8543: 真的忘了 都二三十年前了 不过档案还在电脑里 04/29 10:53
我是想说...您应该记错了吧?pctools 我是拿来改破解的 或是拿来改游戏存档的资料...什麽钱啊、粮啊...之类的 :) ※ 编辑: if4 (111.251.166.142), 04/29/2017 11:43:12
4F:推 k8543: 修改我是有用过几次,印象中可以看软碟咧,先按M再按B之类的 04/29 12:28
5F:→ k8543: 工厂还有机台是跑dos+软碟的,不过懒的过去试了 04/29 12:29
6F:→ k8543: 不晓得,真的忘了,但看看tools目录里,应该没有别的软体是了 04/29 12:31
可惜...我现在也不能试了...我根本没软碟机QQ 想说软碟以後会被淘汰,率先拆除,其实,现在的工业标准 应该不能装软碟机的硬体吧?软碟容量太小了,现在USB碟容量 蛮大的,携带又方便... ※ 编辑: if4 (111.251.166.142), 04/29/2017 13:00:34
7F:推 Jedidiah: PCTools也是时代的泪眼啊XD也因为玩修改而踏进软体这行 04/29 13:41
8F:→ Jedidiah: 电脑桌上摆了一堆纸,上面都是满满的短除法 (算16进位) 04/29 13:42
满满的短除法?那是什麽?@@
9F:推 DrizztMon: 现在比较想研究解包apk XD 04/29 13:56
解包apk?那是什麽?@@ 唉...我懂得真少啊QQ ※ 编辑: if4 (111.251.166.142), 04/29/2017 14:15:35
10F:推 snowwolf725: apk 是 Android 手机软体的档案格式,要修改要先会解 04/29 14:21
原来如此,谢谢告知^^ 那好像就是某种格式的压缩档吧?@@ ※ 编辑: if4 (111.251.166.142), 04/29/2017 14:41:03
11F:推 PTJobKing: 现在都用WinCV 原理是一样的 功能也很方便XD 04/29 16:26
WinCV 好像以前有用过,但是不确定可以修改二(16)进位数值?
12F:→ bnn: APK反编译工具很多啊,dex2jar,jd-gui,ILSpy (.NET),... 04/29 16:45
谢谢提供资料,bnn大一定是程式设计高手,我都没听说过^^" ※ 编辑: if4 (111.251.166.142), 04/29/2017 17:21:58
13F:推 h1236660: 我挺想知道地图怎麽抓出来,比如轩辕剑二 04/29 21:12
我也想知道,有没有大大会?能教一下吗?^^ ※ 编辑: if4 (111.251.166.142), 04/29/2017 21:17:40
14F:推 playerlin: 现在在Windows下我是用WinHex(这套要$,所以...)。 04/29 23:19
15F:→ playerlin: 不知道短除法?上课都没在专心喔...而且为何不拜一下 04/29 23:21
16F:→ playerlin: google大神呢 :P :P :P 04/29 23:21
我刚刚找到一个影片 https://youtu.be/fX6YC-r2MIw
我以前没学过,可能我比较老吧,课纲没列XD 不过我会~~也许是那时候不叫做〔短除法〕吧 :p WinHex 要钱?为何我到官网下载回来,他完全不跟我提到钱 真佛心XD我下载的可能是试用版...orz ※ 编辑: if4 (111.251.166.142), 04/30/2017 11:34:48
17F:推 nwlsa1098: 不是跳0B87吗,怎麽位址是0807...... 04/30 13:39
18F:→ nwlsa1098: 打错,是怎麽指到0B07? 04/30 13:40
不知道是我抄错还是原作者打错...我再找资料看看...抱歉orz 我对过资料了...没抄错...应该是原作者笔误喔~~ 不然您也可以到对岸的看雪学院 http://www.kanxue.com , 或看雪论坛 http://bbs.pediy.com 这里研究破解资料喔^^ ※ 编辑: if4 (111.251.166.142), 04/30/2017 14:58:42 ※ 编辑: if4 (111.251.166.142), 04/30/2017 15:13:52 ※ 编辑: if4 (111.251.166.142), 04/30/2017 15:24:47
19F:→ playerlin: https://www.x-ways.net/winhex/comparison.html 04/30 16:15
20F:→ playerlin: 最基本的是Eval.(评估)版,免钱,之後的都要$了。 04/30 16:16
21F:→ playerlin: 当然评估版只有最基本的功能,我记得好像缺少我需要的 04/30 16:16
22F:→ playerlin: 功能所以...... *化为烟* 04/30 16:17
23F:→ playerlin: 如果需要反组译,Hiew http://www.hiew.ru/ 这套也不错 04/30 16:18
24F:→ playerlin: 可惜一样要$,而且介面比较阳春(?)... 04/30 16:19
25F:→ playerlin: 想到了,WinHex评估版有存档限制,只能写入小档案。 04/30 16:21
26F:→ playerlin: 所以实在不好用,如果要改的档案有MB等级就不能存了。 04/30 16:21
您的网址有右括弧,点网址会不正确,所以我帮您修正了。请见谅^^ 您有在用 Hiew 吗?好不好用? ※ 编辑: if4 (111.251.166.142), 04/30/2017 17:45:56
27F:→ playerlin: 我只推它的Decode功能(反组译),但是跟IDA那种等级相比 04/30 18:50
28F:→ playerlin: 就有点阳春,虽然对我这极轻度研究者是够了就是。:P 04/30 18:51
IDA 搜寻不知结果(太多可能了orz)可以介绍一下吗? 也是反组译工具吗?有哪些功能呢? ※ 编辑: if4 (111.251.166.142), 05/01/2017 22:53:14
29F:→ playerlin: IDA Pro是专业级的工具,其实反而对我而言太复杂不会用 05/02 23:48
30F:→ playerlin: lol...但是它可以分析机器码转为设定好的特定CPU组合语 05/02 23:49
31F:→ playerlin: 言并描绘出程式码运作的图表等。 05/02 23:50
32F:→ playerlin: 这套也是要$,虽然有免费版但是版本是有段时间的5.0版 05/02 23:51
33F:→ playerlin: 不包含之後版本新增的功能(如果是对DOS老游戏除错应该 05/02 23:52
34F:→ playerlin: 可能够用了)。 05/02 23:52
35F:→ playerlin: https://tinyurl.com/lkkw4dh 随便找一个阳春的教学 05/02 23:55
36F:→ playerlin: google "IDA Pro教学" 应该能找到其他较复杂的。 05/02 23:55
嗯,谢谢资讯提供,感恩!! ※ 编辑: if4 (111.251.162.142), 05/03/2017 05:42:40







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP