明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: yxp

[讨论] LSP 加密与解密

[复制链接]
发表于 2018-5-17 10:19 | 显示全部楼层
不错的资料
发表于 2018-5-17 19:44 | 显示全部楼层
luqzcm 发表于 2018-5-16 20:50
出现提示:; 错误: 此类型的 LISP 值不能强制转换成 VARIANT:  11130

好像是这个语句的问题:(vlax-safe ...

CAD2014

点评

yxp
我的2014运行没问题,你可能是精简版的,某些支持库被精简掉了。  发表于 2018-5-17 20:21
发表于 2018-5-18 08:23 | 显示全部楼层
很厉害,最近也是发现,精简版的CAD都会出现小问题,还是用完整版好点
发表于 2018-5-19 19:43 | 显示全部楼层
本帖最后由 mokson 于 2018-5-19 19:45 编辑

如果 vlx 解密为 lsp 就好了。
发表于 2018-5-22 12:36 | 显示全部楼层
感謝樓主的分享
可惜的是,還是可以被解密...
发表于 2019-8-2 07:47 | 显示全部楼层
请问楼主,lisp问编译为vlx与楼主加密有啥区别?
发表于 2020-2-5 13:23 | 显示全部楼层
加密之后编译了用不了呀
发表于 2020-11-13 21:32 | 显示全部楼层
这个加密没问题的,也是cad内部文件的一ge保护模式,故必须有第一句,加密后的把那一句去掉也不行了

算半公开的,以前有人专门写过论文

以前黄明儒在晓东发过一个老外的,但不全,这个是根据那个写的
发表于 2021-6-26 22:00 | 显示全部楼层
请问下如果加密了一段代码。能调用就好了。
发表于 2022-2-11 09:39 | 显示全部楼层
//lsp文件加密文件的解密:

bool unProtected_Lisp_1()

{undefined

char fin[1000];

char fou[1000];

// 选择的文件名称

CString lv_strFileName = _T("");

// 设置文件过滤格式

CString lv_strFilterLSP = _T("lsp文件(*.lsp)|*.lsp|");

CString lv_strFileFilter = lv_strFilterLSP;

// 设置文件后缀名称

CString lv_strName[] = {"", "lsp",""};

CString lv_strExtension = _T("");

CString m_strFilePathName;

CString m_strFileName;

CString m_strExtName;

// 打开保存文件对话框

CFileDialog lv_FileOpenDlg(FALSE, NULL, NULL, OFN_HIDEREADONLY, lv_strFileFilter);

lv_FileOpenDlg.m_ofn.lpstrTitle   =   "【LISP文件解密】 选择已加密的LISP文件:";

if (IDOK != lv_FileOpenDlg.DoModal())

{undefined

return false;

}

else

{undefined

//  CString CFileDialog::GetPathName :得到完整文件名,包括目录名和扩展名如:c:/test/test1.txt

//  CString CFileDialog::GetFileName :得到完整文件名,包括扩展名如:test1.txt

//  CString CFileDialog::GetFileExt  :得到完整文件扩展名,如:txt

//  CString CFileDialog::GetFileTitle:得到完整文件名,不包括目录名和扩展名如:test1

m_strFilePathName = lv_FileOpenDlg.GetPathName();

m_strFileName = lv_FileOpenDlg.GetFileName();

m_strExtName = lv_FileOpenDlg.GetFileExt();

strcpy(fin,((LPSTR&)m_strFilePathName));

CString m_strOutFilePathName=m_strFilePathName.Left(m_strFilePathName.GetLength()-4);

m_strOutFilePathName.Replace("_pro","");

m_strOutFilePathName+="_res.lsp";

strcpy(fou,((LPSTR&)m_strOutFilePathName));

}

//

FILE *in_file,*out_file;

//register char zf1,zf2;

in_file=fopen(fin,"rb");

if(in_file==NULL)

{undefined

AfxMessageBox("\n不能打开LISP已加密的源文件!");

return false;

}

CString strINdex;

fgets((LPSTR&)strINdex, 28, in_file);

if(strINdex.Find("PROTECTED LISP")==-1)

{undefined

fclose(in_file);

AfxMessageBox("\nLISP文件没有加密,不用解密!");

return false;

}

out_file=fopen(fou,"wb");

if(out_file==NULL)

{undefined

fclose(in_file);

AfxMessageBox("\n不能建立LISP解密文件!");

return false;

}

//30:1Bytes,存储密码字符,如'A'

//fputc('A',out_file);

unsigned char pass_ch;

long strPass=30;

fseek(in_file,strPass,SEEK_SET);

pass_ch=fgetc(in_file);

//fputs(";;AutoCAD unPROTECTED LISP file",out_file);//27个

//fputs("\0x0D\0x0A",out_file);

//putc(0x0A,out_file);//27个 0x0A

//printf("strPass=%s\n",pass_ch);

//CString strFormat;

//strFormat.Format("strPass=%d\n",pass_ch);

//AfxMessageBox(strFormat);

int nIndex=0;

unsigned char old_ch;

unsigned char new_ch;

unsigned int i;

fseek(in_file,31,SEEK_SET);

while (! feof (in_file))

{undefined

old_ch=fgetc(in_file);

//文件结束中断循环

if (old_ch == 0x1A) //0x1A 文件结束

{undefined

break;

}

//若为回车继续循环

if (old_ch == 0x0D) //0x0D 回车

continue;

//异或运算

new_ch = pass_ch ^ old_ch;

//用上一密码字符

if ((new_ch == 0x0D)||(new_ch == 0x1A)) //是 回车 或 文件结束

new_ch=old_ch;

//若为换行,则加回车

if (new_ch == 0x0A) //0x0A 换行

putc (0x0D,out_file); //0x0D 回车

//写入已加密字符

putc(new_ch,out_file);

//左移一位,相当于乘2

i=old_ch; //注意:这里与加密不同!!!

i = i<<1;

//溢出位1,加到末位

if (i>255)

i=i-255;

//产生新的密码字符

pass_ch = (unsigned char) i;

}

fclose (in_file);

//putc(0x1A,out_file);

fclose (out_file);

return true;

}
————————————————
版权声明:本文为CSDN博主「weixin_39902608」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39902608/article/details/111764004
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 20:23 , Processed in 0.558255 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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