七库下载 手游攻略 手游攻略 pdf文档有密码怎么解密,winscp输入密码后被拒绝

pdf文档有密码怎么解密,winscp输入密码后被拒绝

时间:2024-04-09 08:25:05 来源:头条 浏览:0

默认情况下,WINSCP 将用户密码存储在注册表中的以下位置:

默认

HKEY_USERS\SID\Software\Martin Prikryl\WinSCP 2\Sessions\

然而,WinSCP 在WIN7\8 上的默认路径是:

默认

C:\Users\USERNAME\AppData\Local\VirtualStore\Program Files (x86)\WinSCP\WinSCP.ini(64 位操作系统)

C:\Program Files (x86)\WinSCP\WinSCP.ini(64 位操作系统)

C:\Users\USERNAME\AppData\Local\VirtualStore\Program Files\WinSCP\WinSCP.ini(32 位操作系统) - 专注于网络安全2 p% t+ \* j$ r- a

C:\Program Files\WinSCP\WinSCP.ini(32 位操作系统)

这是我记忆中最古老的事情

https://bitbucket.org/knarf/winscppwd/overview/s, u+ I+ P0 n3 m: [

源代码可供下载,编译后的程序可供下载使用。

https://bitbucket.org/knarf/winscppwd/downloads/winscppwd.exe

还有GO语言

https://github.com/anoopengineer/winscppasswd/blob/master/main.go

默认

包主

进口(

“唔。”

“男性”

\'运行\'

“strcon”

持续的(

PW_MAGIC=0xA3

PW_FLAG=0xFF

函数主() {

args :=os.Args[1:]

如果长度(参数)!=3 {

fmt.Println(\'WinSCP 保存的密码查找器\')

fmt.Println(\'打开regedit 并导航到[HKEY_CURRENT_USER\\Software\\Martin Prikryl\\WinSCP 2\\Sessions] 以获取主机名、用户名和加密密码\n\ ')

如果runtime.GOOS==\'windows\' {

fmt.Println(\'winscppasswd.exe 用法\')

} 除此之外{

fmt.Printf(\'用法./winscppasswd \')

}

返回

}

fmt.Println(解密(args[0], args[1], args[2]))

}

func解密(主机,用户名,密码字符串)字符串{

密钥:=用户名+ 主机

传递字节:=[]byte{}

for i :=0; i len(密码); i++ {

val, _ :=strconv.ParseInt(字符串(密码[i]), 16, 8)

密码=附加(密码,字节(val))

}

var 标志字节

标志,路径字节=dec_next_char(传递字节)

可变长度字节=0

如果标志==PW_FLAG {

_, 密码字节=dec_next_char(密码字节)

长度,路径字节=dec_next_char(路径字节)

} 除此之外{

长度=标志

}

toBeDeleted,密码:=dec_next_char(密码)

passbytes=passbytes[待删除*2:]

清除通行证:=\'\'

变量(

眼睛咬伤

瓦尔字节

对于i=0; i 长度; i++ {

val, 传递字节=dec_next_char(传递字节)

清除路径+=字符串(val)

}

如果标志==PW_FLAG {

畅通路径=畅通路径[len(key):]

}

返回畅通的路径

}

func dec_next_char(passbytes []byte) (byte, []byte) {

if len(传递字节)=0 {

0,返回传递字节

}

a :=传递字节[0]

b :=传递字节[1]

密码字节=密码字节[2:]

return ^(((a 4) + b) ^ PW_MAGIC)0xff,传递字节

}

附加Java

https://github.com/YuriMB/WinSCP-密码-恢复/blob/master/src/main/java/Main.java

默认

导入java.util.ArrayList。

导入java.util.List。

/**

* 由Yuri Meiburg 于2015 年4 月30 日创建。

*/

公共类主要{

/**

* ./core/Security.h:#define PWALG_SIMPLE_FLAG0xFF

*/

公共静态最终整数PWALG_SIMPLE_FLAG=0xFF;

/**

* ./core/Security.h:#define PWALG_SIMPLE_MAGIC0xA3

*/

公共静态最终字符PWALG_SIMPLE_MAGIC=0xA3;

公共静态列表fPassword=new ArrayList();

公共静态字符串主机名,用户名。

公共静态无效主(字符串[] args){

if (args.length !=3) {

系统.退出(0);

}

主机名=参数[0];

用户名=参数[1];

for( int i=0; i args[2].length(); ++i){

fPassword.add((char) Integer.parseInt(\'\'+args[2].charAt(i),16));

}

System.out.println(\'用户名=\' + 用户名);

System.out.println(\'主机名=\' + 主机名);

System.out.println(\'getPassword()=\' + getPassword());

}

/**

* UnicodeString __fastcall TSessionData:GetPassword() const

{

return DecryptPassword(FPassword, 用户名+主机名);

}

*/

静态字符串getPassword(){

返回解密密码(f密码,用户名+主机名);

}

/**

* UnicodeString DecryptPassword(RawByteString 密码, UnicodeString UnicodeKey, 整数)

* {

* UTF8String 键=UnicodeKey;

* UTF8字符串结果(\'\');

*整数索引;

* 无符号字符长度、标志;

*

* 标志=simpleDecryptNextChar(密码);

* if (标志==PWALG_SIMPLE_FLAG)

* {

* simpleDecryptNextChar(密码);

* 长度=simpleDecryptNextChar(密码);

* }

* 否则长度=标志;

* 密码.删除(1, ((整数)simpleDecryptNextChar(密码))*2);

* for (索引=0;索引长度;索引++)

* 结果+=(char)simpleDecryptNextChar(密码);

* if (标志==PWALG_SIMPLE_FLAG)

* {

* if (Result.SubString(1, Key.Length()) !=Key) Result=\'\';

* else Result.Delete(1, Key.Length());

* }

* 返回UnicodeString(结果)。

*}

*/

静态字符串解密密码(列出密码,字符串unicodeKey){

System.out.println(\'unicodeKey=\' + unicodeKey);

字符串键=unicodeKey;

字符串结果=\'\';

字符长度、标志。

标志=simpleDecryptNextChar(密码);

System.out.println(\'flag=\' + (int) flag);

如果(标志==PWALG_SIMPLE_FLAG){

/* 虚拟=*/simpleDecryptNextChar(密码);

长度=simpleDecryptNextChar(密码);

}

否则长度=标志;

System.out.println(\'length=\' + (int) length);

int newStart=((int)simpleDecryptNextChar(密码)*2);

System.out.println(\'newStart=\' + newStart + \',password.size()=\'+password.size());

删除项目(密码,0,newStart);

for(int索引=0;索引长度;++index)

结果+=simpleDecryptNextChar(密码);

System.out.println(\'结果=\' + 结果);

如果(标志==PWALG_SIMPLE_FLAG)

{

if (!result.substring(0, key.length()).equals(key)) result=\'\';

否则结果=result.substring(key.length());

}

返回结果。

}

/**

* 无符号字符simpleDecryptNextChar(RawByteString Str)

{

if (Str.Length() 0)

{

无符号字符结果=(无符号字符)

~((((PWALG_SIMPLE_STRING.Pos(Str.c_str()[0])-1) 4) +

((PWALG_SIMPLE_STRING.Pos(Str.c_str()[1])-1) 0)) ^ PWALG_SIMPLE_MAGIC);

删除(1, 2);

返回结果。

}

否则返回0x00。

}

* @参数str

* @返回

*/

静态公共字符simpleDecryptNextChar(列表str){

if(str.size() 0){

字符结果=unsignedChar(

unsignedChar(str.get(0) 4) + str.get(1) //删除位移溢出位。

) ^ PWALG_SIMPLE_MAGIC

);

删除项目(str, 0, 2);

返回结果。

}

否则返回0x00。

}

/**

*任何超过255 的数字都会向下舍入。

* @参数v

* @返回

*/

静态字符unsignedChar(int v){

返回值(字符)(v0xFF);

}

/**

* 从列表中删除项目

*/

静态无效RemoveItems(列表lst,int开始,int结束){

for(int i=0;我

lst.删除(开始);

}

}

}

标题:pdf文档有密码怎么解密,winscp输入密码后被拒绝
链接:https://www.7kxz.com/news/gl/20443.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
天地劫幽城再临归真4-5攻略:第四章归真4-5八回合图文通关教学

天地劫幽城再临归真4-5攻略:第四章归真4-5八回合图文通关教学[多图],天地劫幽城再临归真4-5怎么样八回合内通

2024-04-09
航海王热血航线艾尼路怎么玩?艾尼路加点连招攻略大全

航海王热血航线艾尼路怎么玩?艾尼路加点连招攻略大全[多图],航海王热血航线艾尼路怎么加点?艾尼路怎么连招?关

2024-04-09
坎公骑冠剑国际服怎么玩?国际服新手攻略

坎公骑冠剑国际服怎么玩?国际服新手攻略[多图],坎公骑冠剑国际服的玩法是什么样的?关于游戏中的一些新手玩法

2024-04-09
王者荣耀鸿运6+1地狱之眼怎么抽?鸿运抽奖地狱之眼概率获取攻略

王者荣耀鸿运6+1地狱之眼怎么抽?鸿运抽奖地狱之眼概率获取攻略[多图],王者荣耀鸿运抽奖活动的奖池中还有传说

2024-04-09