翻译:李密天资明决,为龙为蛇,固不可测也。
李密性格明达有决断,为人行事既可以像龙一样的光明正大,又能像蛇那样的阴险狠毒,实在是难以预料啊
软件破解最基本的6个术语
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汇编编程功底和很大的耐心与精力。
5. 关于软件的破解方式:
本人将破解方式分为两大类,即完全破解和暴力破解。所谓完全破解主要是针对那些需要输入注册码或密码等软件来说的,如果我们能通过对程序的跟踪找到正确的注册码,通过软件本身的注册功能正常注册了软件,这样的破解称之为完全破解;但如果有些软件本身没有提供注册功能,只是提供试用(DEMO),或是注册不能通过软件本身进行(例如需要获取另外一个专用的注册程序,通过INTERNET的注册等等),或者是软件本身的加密技术比较复杂,软件破解者的能力、精力、时间有限,不能直接得到正确的注册码,此时我们需要去修改软件本身的程序码。
6. 关于破解教程中程序代码地址问题:
破解教程中都会放上一部分程序代码以帮助讲解程序的分析方法
破解是什么?
说的通俗点的吧!所谓破解就是黑客利用PSP的官方系统的漏洞研制出可以玩可以玩ISO镜像游戏的自制系统,你就不用买正版游戏盘了(正版的游戏盘好几百啊!)另外还能玩模拟器的游戏及其他的自制游戏了!
zip明文破解有文件破解不了
如果你的文件格式确定是zip的话,可以尝试多换几个压缩文件程序,你有密码不应该打不开。如果是暴力破解的话,其实概率是很低的,除非密码设置的非常简单。
还有一种可能,常用手法,好多人会故意设置成zip格式,其实是其他格式的。你可以尝试手动更改一下文档格式,例如改成rar或者7z等,祝你好运~~
C语言简单密码破解(密文转明文)
调了半天,楼主真是太粗心了!middle1[]应该这样声明:
char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
最后输出start的时候要注意控制长度,改个for循环就好了!
#includestdio.h
#includestring.h
int main(void)
{
int i,j,length,n;
char temp;
char middle2[27];
char start[201],finish[201];
char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
gets(middle2);
gets(finish);
scanf("%d",n);
length=strlen(finish);
for(i=0;i25;i++)
{
for(j=i+1;j26;j++)
{
if(middle2[i]middle2[j])
{
temp=middle2[i];
middle2[i]=middle2[j];
middle2[j]=temp;
temp=middle1[i];
middle1[i]=middle1[j];
middle1[j]=temp;
}
}
}
for(i=1;i=n;i++)
{
for(j=0;jlength;j++)
{
if(finish[j]==' ')
{
start[j]=' ';
}
else
{
start[j]=middle1[finish[j]-'A'];
}
}
}
for( i = 0;i length;++i)
printf("%c",start[i]);
printf("\n");
return 0;
}
/*
ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/
如何命令破解root 密码
启用单用户模式进入后password输入新密码就可以
一、单用户模式;
Linux rescue另外单用户模式还有一个前提是您的grub 或者lilo 是能正常工作的;并且您知道您的系统问题发生在哪里,当以单用户模式登录时,您能打开文件系统的写操作,然后进行您想要进行的系统修复;
可能有的弟兄会说“我真的不知道系统哪块出了问题”,呵,如果真的不知道,那我也无能为力了,因为本文档主要讲述登录模式,并不是讲述如何修复系统的;
1、以grub 系统引导管理器,单用户登录方法;
在grub 启动后,移动键盘到Linux的启动项;按e键;然后再移动键盘到类似下面的一行,也就是kernel的那行:kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet 把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 Linux single,也就是类似如下的:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet Linux single结束编辑,按回车返回; 接着我们要启动系统,按一下b键启动;当进入单用户模式运行后,系统提示我们输入root密码;输入正确后会进入系统;您可以用df -h 来查看文件系统挂载位置等,也可以用fdisk -l 来查看分区等;但对文件系统的写操作,可能还要看下面的;
单用户进入系统后,可能系统是只读的;要运行下面的命令;#mount -o remount,rw /
2、lilo 引导管理器单用户模式;
在boot:处输入Linux single 当进入单用户模式运行后,系统提示我们输入root密码;输入正确后会进入系统;您可以用df -h 来查看文件系统挂载位置等,也可以用fdisk -l 来查看分区等;
但对文件系统的写操作,可能还要看下面的;单用户进入系统后,可能系统是只读的;要运行下面的命令;#mount -o remount,rw /
二、Linux rescue 修复模式;
Linux的修复模式就是 Linux rescue;修复模式并不需要系统密码,当进入修复模式后,系统会提示我们要挂载哪个分区上的文件系统,我们根据自己的系统情况来选择就就是了。登录完成后,系统也会提示所在分区的文件系统会被挂载到哪个目录;如果您不知道挂载在哪里,请通过 df -h 来查看;
修复模式需要安装盘的第一张或独立的修复盘;比如 Fedora 就有专门的修复盘;其实修复盘在一定意义上来说类似livecd,是不需要安装到硬盘也能运行系统;然后通过mount 来挂载文件系统;
其实当我们执行Linux rescue 时,象Fedora 这类的系统,会有一些提示,比如他提示他要mount 哪个分区,我们选择一下就行了;执行修复模式时,需要以下几个步骤;
其一:在BIOS中,设置首个启动驱动器为CDROM;
其二;找出系统安装盘的第一张;放入CDROM ;当光盘运行时,会提示安装的界面;
在boot:后面输入 Linux rescue ,然后按回车;boot:Linux rescue 进入修复模式,我们能做些什么呢??什么都可以做,比如挂载usb盘进行数据备份;修改系统中的配置文件... ... 重新设置root密码、挂载文件系统 ... ... 只要能想到,大多都可以完成;
三、跨越控制台登录;
真正的跨越控制台登录是不需要输入root密码的,如果您把root密码丢失,就要想到跨越控制台登录;我们前面所说的Linux rescue 从本质上来说,就是跨越控制台登录,因为无需要密码验证就能登录系统;
跨越控制台登录主要包括:借grub和lilo 跨越控制台登录; Linux rescue 模式;第三方livecd 系统和第三方Linux系统;
1、通过grub和lilo 引导,跨越控制台登录;
1)如果您用的是grub进行系统引导;
在grub 启动后,移动键盘到Linux的启动项;按e键;然后再移动键盘到类似下面的一行,也就是kernel的那行:kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet 把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 Linux single,也就是类似如下的:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet Linux init=/bin/bash结束编辑,按回车返回; 接着我们要启动系统,按一下b键启动;可能系统是只读的;要运行下面的命令;
#mount -o remount,rw /然后我们可以通过 df -h 来查看文件系统的加载情况;既然都把文件系统挂载了,有什么活干不了的呢?重设root密码,备份文件... 比如重设root密码;#passwd
2)如果您用lilo 进行系统引导;
在boot:处输入boot:Linux init=/bin/bash当进入系统后,您可以用df -h 来查看文件系统挂载位置等,也可以用fdisk -l 来查看分区等;但对文件系统的写操作,可能还要看下面的;
可能系统是只读的;要运行下面的命令;#mount -o remount,rw /
2、Linux rescue ;
请参考前面第二点所说的修复模式;
3、借Linux的livecd光盘 或第三方Linux系统;
Linux的livecd版本是无需安装的Linux 系统,在光盘上就可以运行的Linux 系统; livecd 大多是用来修复之用,livecd 集成了常用的系统操作工具;第三方Linux系统是指你的机器上安装一个以上的Linux系统,如果其中一个发生问题,我们就可以用另一个来修复;
livecd 和第三方Linux系统来修复已经被破坏的Linux ,常用的工具有mount 和chroot等等 ;如果您只是简单的更改存在问题的系统文件,用mount 就足够了。chroot 工具可以改变/,进而进入另一个系统,这个工具的确有用。
我们还是举个例子来说明如何通过用mount和chroot;至于机器中第三方Linux和Livecd的使用比较简单,这里就不多说了;livecd就是在光盘上运行的Linux ,您可以找一个livecd的发行版本刻录一下就能用了,使用简单方便;
下载地址:http://www.frozentech.com/content/livecd.php常用的有 SLAX,Knoppix,Damn Small Linux,Ubuntu ... 大体都差不多,下载一个小的备用也行,就看您怎么用了;通过livecd Linux 或其它Linux 来修复已经破坏的Linux步骤如下:
1)mount 挂载文件系统;
注:执行mount 及chroot时,要以root权限运行,以下同;比如存在问题的系统位于 /dev/hda5 ,如果您不知道哪个分区是Linux的,您可以通过fdsik -l 来查看;
[root@localhost ~]# fdisk -l 注:查看分区情况; [root@localhost ~]# pwd 注:确定当前工作目录; /root 注:当前工作目录为/root [root@localhost ~]# mkdir systmp 注:在当前工作目录下创建一个临时目录; [root@localhost ~]# mount /dev/hda5 systmp/ 注:挂载hda5到tmpsys目录中; [root@localhost ~]# df -h 注:查看是否已经挂载; Filesystem 容量 已用 可用 已用% 挂载点 /dev/hda8 11G 9.8G 581M 95% / /dev/shm 236M 0 236M 0% /dev/shm /dev/hda5 7.9G 5.9G 2.0G 76% /root/systmp 注:看好了,是挂载到了/root/systmp目录中; 既然把/dev/hda5分区的文件系统已经挂载了,我们就能对已经挂载的文件系统进行写操作;如果是简单的备份和文件修改,是完全能行的;
注意:在写操作的过程中,要倍加不心,在操作某个文件的时候,要先备份;当出现不能mount的情况,可能是您的当前所用的内核不支持相应的文件系统;如果系统要求指定文件系统的时候,请看如下的例子;mount -t 文件系统类型 磁盘分区 挂载目的目录
对于Linux的文件系统类型主要有:reiserfs,ext3,ext2;具体用什么文件系统类型,你最明白;如果您还是不知道,就一个一个的尝试;比如我的hda5是reiserfs的,可以用下面的命令来挂载;[root@localhost ~]# mount -t reiserfs /dev/hda5 systmp/
2)chroot 到已经挂载的文件系统;
chroot这个工具很有用,很多Linux都支持chroot切换到另一个文件系统中,然后进行一系列系统包的安装和系统配置;这并不是说任何文件系统都能chroot切入 ,首先这个文件系统中得具备系统运行的一定的工具和环境,比如/bin和/sbin 目录是拥有等..用中文表达不清楚,还是举例来说明;
比如我的机器中有两个Linux系统,一个运行正常,另一个有点问题(比如是root密码忘记了),我想通过正常的系统来修复另一个;首先我们进行的是mount ,也就是前面所说的,然后下一步就是chroot ;通过chroot 切换到要修复的文件系统中;
比如存在问题的系统位于 /dev/hda5
[root@localhost ~]# fdisk -l [root@localhost ~]# pwd /root [root@localhost ~]# mkdir systmp [root@localhost ~]# mount /dev/hda5 systmp/ [root@localhost ~]# df -h Filesystem 容量 已用 可用 已用% 挂载点 /dev/hda8 11G 9.8G 581M 95% / /dev/shm 236M 0 236M 0% /dev/shm /dev/hda5 7.9G 5.9G 2.0G 76% /root/systmp [root@localhost ~]# chroot systmp 注:chroot到hda5分区的系统中; bash-3.00# 注:已经登录; bash-3.00# df -lh 注:查看文件系统挂载情况; Filesystem 容量 已用 可用 已用% 挂载点 /dev/hda5 7.9G 5.9G 2.0G 76% / proc 7.9G 5.9G 2.0G 76% /proc sysfs 7.9G 5.9G 2.0G 76% /sys Linux rescue上面我们就通过chroot 命令完成了通过一个系统到另一个系统的跨控制台登录;Livecd 如果要完成此任务,也是通过这样过程完成的。我们既然已经登录到有问题的系统了,可以进行相应的修复工作,比如对root密码的恢复,软件包的安装,相应文件的修改... ... 我想您应该知道怎么做,对不对???
Linux rescue有些发行版的安装盘类似livecd ,比如slackware 的安装盘的第一张,当他启动到让你输入用户名和密码进行安装时,我们不必输入什么,或者直接输入root ,就能进入cdrom 虚拟环境了;这时我们就用前面所说mount加载文件系统,然后chroot挂载的文件系统;
四、后记; 正在写文件系统的管理,可能要花几天时间;努力之中;
看到论坛的弟兄还在大呼丢了root密码怎么恢复,虽然坛里也有不少文档,但大多没有形成系统,为了解决问题而重写此文,可能有的弟兄需要这样的文档;既然有“市场”,我就写,没有什么大不了的;有的弟兄认为是小题大作,就当我锻炼身体好了;这样的文档谁都会写,没有什么难的;
【编辑推荐】
Linux rescuev修复模式跨越控制台登录
深入浅出的了解Linux rescue
Linux ifconfig关于网络接口及配置工具说明
Linux vmware操作系统v添加vmhgfs的模块到内核
Linux Monitorix套件解压缩修改安装程式
破财该怎么去破解有什么方法
一、财位缺角:
屋形四四方方,无凹无凸,风水上一般视为吉宅。但今日住房的价格上涨、地皮紧缺,或者房地产建筑商以及设计师一味追求经济或者个性而忽略风水等因素,都会导致有些人买到不是四方以及造型奇特的房屋。如果这样就需要注意了。如果缺角的位置在家宅的宅运财位上,就会突显家中漏财的状况;如果占了以上状况中的一种甚至更多,即使你挣的再多,都会无端端的破财。
化解方法:天圆地方房间四方最佳,缺西北角东北角不利男人事业和身体,更不利于子孙,缺东南角西南角不利女主人。可用五岳之首吸收亿万年精华之“泰山石”专业补缺角填实化煞。
二、大门对窗户:
家宅的大门正对着窗户,也是漏财的一种。大门的开动会带动屋内的财气,若大门正对着窗户,表明财气从门入,而后随窗户出去,直来直去,没有留下来的意思,难以聚财。
化解方法:门为口、窗为眼,要懂得护眼,主要解决各种窗外煞的影响。要用七星太极镇。窗外有医院殡仪馆、法院寺庙等独阴独阳之地,自古避之,不仅不利于家庭财运还对身体精神和事业子孙影响非常大,一定要化解。
三、睡床门正对大门:
若是睡房门正对大门,也属于漏财的格局,这样不光花掉自己的积蓄,自己可以存不住什么钱财。并且有损卧室主人的健康,导致身体虚弱。
化解方法:这种格局不多,但也不例外,有缘主家的格局就是如此“巧合”设计。这种漏财格局,可用一些风水物品化解。
四、大门走廊房门成一条直线:
如果大门、走廊与房门成一条直线,也是泄气漏财的格局,假若房内窗口也是在这条直线上,那么漏财的状况会更严重。
化解方法:这种风水跟缺角风水的利害一样凶。直来直往,最好用风水道具比如葫芦或者屏风来缓解气场的直冲。