首页
社区
课程
招聘
[原创]riijj Crackme (1) 的详解
发表于: 2004-11-26 11:57 218412

[原创]riijj Crackme (1) 的详解

2004-11-26 11:57
218412
收藏
免费 7
支持
分享
最新回复 (267)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
我想请教一下楼主,在找注册码的时候,第一部分代码段,也就是那一大串
计算,完全可以把它复制下来,然后用做注册机的前半部分运算,但是我不
知道应该怎么去做,请楼主就这个程序在做一个注册机的制作教程。您写的教程非常详细请一定帮忙!!!!
2005-8-12 01:32
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
77
你的想法对于一些简单程序是有效的,那些程序把使用者输入的信息,通过一段运算,计算出正确的序号,再跟他输入的序号作比较。

检查方法的表达 :   

if ( E(Name) == Key )
        Success.

E( ) 是算法

可是,在现实的情况里,这种设计方式并不常见。

现实中,还有很多检查法,例如 :

if( E1( Name ) == E2( Key )
        Success.

E1( ) 是一个算法, E2( ) 是另一个算法,它们各自对名字和序号进行计算,得出两个值,进行比较。

另外,程序对算法进行检查的时候,不一定需要把整个正确的 key 计算出来才进行检查。程序可以把输入的数值,分裂成很多子数值,独立进行检查,这样可以避免破解者在内存中 “看” 到序号。

我的 crackme (1) 的运算代码是不可以直接拿来造注册机,如果要造注册机,是需要看懂算法然后编写。
2005-8-12 13:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
78
谢谢楼主的解释!
还有个新问题,企盼楼主也能给与解疑:
在破解斗地主7.4时遇到如下问题,
1、游戏使用aspack加的壳,可以脱壳,但脱壳后游戏不能运行(只运行前几行程序就退出),必须重新加壳,名字还要和原来的名字一样才能运行。那么破解时我应该从哪里入手?
2、游戏如果带壳运行的话,如何下断点?
2005-8-14 23:39
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
79
最初由 nyzhaotian 发布
谢谢楼主的解释!
还有个新问题,企盼楼主也能给与解疑:
在破解斗地主7.4时遇到如下问题,
1、游戏使用aspack加的壳,可以脱壳,但脱壳后游戏不能运行(只运行前几行程序就退出),必须重新加壳,名字还要和原来的名字一样才能运行。那么破解时我应该从哪里入手?
2、游戏如果带壳运行的话,如何下断点?


如果程序脱壳后不能运行,可能是脱壳不完整,或是程序有自校验,程序检查自身的大小或 CRC

这方便我不敢多说,因为我对壳没有研究,功力甚浅,你可以到脱壳版请教各位高手。
2005-8-15 19:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
80
在W32DAM里面查找串式参考,找到"Registration fail.",找到地址401095.
来到401095处,发现是由401072处跳到这里的,将JNE 0040108F改为JE,成功!
只会爆破,我比较菜~!
2005-8-22 16:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
81
我们看见了这里是 MessageBox 跳出的程序,这里是成功信息和失败信息的地方。 (读者可能已经大叫,只要把跳往失败信息的跳转修改
一下,便可以成功爆破) 。这是对的,假如我们要爆破它,只要把 00401072 的 JNZ (jump if not zero),修改成 JZ 便可以

请问怎么把jnz改成jz呀,我就是在od中双击一下,然后改了,
应该还得存一下吧,怎么存呢?还有,我用楼主的那个注册码输进去怎么
不对呢?????
2005-8-24 03:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
虽然代码跳转到了指定的地址,但是如果开始执行,(f7,f8,f9..)程序还是返回原来的地址开始执行。请问该怎么办呢?谢谢指点
2005-9-13 18:58
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
83
最初由 mgeneral 发布
虽然代码跳转到了指定的地址,但是如果开始执行,(f7,f8,f9..)程序还是返回原来的地址开始执行。请问该怎么办呢?谢谢指点


goto 只用来更变视点,不会影响执行位置

运行程序会在原先断点的地方继续向前运行

需要在某地方把程序拦截的时候应该在那地方设下断点
2005-9-14 08:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
我是一个新手,有一个很初级的问题想请教楼主:

  “输入这行后,当程序使用 MessageBoxA ,程序便会断下

现在,我们把程序正常运行 (按 F9),输入一个名字,我在里输入了 riijj ,在序号那行输入了  AAAABBBBCCCC

按下 "Register" ,这时候程序遇到断点,停在以下地方”

  问题是,我用OD调入程序后(屏幕显示与楼主所述一致),但按“F9”后,没有显示程序运行窗口,请问是什么原因?
2005-12-14 20:50
0
雪    币: 210
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
作者写的很好,感谢ing。。。
2005-12-18 11:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
86
最初由 killalarm 发布
哦!非常感谢,还有每次我运行程序后都会出现错误,就是要按shift+f9跳过 你们在调试的时候经常出现这样的状况吗?
......
2005-12-19 22:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
非常感谢版主!分析的太详细了!
2005-12-20 09:17
0
雪    币: 70
活跃值: (74)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
88
我破这个软件好几天了,本来嫌它算法太麻烦了(我也是太菜了!)
今天非常感谢版主   谢谢  有些不明白的地方明白了
最后说一句:“辛苦了。”
2005-12-20 13:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
89
感谢楼主!
2005-12-20 15:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
对我这些菜菜来说,太好了
2005-12-21 13:05
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91
太感激了!!!!!!!!!!!!!!!!!!
努力学习中...........................
2005-12-21 20:34
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
92
最初由 riijj 发布


当你看见自己身处在位置 7xxxxxxx 那些地方的时候,其实你身处在系统 dll 的领空

你可以用 Alt + F9 返回

返回不了啊???????????
求教高人..................
2005-12-21 21:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
93
不错 写得很详细 
初学者就是需要这样详细的破解过程!
希望这样的帖能多一些!
2005-12-22 10:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
水平有限,还是看的似懂非懂
2005-12-27 16:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
不错,不错,我要好好学习!!!!!
顶!!!!!!
2005-12-27 16:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
看了以后对破解有了些了解
2005-12-28 10:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
学习,学习.在学习
2006-1-9 16:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
98
我是新人 谢谢 期待更好的作品
2006-1-10 22:38
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
99
00401288  |. 0FBE5424 0A    MOVSX EDX,BYTE PTR SS:[ESP+A]     // 把名字的第一个位,放入 EDX   ====》笔误 应是第三个位  呵呵
0040128D  |. 0FAFCA         IMUL ECX,EDX                      // 把刚才的余数乘以 EDX
00401290  |. 41             INC ECX                           // ECX 增加 1
00401291  |. 33D2           XOR EDX,EDX                       // EDX = 0
00401293  |. F7F1           DIV ECX                           // 以 0xffffffff 除以 ECX
2006-1-10 23:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
讲得很详细,很适合我这种刚学破解的小菜。

另外,我手里也有站长出的〈加密与解密〉这本书了,呵呵。。。
2006-2-7 23:49
0
游客
登录 | 注册 方可回帖
返回
//