金闪闪 发表于 2005-1-7 22:04:47

大家一起学习1月7日的ppc补丁

ppatcher是个内存补丁程序,它的目的是帮你装载入应用程序,并根据给的ppc文件,对特定的内存中的文件修改并运行。 :30:

(会玩Soft-ICE的就知道类似功能)

为什么可以实现呢,我想大家去啃"操作系统"课程就知道了。
这里,以steam.dll(1月7日的3817472字节)为研究目标。

google找到IDA Pro 4.70安装并运行。 :43:

我们学习下这个ppc的内容。
第一部分
Address=0x239735:0x0F:0x90
Address=0x239736:0x84:0x90
Address=0x239737:0x31:0x90
Address=0x239738:0x04:0x90
Address=0x239739:0x00:0x90
Address=0x23973A:0x00:0x90
在IDA窗口,按字母G 输入 20239735 回车。
看到如下:
.text:20239733               test    edx, edx
.text:20239735               jz      loc_20239B6C
看看上面的代码,有:
.text:202395B5               push    offset aLaunching ; "Launching '"
原来是破解,当我们双击游戏快捷图标是出现的“载入”的那段代码。

第二部分
Address=0x23ACBE:0x74:0x90
Address=0x23ACBF:0x3E:0x90
看看IDA窗口,按字母G 输入2023ACBE。
如下:
.text:2023ACBC               test    edx, edx
.text:2023ACBE               jz      short loc_2023ACFE
往下翻,看到:
.text:2023AD18               push    eax
.text:2023AD19               push    offset aCannotPlayWhil ; "Cannot play while purchase pending"
这段破解是针对,“定购”未完成的。

第三部分
Address=0x234FDA:0x75:0xEB
IDA窗口看到是
.text:20234FD0               call    sub_2022C1E2
.text:20234FD5               movzx   ecx, al
.text:20234FD8               test    ecx, ecx
.text:20234FDA               jnz   short loc_20235037
双击call    sub_2022C1E2,我们看到了"Steam is busy, please try again later"。
这段破解是模拟steam系统忙。

第四部分
Address=0x22BF2B:0x55:0x33
Address=0x22BF2C:0x8B:0xC0
Address=0x22BF2D:0xEC:0x40
Address=0x22BF2E:0x83:0xC2
Address=0x22BF2F:0xEC:0x04
Address=0x22BF30:0x30:0x00
在IDA窗口看到:
.text:2022BF2B               push    ebp
.text:2022BF2C               mov   ebp, esp
.text:2022BF2E               sub   esp, 30h
这段代码是也是破解"Steam is busy, please try again later"状态的。

第五部分
Address=0x23ABFA:0x50:0x90
Address=0x23AC01:0xE8:0x90
Address=0x23AC02:0xFE:0x90
Address=0x23AC03:0x17:0x90
Address=0x23AC04:0xFF:0x90
Address=0x23AC05:0xFF:0x90
在IDA看到:
.text:2023ABFA               push    eax
.text:2023ABFB               mov   ecx,
.text:2023AC01               call    sub_2022C404
前后看看,原来是处理"Cannot play while purchase pending"状态的。

第六部分
Address=0x17DDF7:0x74:0xEB
在IDA看到SteamIsAppSubscribed字符,哈哈这里是游戏ID状态的经典代码,破解后,所有游戏都在“我的游戏”了。

从这些分析,我想大家对ppc应该有个理解了。
这个破解是利用steam的busy状态BUG来达到目的。创造本地的离线offline的合法状态。 :thefinger

BoeZombie 发表于 2005-1-7 23:56:35

天哪!难以言表我现在的心情.....

看到内存地址,我就头痛厉害T_T

lnf007 发表于 2005-1-7 23:59:21

希望以后楼主能做一个给我们!

olol 发表于 2005-1-8 03:11:06

内存补丁,呵呵
我觉得最好的补丁软件试keymake

金闪闪 发表于 2005-1-8 11:05:14

Post by olol
内存补丁,呵呵
我觉得最好的补丁软件试keymake
哈哈,那你用keymake算个正版cdkey给大家看看。

这个补丁是pass补丁,让你通过steam认证,不是make key呀。 :thefinger

mccat 发表于 2005-1-8 19:56:39

Post by olol
内存补丁,呵呵
我觉得最好的补丁软件试keymake

随便帮我算2个啊。不多要。谢谢。

金闪闪 发表于 2005-1-10 08:56:18

本贴被转帖到各大论坛了。居然没说明原署名。 :10:

undoer 发表于 2005-1-10 10:00:19

Post by 金闪闪
本贴被转帖到各大论坛了。居然没说明原署名。 :10:

现向金兄申请转贴此贴到我们的论坛。 :thefinger

作者:金闪闪   :thefinger

金闪闪 发表于 2005-1-10 10:37:29

Post by undoer
现向金兄申请转贴此贴到我们的论坛。 :thefinger

作者:金闪闪   :thefinger
甭客气,用吧。 :43:

主要是让我们dt在cs:s以及hl2:dm处于前沿阵地。 :thefinger

lhbwhy 发表于 2005-1-10 11:05:16

新世界法盲
页: [1] 2 3
查看完整版本: 大家一起学习1月7日的ppc补丁