飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4269|回复: 7

[转贴] 加密狗破解复制解密过程中的一些基本术语

[复制链接]
  • TA的每日心情
    开心
    2023-8-16 00:26
  • 签到天数: 50 天

    [LV.5]常住居民I

    发表于 2015-10-3 09:52:38 | 显示全部楼层 |阅读模式

    下面谈到了一些在学习解密进程中常常遇到的底子术语,自个依据自个的阅历简略给咱们谈一谈。这些疑问关于初学者来说常常是很需求搞理解的,依据我自个的学习阅历,若是你直接照着许多破解教程去学习的话,八成都会把自个搞得满头的雾水,由于有许多的概念要么自个不是很明白,要么底子就不晓得是如何一回事,所以期望经过下面的评论给咱们必定的协助:

    1. 断点

    所谓断点即是程序被中止的当地,这个词关于解密者来说是再了解不过了。那么啥又是中止呢?中止即是由于有特别事情(中止事情)发作,计算机暂停当时的使命(即程序),转而去履行别的的使命(中止效劳程序),然后再回来原先的使命持续履行。打个比方:你正在上班,俄然有同学打电话通知你他从外地坐火车过来,要你去火车站接他。然后你就向老板暂时请假,赶往火车站去接同学,接着将他安排好,随后你又回来公司持续上班,这即是一个中止进程。咱们解密的进程即是比及程序去获取咱们输入的注册码并预备和正确的注册码相对比的时分将它中止下来,然后咱们经过剖析程序,找到正确的注册码。所以咱们需求为被解密的程序设置断点,在恰当的时分切入程序内部,追寻到程序的注册码,然后到达crack的意图。

    2. 领空

    这是个非常重要的概念,可是也初学者是常常不理解的当地。咱们在各式各样的破解文章里都能看到领空这个词,若是你搞不明白究竟程序的领空在哪里,那么你就不能够进入破解的大门。或许你也曾破解过某些软件,但那只是瞎猫碰到死老鼠罢了(曾经我即是这样的^_^,如今说起来都不好意思喔!)。所谓程序的领空,说白了即是程序自个的当地,也即是咱们要破解的程序自个程序码所在的方位。或许你马上会问:我是在程序运转的时分设置的断点,为啥中止后不是在程序自个的空间呢?由于每个程序的编写都没有固定的形式,所以咱们要在想要切入程序的时分中止程序,就有必要不依赖详细的程序设置断点,也即是咱们设置的断点应该是每个程序都会用到的东西。在DOS年代,底子上一切的程序都是作业在中止程序之上的,即简直一切的DOS程序都会去调用各种中止来完成使命。

    可是到了WINDOWS年代,程序没有权利直接调用中止,WINDOWS体系供给了一个体系功用调用渠道(API),就向DOS程序以中止程序为根底一样,WINDOWS程序以API为根底来完成和体系打交道,然后各种功用,所以WINDWOS下的软件破解其断点设置是以API函数为根底的,即当程序调用某个API函数时中止其正常运转,然后进行解密。例如在SOFTICE中设置下面的断点:bpx GetDlgItemText(获取对话框文本),当咱们要破解的程序要读取输入的数据而调用GetDlgItemText时,立即被SOFTICE阻拦到,然后被破解的程序停留在GetDlgItemText的程序区,而GetDlgItemText是处于WINDWOS自个办理的体系区域,若是咱们私行改掉这有些的程序代码,那就大祸临头了^_^!所以咱们要从体系区域回来到被破解程序自个的当地(即程序的领空),才干对程序进行破解,至于如何看程序的领空请看前面的SOFTICE图解。试想一下:关于每个程序都会调用的程序段,咱们能够从那里找到啥有用的东西吗?(如何样去加密是程序自个决议的,而不是调用体系功用完成的!)

    3. API

    即Application Programming Interface的简写,中文叫应用程序编程接口,是一个体系界说函数的大集合,它供给了拜访操作体系特征的办法。 API包含了几百个应用程序调用的函数,这些函数履行一切有必要的与操作体系有关的操作,如内存分配、向屏幕输出和创立窗口等,用户的程序经过调用API接口同WINDOWS打交道,不管啥样的应用程序,其底层结尾都是经过调用各种API函数来完成各种功用的。一般API有两中底子形式:Win16和Win32。 Win16是本来的、API的16位版别,用于Windows 3.1;Win32是如今的、API的32位版别,用于Windows 95/98/NT/ME/2000。Win32包含了Win16,是Win16的超集,大多数函数的姓名、用法都是一样的。

    16位的API函数和32位的API函数的差异在于最终的一个字母,例如咱们设置这样的断点:bpx GetDlgItemText、bpx GetDlgItemTextA和bpx GetDlgItemTextW,其间 GetDlgItemText是16位API函数,GetDlgItemTextA和GetDlgItemTextW是32位API函数,而GetDlgItemTextA表明函数运用单字节,GetDlgItemTextW表明函数运用双字节。如今咱们破解中常用到的是Win32单字节API函数,即是和GetDlgItemTextA相似的函数,其它的两种(Win16 API和Win32双字节API函数)则对比罕见。 Win32 API函数包含在动态链接库(Dynamic Link Libraries,简称DLLs)中,即包含在kernel32.dll、user32.dll、gdi32.dll和comctl32.dll中,这即是为啥咱们要在softice顶用exp=C:\windows\system\kernel32.dll等指令即将这些动态链接库导入softice中的缘由。由于不这样做的话,咱们就无法阻拦到体系Win32 API函数调用了。

    4. 关于程序中注册码的存在方法

    破解进程中咱们都会去找程序中将输入的注册码和正确的注册码相对比的当地,然后经过对程序的盯梢、剖析找到正确的注册码。可是正确的注册码一般在程序中以两种形状存在:显式的和隐式的,关于显式存在的注册码,咱们能够直接在程序所在的内存中看到它,例如你能够直接在SOFTICE的数据窗口中看到相似"297500523"这样存在的注册码(这里是随意写的),关于注册码显式存在的软件破解起来对比简单;可是有些软件的程序中并不会直接将咱们输入的注册码和正确的注册码进行对比,比方有能够将注册码换算成整数、或是将注册码拆开,然后将每一位注册码分开在不一样的当地逐个进行对比,或者是将咱们输入的注册码进行某种改换,再用某个特别的程序进行验证等等。

    总归,应用程序会采纳各种不一样的杂乱运算方法来逃避直接的注册码对比,关于这类程序,咱们一般要下功夫去细心盯梢、剖析每个程序功用,找到加密算法,然后才干破解它,当然这需求必定的8086汇编编程功底和很大的耐性与精力。


    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-4-6 11:41
  • 签到天数: 1827 天

    [LV.Master]伴坛终老

    发表于 2015-10-3 11:45:59 | 显示全部楼层
    进来了解一下
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 956 天

    [LV.10]以坛为家III

    发表于 2015-10-3 12:43:24 | 显示全部楼层
    你还在一直发?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-2-26 09:26
  • 签到天数: 618 天

    [LV.9]以坛为家II

    发表于 2015-10-3 18:19:34 | 显示全部楼层
    直接是百度下来的吧与水贴一样
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-10-19 08:50
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2015-10-28 15:29:36 | 显示全部楼层
    感谢,新手学习了,收藏
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-2-28 15:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-3-22 23:03:39 | 显示全部楼层
    学习一下了,感谢分享了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-7-21 14:56
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2016-5-13 13:11:20 | 显示全部楼层
    学习一下了,感谢分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-1-14 18:13
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2016-8-2 01:18:04 | 显示全部楼层
    学习一下了,感谢分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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