吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2566|回复: 9
收起左侧

[原创] 某高青蛙XXX教程

  [复制链接]
JFF 发表于 2024-1-13 02:23
起因:某QQ闲聊群,一用户老是在那求破,天天烦死了,所以写了这篇文章(就想和他说一下 他喵的不看QQ邮箱?我都发你成品了啊。。。)
不过我太小白,万一破解不成功多尴尬啊,所以呢,我就跑论坛发这篇帖子。结果并不重要,思路最重要
环境:xp 其他环境没测试
原始文件:https://f.wss.ink/f/d4xo5f66508  求大神来放到蓝奏,多谢啦!

这个是个2010年的游戏(程序日期),官网早就倒闭了,尽管如此,还是希望尊重版权。请管理高抬贵手,有违规的地方通知我。打这么多字不容易

欢迎来到“某高青蛙”XXX教程,吾是一个小白,一只菜鸟级的青蛙。如果吾在教程中犯了错误,欢迎纠正。
无标题.png
首先,吾们来试玩一下这款古老的游戏。哎呀,有时间限制,真是让人头疼。


QQ截图20240113020433.jpg
不过没关系,吾们有PEID工具,可以查看一下壳。看,ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov

QQ截图20240113020505.jpg
吾在爱盘里找了ASProtect Unpacker,但是无法脱壳。吾承认吾是个小白,不会脱壳,既然工具行不通,那就换个思路,带壳玩吧。
运行程序,到程序基址,试试搜索字符串register。搜到了,也能断下,但是似乎没啥用(吾太菜了,不会分析,那就不走这条路)。

(从时间方面考虑,似乎可以成功,记不清楚了,但是目前不太好复现,不给吾试用的机会了。大概思路就是用游戏加速减速工具https://www.pc6.com/softview/SoftView_749210.html,然后呢,这个工具确实是有效果;xuetr应用层钩子 进程钩子扫一下这个变速器 挂钩的时间相关的API;然后再断下这个几个API 慢慢回溯,找到调用的地方 然后再猜一下,这个就不说了,可以试一下,目前麻烦复现,懒得折腾)

那么从启动时的弹窗入手,会不会注册了就不弹出这个窗口了?先回溯一下创建这个窗口的位置。断CreatewindowExA回溯比较麻烦,忘记能不能回溯过去了。偷懒的做法是 F9运行程序,弹出窗口,
image.png
下DestroyWindow断点(对某些窗口可能不管用,先试试)。

然后关闭这个窗口(也就是点击quit) 慢慢F8回溯到程序领空(似乎也不是程序领空?壳申请的一部分内存,我不清楚怎么描述,求大佬解惑)。

00AA142D    53              push ebx                                 ; Froggy.00400000
00AA142E    E8 D53CFFFF     call 00A95108                            ; jmp 到 kernel32.FindResourceA
00AA1433    50              push eax
00AA1434    53              push ebx                                 ; Froggy.00400000
00AA1435    E8 4E3DFFFF     call 00A95188                            ; jmp 到 kernel32.LoadResource
00AA143A    50              push eax
00AA143B    E8 503DFFFF     call 00A95190                            ; jmp 到 kernel32.SetHandleCount
00AA1440    50              push eax
00AA1441    53              push ebx                                 ; Froggy.00400000
00AA1442    E8 693DFFFF     call 00A951B0                            ; jmp 到 user32.DialogBoxIndirectParamA
00AA1447    5B              pop ebx                                  ; 0012FB88
00AA1448    5D              pop ebp                                  ; 0012FB88
00AA1449    C2 1400         retn 0x14

看到 FindResourceA LoadResource DialogBoxIndirectParamA 这让吾想到了,难道是从资源加载的这个窗口?

看一下资源里有没有窗口资源。加壳了原版程序看不了资源?不管三七二十一,运行程序,直接dump(直接od 或者scylla或者loardpe,个人喜欢用scylla)。

ResourceHacker看一下dump出来的这个exe 就能看到资源了(可能对某些壳无效)。
image.png
image.png
刚好可以看到两个dialogbox资源 一个103 一个137。103就是那个未注册窗口,137就是注册给xxx。

额 断一下FindResourceA(不确定能不能断下可以断 FindResourceW 和 FindResourceExW 以及FindResourceExA)。
断在了FindResourceA,资源id刚好是0x67,也就是103。

改一下参数137 刚好弹出已注册的窗口,当然这里显示没有用,进游戏还是未注册。
image.png image.png image.png
思路有了,找一下哪里给它赋值0x67,但是太菜,找不到合适的API(Getversion不行),使得壳已经解码同时还未运行到这里。那就往上回溯 。

所以破解方法是: od载入exe,记得删除所有断点。下FindResourceA断点,F8 回溯到这里。

00AA142E    E8 D53CFFFF     call 00A95108                            ; jmp 到 kernel32.FindResourceA
00AA1433    50              push eax
00AA1434    53              push ebx
00AA1435    E8 4E3DFFFF     call 00A95188                            ; jmp 到 kernel32.LoadResource
00AA143A    50              push eax
00AA143B    E8 503DFFFF     call 00A95190                            ; jmp 到 kernel32.SetHandleCount
00AA1440    50              push eax
00AA1441    53              push ebx
00AA1442    E8 693DFFFF     call 00A951B0                            ; jmp 到 user32.DialogBoxIndirectParamA
00AA1447    5B              pop ebx
00AA1448    5D              pop ebp
00AA1449    C2 1400         retn 0x14

删除FindResourceA断点,然后 在00AA1449 下断点。

F9运行程序,弹出的窗口点击play ,断在00AA1449。

再回溯。

00402EE7  |.  E8 24250000   call Froggy.00405410
00402EEC  |.  84C0          test al,al
00402EEE  |.  55            push ebp
00402EEF  |.  74 58         je short Froggy.00402F49
00402EF1  |.  8B15 1CEA4A00 mov edx,dword ptr ds:[0x4AEA1C]
00402EF7  |.  8BB424 AC0300>mov esi,dword ptr ss:[esp+0x3AC]
00402EFE  |.  68 60494000   push Froggy.00404960
00402F03  |.  52            push edx                                 ;  ntdll.KiFastSystemCallRet
00402F04  |.  68 89000000   push 0x89
00402F09  |.  56            push esi                                 ;  Froggy.00400000
00402F0A  |.  FF15 ACB14900 call dword ptr ds:[0x49B1AC]
00402F10  |.  3D ED030000   cmp eax,0x3ED
00402F15  |.  74 07         je short Froggy.00402F1E
00402F17  |.  3D EE030000   cmp eax,0x3EE
00402F1C  |.  75 5C         jnz short Froggy.00402F7A
00402F1E  |>  55            push ebp
00402F1F  |.  8D8C24 940000>lea ecx,dword ptr ss:[esp+0x94]
00402F26  |.  E8 35230000   call Froggy.00405260
00402F2B  |.  84C0          test al,al
00402F2D  |.  0F84 3D060000 je Froggy.00403570
00402F33  |>  55            /push ebp
00402F34  |.  8D8C24 940000>|lea ecx,dword ptr ss:[esp+0x94]
00402F3B  |.  E8 20230000   |call Froggy.00405260
00402F40  |.  84C0          |test al,al
00402F42  |.^ 75 EF         \jnz short Froggy.00402F33
00402F44  |.  E9 27060000   jmp Froggy.00403570
00402F49  |>  A1 1CEA4A00   mov eax,dword ptr ds:[0x4AEA1C]
00402F4E  |.  8BB424 AC0300>mov esi,dword ptr ss:[esp+0x3AC]
00402F55  |.  68 304B4000   push Froggy.00404B30
00402F5A  |.  50            push eax
00402F5B  |.  6A 67         push 0x67
00402F5D  |.  56            push esi                                 ;  Froggy.00400000
00402F5E  |.  FF15 ACB14900 call dword ptr ds:[0x49B1AC]
00402F64  |.  3D ED030000   cmp eax,0x3ED


程序目前运行到的是00402F64,观察一下,00402F5E  |.  FF15 ACB14900 call dword ptr ds:[0x49B1AC]这里就是弹出未注册弹窗的地方。往上看看有没有跳转,刚好可以看到有一个跳转00402EEF  |. /74 58         je short Froggy.00402F49,而且00402F49上面是一个jmp跳转。

所有猜测关键跳转在00402EEF,决定跳转的是00402EE7  |.  E8 24250000   call Froggy.00405410和00402EEC  |.  84C0          test al,al。直接进这个call ,00405410,改成mov al,1和retn,也就是返回值改成1。

额,确实猜对了,虽然吾并不太明白。

好了,晚安。

至于有没有暗装,吾不会玩这个游戏,自己试试,出问题也不要找我哟。

这玩意儿加壳,自己手动打补丁,有点麻烦,可以用大白补丁,但是我就是要用樱花补丁,这玩意儿报毒,看看谁偷懒,直接照抄

image.png
延时1000
地址00405410
原始A1ACF04A0085C0
补丁B801000000C390

就这样,成品放出来也没有意义, 自己玩吧,都告诉你答案了,你不试试?

吾的口号:瞎蒙,瞎猜

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
axy + 1 + 1 谢谢@Thanks!
rjlly + 1 + 1 我很赞同!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xyz989 发表于 2024-1-15 13:20
看游戏截图 感觉好有年代感啊
rjlly 发表于 2024-1-15 16:14
满不懂 发表于 2024-1-15 20:25
ASProtect有脱壳脚本的啊,直接脱壳再分析就容易了。
刘大富 发表于 2024-1-15 23:59
感谢分享
soughing 发表于 2024-1-16 07:43
感谢楼主整理分享,有时间学习下
 楼主| JFF 发表于 2024-1-16 09:26
上面链接挂了,重新放个链接,麻烦哪位大神放蓝奏,谢谢
https://f.wss.ink/f/d5vi9g61djs 复制链接到浏览器打开

这游戏是Demo版,数据不全,所以呢,破了意义也不大。

@yuchi800420 自己试试吧
xyer8 发表于 2024-1-16 10:29
写得挺详细的,支持!!
zhang521054 发表于 2024-1-16 10:52
厉害了  支持下
xcj138 发表于 2024-1-20 22:59
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 06:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表