联众密码的逆向算法公布

function Decode(aValue:String):string;
var
    iValue:array [0..63]of Byte;
    i,j,k,iAL,iCL:Byte;
    Pass:array[0..15]of char;  //密码最长不超过15位
begin
    //str to int
    i:=0;
    j:=0;
    while (1=1) do
    begin
        //这里需要改进
        j:=Pos(' ',aValue);
        if j<=0 then
        begin
            iValue[i]:=strToint(aValue);
            break;
        end;
        iValue[i]:=StrToInt(Copy(aValue,1,j-1));
        inc(i);
        aValue:=copy(aValue,j+1,length(aValue)-j);
    end;

//xor
    for i:=63 downto 1 do
        iValue[i-1]:=iValue[i-1] xor iValue[i];

//
    for i:=15 downto 1 do
    begin
        iAL:=iValue[i];
        iCL:=iAL;
        ASM
            MOV AL,iAL
            SAR AL,4
            AND AL,$F
            MOV iAL,AL
        end;    //直接用SHR也可以,不过反汇编是SAR,pascal里没有SAR   
        j:=iAL+$30;
        iAL:=iValue[j];
        iCL:=iCL and $f;
        iCL:=iValue[0]+iCL;
        k:=iCL;
        iCL:=iValue[k];
        iValue[j]:=iCL;
        iValue[k]:=iAL;
    end;

i:=iValue[0];
    j:=1;
    while iValue[i]<>0 do
    begin
        Pass[j-1]:=chr(iValue[i]);
        Inc(i);
        Inc(j);
    end;

Result:=Pass;
end;

(0)

相关推荐

  • 联众密码的逆向算法公布

    function Decode(aValue:String):string; var     iValue:array [0..63]of Byte;     i,j,k,iAL,iCL:Byte;     Pass:array[0..15]of char;  //密码最长不超过15位 begin     //str to int     i:=0;     j:=0;     while (1=1) do     begin         //这里需要改进         j:=Pos(' 

  • Python3 hashlib密码散列算法原理详解

    1.hashlib密码散列 hashlib模块定义了一个API来访问不同的密码散列算法.要使用一个特定的散列算法,可以用适当的构造器函数或new()来创建一个散列对象.不论使用哪个具体的算法,这些对象都使用相同的API. 1.1 散列算法 由于hashlib有OpenSSL提供"底层支持",所以OpenSSL库提供的所有算法都可用,包括: md5 sha1 sha224 sha256 sha384 sha512 有些算法在所有平台上都可用,而有些则依赖于底层库.这两种算法分别由algo

  • 动易2006序列号破解算法公布

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls,MD5,BASE64,math,CLIPBRD, ExtCtrls,DateUtils; type   TForm1 = class(TForm)     Edit1: TEdit;     Button1: TButton;     Label1: 

  • Python爬虫逆向分析某云音乐加密参数的实例分析

    本文转自:https://blog.csdn.net/qq_42730750/article/details/108415551 前言   各大音乐平台是从何时开始收费的这个问题没有追溯过,印象中酷狗在16年就已经开始收费了,貌似当时的收费标准是付费音乐下载一首2元,会员一月8元,可以下载300首.虽然下载收费,但是还可以正常听歌.陆陆续续,各平台不仅收费,而且还更在乎版权问题,因为缺少版权,酷狗上以前收藏的音乐也不能听了,更过分的是,有些歌非VIP会员只能试听60秒(•́へ•́╬).   版权

  • 密码哈希函数 Bcrypt的最大密码长度限制详解

    密码哈希函数 Bcrypt的最大密码长度限制 Bcrypt是一个很流行的密码哈希算法,是Niels Provos和DavidMazières基于Blowfish加密算法设计的密码哈希算法,于1999年在USENIX协会上提交.Bcrypt在设计上包含了一个盐Salt来防御彩虹表攻击,还提供了一种自适应功能,可以随着时间的推移,通过增加迭代计数以使其执行更慢,使得即便在增加计算能力的情况下,Bcrypt仍然能保持抵抗暴力攻击. Bcrypt是OpenBSD和SUSE Linux等操作系统默认的密码

  • 五种windows密码设置及破解

    在使用电脑的过程中,难免要与各类密码打交道,以下九种密码可能是大家用的最多的:BIOS密码.安装密码.用户密码.电源管理密码.屏保密码.开机密码.上网密码.分级审查密码和共享密码.今天,我们就谈谈这些和我们息息相关的密码,本篇文章先讲九大常用密码的前五种密码. 一.BIOS密码 BIOS(Basic Input Output System)即基本输入/输出系统,它实际上是被固化到计算机主板上的ROM芯片中的一组程序,为计算机提供最低级的.最直接的硬件控制.和其它程序不同的是,BIOS是储存在BI

  • 理解php Hash函数,增强密码安全

    1.声明 密码学是一个复杂的话题,我也不是这方面的专家.许多高校和研究机构在这方面都有长期的研究.在这篇文章里,我希望尽量使用简单易懂的方式向你展示一种安全存储Web程序密码的方法. 2."Hash"是做什么的? "Hash将一段数据(小数据或大数据)转换成一段相对短小的数据,如字符串或整数." 这是依靠单向hash函数来完成的.所谓单向是指很难(或者是实际上不可能)将其反转回来.一个常见的hash函数的例子是md5(),它流行于各种计算机语言和系统. 复制代码 代

  • 基于C#对用户密码使用MD5加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

  • 破解别人的asp木马密码的方法

    破解目标:破解一asp木马的经过加密的登破解asp木马密码陆密码.由于木马里没有版本说明,具体也不知道这木马叫什么名. 破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码.前者根本算不上真正的破解. 破解目的:没事破着玩. 如果得不到asp源代码,那么可以说对破解密码,我毫无胜算.有位华夏的朋友说他得到了一个web的权限, 但是无法修改主页,发现其中已经有个asp木马,但密码是经过加密的.那么就有了这篇动画了.好了,废 话太多了,那么,作好准备,这次的解说将会相当的漫长. as

  • PHP中常见的密码处理方式和建议总结

    前言 在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处理:也就是对密码的加密处理. 密码安全的重要性我们就不用再去强调,随着在线攻击的增多,如果我们对密码没有进行合适的处理或做防御措施,我们的应用就会肯定会收到来自各方的威胁和攻击. 所以作为开发者,我们需要对用户的密码做好预防措施. 关于密码我们应该遵守的一些原则 绝对不能知道用户的密码 我们绝对不能知道用户的密码,也不能有获取用户密

随机推荐