老文章档案 · 2003 年

asabili,一款台球游戏

破解教程 · 破解杂谈 · 2003-09-18 · 作者:POW 人气: · 出处:赢政天下整理收藏)

软件名称: asabili

软件版本: 1.0

软件类别: 娱乐游戏

应用平台: WIN9X/WINNT/WIN2K/WINXP

授权形式: 共享

软件介绍: 日本人做的一个台球游戏,分为9球、抢黑8、计分赛三种玩法。可惜的是未注册版本只能玩演示游戏解解馋了。解压到任意文件夹即可使用。这是我的第一个汉化作品,图片中的文字和帮助文件都没有汉化。

下载地址: ftp://hanzifydown:oi6ju40u7@61.158.185.39/DOWNLOAD/HA_asabili10_hos.rar

下断点bpx GetDlgItemTextA

我是下的bpx messageboxa,然后pmoudle以后提示注册失败,在向上找跳转,我个人习惯这样,方法很多,随便找一种你喜欢的.

00408C08 > 8BB424 0C03000>MOV ESI,DWORD PTR SS:[ESP+30C] ; Case 1 of switch 00408BA3

00408C0F . 8B3D D4E14000 MOV EDI,DWORD PTR DS:[<&USER32.GetDlgIte>

00408C15 . 8D9424 0801000>LEA EDX,DWORD PTR SS:[ESP+108]

00408C1C . 68 00010000 PUSH 100 ; /Count = 100 (256.)

00408C21 . 52 PUSH EDX ; |Buffer

00408C22 . 68 EB030000 PUSH 3EB ; |ControlID = 3EB (1003.)

00408C27 . 56 PUSH ESI ; |hWnd

中断到这里:

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

00408C28 . FFD7 CALL EDI ; \GetDlgItemTextA

00408C2A . 8D8424 0801000>LEA EAX,DWORD PTR SS:[ESP+108]

00408C31 . 50 PUSH EAX

00408C32 . E8 F9FDFFFF CALL ASABILLI.00408A30 <---关键call,跟进

00408C37 . 83C4 04 ADD ESP,4

00408C3A . 85C0 TEST EAX,EAX <---关键比较点

00408C3C . 68 00010000 PUSH 100 ; /Count = 100 (256.)

00408C41 . 75 54 JNZ SHORT ASABILLI.00408C97 ; |<---关键跳转点

00408C43 . 8B15 FC404100 MOV EDX,DWORD PTR DS:[4140FC] ; |ASABILLI.00400000

00408C49 . 8B3D 84E14000 MOV EDI,DWORD PTR DS:[<&USER32.LoadStrin>; |

00408C4F . 8D8C24 0C02000>LEA ECX,DWORD PTR SS:[ESP+20C] ; |

00408C56 . 51 PUSH ECX ; |Buffer

00408C57 . 6A 03 PUSH 3 ; |RsrcID = STRING "注册码"

00408C59 . 52 PUSH EDX ; |hInst => 00400000

00408C5A . FFD7 CALL EDI ; \LoadStringA

00408C5C . 8B0D FC404100 MOV ECX,DWORD PTR DS:[4140FC] ; ASABILLI.00400000

00408C62 . 8D4424 08 LEA EAX,DWORD PTR SS:[ESP+8]

00408C66 . 68 00010000 PUSH 100 ; /Count = 100 (256.)

00408C6B . 50 PUSH EAX ; |Buffer

00408C6C . 6A 02 PUSH 2 ; |RsrcID = STRING "快乐码"

00408C6E . 51 PUSH ECX ; |hInst => 00400000

00408C6F . FFD7 CALL EDI ; \LoadStringA

00408C71 . 8D5424 08 LEA EDX,DWORD PTR SS:[ESP+8]

00408C75 . 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL

00408C77 . 8D8424 0C02000>LEA EAX,DWORD PTR SS:[ESP+20C] ; |

00408C7E . 52 PUSH EDX ; |Title

00408C7F . 50 PUSH EAX ; |Text

00408C80 . 56 PUSH ESI ; |hOwner

00408C81 . FF15 B8E14000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA

00408C87 . 5F POP EDI

00408C88 . B8 01000000 MOV EAX,1

00408C8D . 5E POP ESI

00408C8E . 81C4 00030000 ADD ESP,300

00408C94 . C2 1000 RETN 10

00408C97 > 68 00464100 PUSH ASABILLI.00414600

00408C9C . 68 EA030000 PUSH 3EA

00408CA1 . 56 PUSH ESI

00408CA2 . FFD7 CALL EDI

00408CA4 . 6A 08 PUSH 8

00408CA6 . 68 00414100 PUSH ASABILLI.00414100

00408CAB . 68 EB030000 PUSH 3EB

00408CB0 . 56 PUSH ESI

00408CB1 . FFD7 CALL EDI

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

跟进的关键call,CALL ASABILLI.00408A30

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

00408A30 /$ 53 PUSH EBX

00408A31 |. 56 PUSH ESI

00408A32 |. 8B7424 0C MOV ESI,DWORD PTR SS:[ESP+C]

00408A36 |. 57 PUSH EDI

00408A37 |. 8A46 07 MOV AL,BYTE PTR DS:[ESI+7] <---取注册码存放地址第8位

00408A3A |. 84C0 TEST AL,AL 比较是否为0

00408A3C |. 0F85 ED000000 JNZ ASABILLI.00408B2F <---如果有第8位则失败

00408A42 |. 33FF XOR EDI,EDI

00408A44 |> 8A0437 /MOV AL,BYTE PTR DS:[EDI+ESI]

00408A47 |. 50 |PUSH EAX

00408A48 |. E8 C3FFFFFF |CALL ASABILLI.00408A10 <---16进制转10进制

00408A4D |. 83C4 04 |ADD ESP,4

00408A50 |. 3C 24 |CMP AL,24

00408A52 |. 0F87 D7000000 |JA ASABILLI.00408B2F

00408A58 |. 47 |INC EDI

00408A59 |. 83FF 07 |CMP EDI,7

00408A5C |.^7C E6 \JL SHORT ASABILLI.00408A44

00408A5E |. 8A4E 05 MOV CL,BYTE PTR DS:[ESI+5] <---取第注册码6位

00408A61 |. 51 PUSH ECX

00408A62 |. E8 A9FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408A67 |. 8A56 02 MOV DL,BYTE PTR DS:[ESI+2] <---取第注册码2位

00408A6A |. 8AD8 MOV BL,AL

00408A6C |. 52 PUSH EDX

00408A6D |. 81E3 FF000000 AND EBX,0FF

00408A73 |. E8 98FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408A78 |. 25 FF000000 AND EAX,0FF

00408A7D |. B9 24000000 MOV ECX,24 <---24H入ecx

00408A82 |. 8D4458 26 LEA EAX,DWORD PTR DS:[EAX+EBX*2+26] <---eax=eax(第3位)+ebx(第6位)*2+26

00408A86 |. 99 CDQ

00408A87 |. F7F9 IDIV ECX edx=eax-24(我是观察出来的,请各位指教,IDIV ECX这句的意思)

00408A89 |. 8BFA MOV EDI,EDX

00408A8B |. 8A16 MOV DL,BYTE PTR DS:[ESI] <---取第注册码1位

00408A8D |. 52 PUSH EDX

00408A8E |. E8 7DFFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408A93 |. 25 FF000000 AND EAX,0FF

00408A98 |. 83C4 0C ADD ESP,0C

00408A9B |. 3BC7 CMP EAX,EDI <---第1位与第3位+第6位*2+26-24比较

00408A9D |. 0F85 8C000000 JNZ ASABILLI.00408B2F <---关键比较点,跳则失败

00408AA3 |. 8A46 04 MOV AL,BYTE PTR DS:[ESI+4] <---取第注册码5位

00408AA6 |. 50 PUSH EAX

00408AA7 |. E8 64FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408AAC |. 8A4E 01 MOV CL,BYTE PTR DS:[ESI+1] <---取第注册码2位

00408AAF |. 8AD8 MOV BL,AL

00408AB1 |. 51 PUSH ECX

00408AB2 |. 81E3 FF000000 AND EBX,0FF

00408AB8 |. E8 53FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408ABD |. 25 FF000000 AND EAX,0FF

00408AC2 |. B9 24000000 MOV ECX,24

00408AC7 |. 8D4458 26 LEA EAX,DWORD PTR DS:[EAX+EBX*2+26] <---eax=eax(第2位)+ebx(第5位)*2+26

00408ACB |. 99 CDQ

00408ACC |. F7F9 IDIV ECX <---edx=eax-24

00408ACE |. 8BFA MOV EDI,EDX

00408AD0 |. 8A56 06 MOV DL,BYTE PTR DS:[ESI+6] <---取第注册码7位

00408AD3 |. 52 PUSH EDX

00408AD4 |. E8 37FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408AD9 |. 25 FF000000 AND EAX,0FF

00408ADE |. 83C4 0C ADD ESP,0C

00408AE1 |. 3BF8 CMP EDI,EAX <---第7位与第2位+第5位*2+26-24比较

00408AE3 |. 75 4A JNZ SHORT ASABILLI.00408B2F <---关键比较点,跳则失败

00408AE5 |. 8A46 06 MOV AL,BYTE PTR DS:[ESI+6] <---取第注册码7位

00408AE8 |. 50 PUSH EAX

00408AE9 |. E8 22FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408AEE |. 8A0E MOV CL,BYTE PTR DS:[ESI] <---取第注册码1位

00408AF0 |. 8AD8 MOV BL,AL

00408AF2 |. 51 PUSH ECX

00408AF3 |. 81E3 FF000000 AND EBX,0FF

00408AF9 |. E8 12FFFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408AFE |. 25 FF000000 AND EAX,0FF

00408B03 |. B9 24000000 MOV ECX,24

00408B08 |. 8D4458 26 LEA EAX,DWORD PTR DS:[EAX+EBX*2+26] <---eax=eax(第1位)+ebx(第7位)*2+26

00408B0C |. 99 CDQ

00408B0D |. F7F9 IDIV ECX <---edx=eax-24

00408B0F |. 8BFA MOV EDI,EDX

00408B11 |. 8A56 03 MOV DL,BYTE PTR DS:[ESI+3] <---取第注册码4位

00408B14 |. 52 PUSH EDX

00408B15 |. E8 F6FEFFFF CALL ASABILLI.00408A10 <---16进制转10进制

00408B1A |. 25 FF000000 AND EAX,0FF

00408B1F |. 83C4 0C ADD ESP,0C

00408B22 |. 3BF8 CMP EDI,EAX <---第4位与第1位+第7位*2+26-24比较

00408B24 |. 75 09 JNZ SHORT ASABILLI.00408B2F <---关键比较点,跳则失败

00408B26 |. 5F POP EDI

00408B27 |. 5E POP ESI

00408B28 |. B8 01000000 MOV EAX,1 <---注册标志位eax=1,注册成功

00408B2D |. 5B POP EBX

00408B2E |. C3 RETN <---call结束,返回00408C32

00408B2F |> 5F POP EDI <---失败则跳转到这里

00408B30 |. 5E POP ESI

00408B31 |. 33C0 XOR EAX,EAX <---注册标志位eax=0,注册失败

00408B33 |. 5B POP EBX

00408B34 \. C3 RETN <---call结束,返回00408C32

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

总结:

注册成功条件:

① 注册码为7位

② 注册码第3位+第6位*2+26-24=第1位

③ 注册码第2位+第5位*2+26-24=第7位

④ 注册码第1位+第7位*2+26-24=第4位

一组可用的注册码:

Name:POW

Serial:2008002

注册信息放在HKEY_CURRENT_USER\Software\NAGI-P SOFT\ASABILLI下面的Name、ID键值中。

POW整理,转载请保持信息完整。

欢迎交流:pow@263.net

2003-5-15

(出处:赢政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史