首页
社区
课程
招聘
[旧帖] [原创]修改关键跳与修改关键CALL的区别[邀请码已发] 0.00雪花
发表于: 2010-5-10 21:17 2978

[旧帖] [原创]修改关键跳与修改关键CALL的区别[邀请码已发] 0.00雪花

2010-5-10 21:17
2978
修改关键跳与修改关键CALL的区别(申请邀请码)
  看雪的朋友大家好,我是绝迹•危言,qq:276592716
   学了几个月的破解,还是个菜鸟,经常看别人的教程。在很多牛人的教程的教程中,讲到爆破的时候会说到改关键跳和改关键CALL的问题,往往是说改关键CALL比较彻底,但是没说为什么会这样。经常有时候遇到些比较简单的重启验证的程序,改了关键CALL就解决了,而改了关键跳重启后还是没什么用,很多和我一样的菜鸟一开始肯定不了解。在新手区就有看到类似如下的回复:
 
今天我来谈谈自己的看法。。
我们破解软件的时候往往是针对软件的注册按钮下功夫,一般来说,我会先用F12暂停法获得MessageBoxExA的地址(假设现在在分析一个VC++的程序,且找不到有用的字符串吧),比如
 
,然后在这边下断点,重新来,F9,断下,单步走,直到
 
到了用户的领空。。
向上拉,可以看到所谓的关键跳和关键CALL
 
在这边,改关键跳可以显示注册的信息,保存后,但是重新启动后又出现注册的对话框了~~,而把关键CALL改为
mov eax,1
retn
后保存,再重新注册,重启就不会有要注册的对话框了。
现在到了这篇文章的正题••

第一个问题:为什么改关键跳不行?
这是因为在改完关键跳后,程序本身可能只是保存了用户名,密码,没有保存已经成功注册的状态,所以在重新启动验证后,程序检查用户名,密码,发现不对,所以继续显示要注册的信息。有些程序之所以修改后能使重启验证失效,是因为程序重新启动时只检查注册的状态(可能保存在注册表里面或者其他什么文件里),所以会成功。。

第二个问题:为什么改关键CALL就行?
因为这边的关键CALL和重新启动时候用到的验证CALL是同一个,或者说后者调用了前者。为什么这么说,从程序员的角度来说,他的主要验证通常包括也就验证输入的合法性,然后就是正确性。合法性这边不考虑了,对于正确性的核心代码往往只有一份,比如test1(),然后呢,程序员只会嵌套调用test1(),比如:
test2()
{
  //•••
  test1();
}
  学过C++的人应该知道类的继承性,总是用旧类来武装新类。对于函数也是一样,一个函数往往是其他函数结合起来的。归根到底,有关验证用户合法性的函数都会调用这个关键CALL,一个程序员一般来说不可能特地去写两个函数完成差不多的功能,这样会导致代码量膨胀,影响程序的可读性。。

百度了一下,好像没发现提到这个问题的,写出来欢迎大家一起讨论,也希望管理员给个邀请码~~
  个人理解,还是个菜鸟,希望大伙拍砖•~~

[课程]Android-CTF解题方法汇总!

上传的附件:
  • 2.jpg (33.20kb,541次下载)
  • 3.jpg (38.48kb,542次下载)
  • 4.jpg (41.06kb,540次下载)
  • 1.jpg (20.85kb,541次下载)
收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶下~~~
2010-5-10 21:28
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
期待高人指点
2010-5-10 21:37
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
厉害,顶。。。。。。。。。。。。
2010-5-10 21:40
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
这个没啥意思,不过还是鼓励下
2010-5-12 03:47
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很详细,谢谢
2010-5-12 08:24
0
雪    币: 780
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不错,有一定的指导意义
2010-5-12 08:39
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错 学习了
2010-5-12 20:09
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
论坛应该多些LZ这些真正是学习的人
看得出LZ是认真的思考学习过了的

本人最讨厌上来就问 这个壳怎么脱。这个软件怎么破解的人。这些人都不是真正想学习的
学习应该从基础学起

支持LZ
2010-5-12 22:48
0
雪    币: 452
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
来学习一下,看看高手!
2010-5-12 23:04
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习应该从基础学起
2010-5-12 23:42
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼主很快要进阶了。。
2010-5-13 01:37
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习了  谢谢LZ
2010-5-20 00:22
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
学习了呀哈哈
2010-5-20 16:39
0
雪    币: 1681
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
itf
15
膜拜下 学些了 ·~~~~~~~~~~
2010-5-20 16:45
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
刚来的学习下。。。。
2010-5-20 23:31
0
雪    币: 6048
活跃值: (3125)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这才是精品啊,学习一下,楼主厉害啊
2010-5-21 09:11
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
再回来看看,确实不错,得赶紧学习了!
2010-5-23 12:42
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢你的讲解,我是一个新手,希望大家能够理解新手的思考能力。
2010-5-24 19:46
0
雪    币: 240
活跃值: (388)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
这贴我顶了!
2010-5-24 20:24
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
好文章啊,大受启发!我以前就是一直改关键跳,可就像楼主说的,重启程序又打回了原形。看这此文后知道了原来还有个改关键CALL!谢谢楼主的分享,这回我可要试试了。
2010-5-27 13:09
0
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不错     ,明白了,不过没遇到重启是小的
2010-5-27 20:07
0
雪    币: 407
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
正有此问,学习了
2010-5-28 09:46
0
游客
登录 | 注册 方可回帖
返回
//