- UID
- 50356
注册时间2008-5-1
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
【文章标题】: 双色球中奖机4.2版破解
【文章作者】: kelvar
【作者邮箱】: [email protected]
【作者QQ号】: 44232165
【软件名称】: 双色球中奖机破解
【下载地址】: 自己搜索下载
【加壳方式】: 没查出来
【保护方式】: 加壳加网络验证
【编写语言】: 易语言
【使用工具】: OD,易语言自动脱壳机
【操作平台】: windows xp3
【软件介绍】: 双色球中奖机
【作者声明】: 凑热闹~^_^,小菜鸟写文章
--------------------------------------------------------------------------------
【详细过程】
第一步还是查壳,yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehk
一看就是个不好惹的主,好在有E语言的自动脱壳机,运行下。程序自动给脱好了。方便。
第二步,OD载入脱壳后的程序,停在下面的入口处。
- 00401000 u>/$ E8 06000000 call unpack.0040100B
- 00401005 |. 50 push eax ; /ExitCode
- 00401006 \. E8 BB010000 call <jmp.&KERNEL32.ExitProces>; \ExitProcess
- 0040100B /$ 55 push ebp
- 0040100C |. 8BEC mov ebp,esp
- 0040100E |. 81C4 F0FEFFFF add esp,-110
- 00401014 |. E9 83000000 jmp unpack.0040109C
- 00401019 |. 6B 72 6E 6C 6E 2E >ascii "krnln.fnr",0
- 00401023 |. 6B 72 6E 6C 6E 2E >ascii "krnln.fne",0
-
复制代码 E语言的入口有特定的字符串可以查找。OD载入后,就F9运行程序吧,当程序运行后,ALT+E
选中易语言的核心库krnln,双击进去。然后CTRL+B,查找FF 55 FC
查找到这个Call后F2下断。现在输入假码112233445566 和用户 kelvar 名后,单击 登陆软件
程序出现登陆失败对话框,不管它,点击确定。
出现错误对话框, 点击Alt+K,然后找到上面的一个MessageBoxExA
- 77D5085C u> 8BFF mov edi,edi
- 77D5085E 55 push ebp
- 77D5085F 8BEC mov ebp,esp
- 77D50861 6A FF push -1
- 77D50863 FF75 18 push dword ptr ss:[ebp+18]
- 77D50866 FF75 14 push dword ptr ss:[ebp+14]
- 77D50869 FF75 10 push dword ptr ss:[ebp+10]
- 77D5086C FF75 0C push dword ptr ss:[ebp+C]
- 77D5086F FF75 08 push dword ptr ss:[ebp+8]
- 77D50872 E8 8F5B0100 call user32.MessageBoxTimeoutA
- 77D50877 5D pop ebp
- 77D50878 C2 1400 retn 14
- 77D5087B 90 nop
-
复制代码 在第二个MessageBoxA上点击,然后来到代码处,下断
- 77D5080E 85C0 test eax,eax
- 77D50810 75 0A jnz short user32.77D5081C
- 77D50812 C705 201BD777 010000>mov dword ptr ds:[77D71B20],1
- 77D5081C 6A 00 push 0
- 77D5081E FF75 14 push dword ptr ss:[ebp+14]
- 77D50821 FF75 10 push dword ptr ss:[ebp+10]
- 77D50824 FF75 0C push dword ptr ss:[ebp+C]
- 77D50827 FF75 08 push dword ptr ss:[ebp+8]
- 77D5082A E8 2D000000 call user32.MessageBoxExA
- 77D5082F 5D pop ebp
- 77D50830 C2 1000 retn 10
- 77D50833 90 nop
-
复制代码 程序在77D5087B处断下来了,我们手动F8向下走吧。F8一步就来到了77D5082F处。继续F8
直到返回到主程序中
- 02C57D80 4C dec esp
- 02C57D81 0000 add byte ptr ds:[eax],al
- 02C57D83 83C4 28 add esp,28
- 02C57D86 E9 D5010000 jmp ssqzjj.02C57F60
- 02C57D8B EB 01 jmp short ssqzjj.02C57D8E
- 02C57D8D 7A 8B jpe short ssqzjj.02C57D1A
- 02C57D8F 5D pop ebp
- 02C57D90 F8 clc
-
复制代码 此时观察堆栈中的数据发现,出现了假码
- 0012F51C 03D806D8 ASCII "112233445566"
- 0012F520 03D80D00 ASCII "42086A1EB5820DC80D0341CE709B675F"
- 0012F524 03D806A8
- 0012F528 0023C070
- 0012F52C 03D806B0
- 0012F530 03D806A8
- 0012F534 03D80D00 ASCII "42086A1EB5820DC80D0341CE709B675F"
- 0012F538 /0012F5A0
- 0012F53C |02C5C937 返回到 ssqzjj.02C5C937 来自 ssqzjj.02C579DE
-
复制代码 好了,那我们就去02C5C937处下个断点吧。
由于假码"112233445566"还在堆栈中说明处理还没有完成,我们就一直向下走吧,不用修改它的流程。
当程序运行到下面时,用户名也开始出现在堆栈中了。
- 02C580C5 8BE5 mov esp,ebp
- 02C580C7 5D pop ebp
- 02C580C8 C2 1400 retn 14
- 02C580CB 55 push ebp
- 02C580CC 8BEC mov ebp,esp
-
复制代码 F8一步,发现程序在我们刚才下的02C5C937处了,好关键快到了,我们继续
- 0086BF6C 68 06000000 push 6
- 0086BF71 E8 49082100 call unpack.00A7C7BF
- 0086BF76 83C4 04 add esp,4
- 0086BF79 8B5D E8 mov ebx,dword ptr ss:[ebp-18]
- 0086BF7C 85DB test ebx,ebx ; 判断用户名是否为空
- 0086BF7E 74 09 je short unpack.0086BF89
- 0086BF80 53 push ebx
- 0086BF81 E8 2D082100 call unpack.00A7C7B3
- 0086BF86 83C4 04 add esp,4
- 0086BF89 8B5D E4 mov ebx,dword ptr ss:[ebp-1C]
- 0086BF8C 85DB test ebx,ebx ; 判断密码是否为空
- 0086BF8E 74 09 je short unpack.0086BF99
- 0086BF90 53 push ebx
- 0086BF91 E8 1D082100 call unpack.00A7C7B3 ; 关键Call
- 0086BF96 83C4 04 add esp,4
- 0086BF99 837D FC 00 cmp dword ptr ss:[ebp-4],0 ; 关键比较
- 0086BF9D 0F84 38020000 je unpack.0086C1DB ; 关键跳转 nop掉就好了。或者将38020000改为全零
- 0086BFA3 8B1D 80020301 mov ebx,dword ptr ds:[1030280]
- 0086BFA9 895D F0 mov dword ptr ss:[ebp-10],ebx
-
复制代码 破解的不完美,程序登陆的时候还是要跳出一个注册名错误对话框,但是再次点击就可以去除了。最近比较忙,就不再弄了
。另外,这个程序即使用真正的用户名和注册码登陆貌似也要点击两次。具体的算法也不会分析。期待高手出现。分析下算法
--------------------------------------------------------------------------------
【经验总结】
E语言的东西没什么好说的了,查找事件按钮,下断,跟进,找关键Call和关键跳转。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于PYG论坛, 转载请注明作者并保持文章的完整, 谢谢!
2009年11月09日 16:05:02 |
|