• 标 题:Paraben's Mah-jong v2.2的完解。。 (1千字)
  • 作 者:mauiboy2001
  • 时 间:2001-5-22 19:49:53
  • 链 接:http://bbs.pediy.com

目标:Paraben's Mah-jong v2.2(2D,3D)
工具:softice,w32dsm89,hiew
作者:MAUIboy2001[BCG]

    做完功课后闲的无聊,找了个游戏玩玩。这个游戏是找两个相同的麻将,和街机中的一样,不过还有3D效果的。以前没钱玩,现在可以大战200
回合了。嘻。

    http://www3.zdnet.com.cn/downloads2/parajong.exe

打开Paraben's Mah-jong 2D,出现对话框。点注册,下bpx hmemcpy。

拦住,pressing F12 十下,出现错误。重新来过,F12九下:

:********      push      00002872
:********      push      esi
:********      call      edi
:********      mov      ecx,0041ED70
:********      call      004047A0
:********      mov      al,byte ptr [004322F5]
:********      push      00000040
:********      cmp      al,01
:********      push      0041ED70
:********      jne      00401901  --跳则死
:********      push      00440B94
:********      jmp      00401906  --成功

只要把jne--》je就成功或cmp al,01--》cmp al,00

不过看事物不能光看表面,我们去它的内核看看吧。

用w32dsm89反汇编,查找call edi
:004018DE      call      edi
  .
:004018E5      call      004047A0

F8进入:
:004047A0      sub      esp,00000008
  .
  .
  .(拖动滚动条,往下查看)
  .
  .
:00404836      cmp      ecx,eax  --关键的cmp
:00404838      jne      00404850
  .
  .
:00404841      mov      byte ptr [esi+00013585],01
  .
  .
:0040484F      ret

:00404850      mov      byte ptr [esi+00013585],00
  .
  .
:0040485        ret

在:00404836处,? ecx既为注册码。

将:00404850处C6868535010000-->C6868535010001.

搞定。NAME:MAUIboy2001    code:404819

如果你要爆破,请将Paraben's Mah-jong 2D和Paraben's Mah-jong 3D一起改。
因为注册成功后,将在其目录下生成Mahj.key的文件,打开文件时会检验,否则死机。

真是超easy,只用了15分钟。欢迎指教,qq:349471。