能力值:
( LV2,RANK:10 )
|
-
-
76 楼
|
能力值:
(RANK:300 )
|
-
-
77 楼
你的想法对于一些简单程序是有效的,那些程序把使用者输入的信息,通过一段运算,计算出正确的序号,再跟他输入的序号作比较。
检查方法的表达 :
if ( E(Name) == Key )
Success.
E( ) 是算法
可是,在现实的情况里,这种设计方式并不常见。
现实中,还有很多检查法,例如 :
if( E1( Name ) == E2( Key )
Success.
E1( ) 是一个算法, E2( ) 是另一个算法,它们各自对名字和序号进行计算,得出两个值,进行比较。
另外,程序对算法进行检查的时候,不一定需要把整个正确的 key 计算出来才进行检查。程序可以把输入的数值,分裂成很多子数值,独立进行检查,这样可以避免破解者在内存中 “看” 到序号。
我的 crackme (1) 的运算代码是不可以直接拿来造注册机,如果要造注册机,是需要看懂算法然后编写。
|
能力值:
( LV2,RANK:10 )
|
-
-
78 楼
谢谢楼主的解释!
还有个新问题,企盼楼主也能给与解疑:
在破解斗地主7.4时遇到如下问题,
1、游戏使用aspack加的壳,可以脱壳,但脱壳后游戏不能运行(只运行前几行程序就退出),必须重新加壳,名字还要和原来的名字一样才能运行。那么破解时我应该从哪里入手?
2、游戏如果带壳运行的话,如何下断点?
|
能力值:
(RANK:300 )
|
-
-
79 楼
最初由 nyzhaotian 发布 谢谢楼主的解释! 还有个新问题,企盼楼主也能给与解疑: 在破解斗地主7.4时遇到如下问题, 1、游戏使用aspack加的壳,可以脱壳,但脱壳后游戏不能运行(只运行前几行程序就退出),必须重新加壳,名字还要和原来的名字一样才能运行。那么破解时我应该从哪里入手? 2、游戏如果带壳运行的话,如何下断点?
如果程序脱壳后不能运行,可能是脱壳不完整,或是程序有自校验,程序检查自身的大小或 CRC
这方便我不敢多说,因为我对壳没有研究,功力甚浅,你可以到脱壳版请教各位高手。
|
能力值:
( LV2,RANK:10 )
|
-
-
80 楼
在W32DAM里面查找串式参考,找到"Registration fail.",找到地址401095.
来到401095处,发现是由401072处跳到这里的,将JNE 0040108F改为JE,成功!
只会爆破,我比较菜~!
|
能力值:
( LV2,RANK:10 )
|
-
-
81 楼
我们看见了这里是 MessageBox 跳出的程序,这里是成功信息和失败信息的地方。 (读者可能已经大叫,只要把跳往失败信息的跳转修改
一下,便可以成功爆破) 。这是对的,假如我们要爆破它,只要把 00401072 的 JNZ (jump if not zero),修改成 JZ 便可以
请问怎么把jnz改成jz呀,我就是在od中双击一下,然后改了,
应该还得存一下吧,怎么存呢?还有,我用楼主的那个注册码输进去怎么
不对呢?????
|
能力值:
( LV2,RANK:10 )
|
-
-
82 楼
虽然代码跳转到了指定的地址,但是如果开始执行,(f7,f8,f9..)程序还是返回原来的地址开始执行。请问该怎么办呢?谢谢指点
|
能力值:
(RANK:300 )
|
-
-
83 楼
最初由 mgeneral 发布 虽然代码跳转到了指定的地址,但是如果开始执行,(f7,f8,f9..)程序还是返回原来的地址开始执行。请问该怎么办呢?谢谢指点 goto 只用来更变视点,不会影响执行位置
运行程序会在原先断点的地方继续向前运行
需要在某地方把程序拦截的时候应该在那地方设下断点
|
能力值:
( LV2,RANK:10 )
|
-
-
84 楼
我是一个新手,有一个很初级的问题想请教楼主:
“输入这行后,当程序使用 MessageBoxA ,程序便会断下
现在,我们把程序正常运行 (按 F9),输入一个名字,我在里输入了 riijj ,在序号那行输入了 AAAABBBBCCCC
按下 "Register" ,这时候程序遇到断点,停在以下地方”
问题是,我用OD调入程序后(屏幕显示与楼主所述一致),但按“F9”后,没有显示程序运行窗口,请问是什么原因?
|
能力值:
( LV2,RANK:10 )
|
-
-
85 楼
作者写的很好,感谢ing。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
86 楼
最初由 killalarm 发布 哦!非常感谢,还有每次我运行程序后都会出现错误,就是要按shift+f9跳过 你们在调试的时候经常出现这样的状况吗? ......
|
能力值:
( LV2,RANK:10 )
|
-
-
87 楼
非常感谢版主!分析的太详细了!
|
能力值:
( LV4,RANK:50 )
|
-
-
88 楼
我破这个软件好几天了,本来嫌它算法太麻烦了(我也是太菜了!)
今天非常感谢版主 谢谢 有些不明白的地方明白了
最后说一句:“辛苦了。”
|
能力值:
( LV2,RANK:10 )
|
-
-
89 楼
感谢楼主!
|
能力值:
( LV2,RANK:10 )
|
-
-
90 楼
对我这些菜菜来说,太好了
|
能力值:
( LV2,RANK:10 )
|
-
-
91 楼
太感激了!!!!!!!!!!!!!!!!!!
努力学习中...........................
|
能力值:
( LV2,RANK:10 )
|
-
-
92 楼
最初由 riijj 发布
当你看见自己身处在位置 7xxxxxxx 那些地方的时候,其实你身处在系统 dll 的领空
你可以用 Alt + F9 返回
返回不了啊???????????
求教高人..................
|
能力值:
( LV2,RANK:10 )
|
-
-
93 楼
不错 写得很详细
初学者就是需要这样详细的破解过程!
希望这样的帖能多一些!
|
能力值:
( LV2,RANK:10 )
|
-
-
94 楼
水平有限,还是看的似懂非懂
|
能力值:
( LV2,RANK:10 )
|
-
-
95 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
96 楼
看了以后对破解有了些了解
|
能力值:
( LV2,RANK:10 )
|
-
-
97 楼
学习,学习.在学习
|
能力值:
( LV2,RANK:10 )
|
-
-
98 楼
我是新人 谢谢 期待更好的作品
|
能力值:
( 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
|
能力值:
( LV2,RANK:10 )
|
-
-
100 楼
讲得很详细,很适合我这种刚学破解的小菜。
另外,我手里也有站长出的〈加密与解密〉这本书了,呵呵。。。
|
|
|