-
malaohu 说:
// KeyGen-editplus.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <windows.h> #include <time.h> char ReChar(char ch); char DeCodeChar(char ch); void GetDReg05Code(char* pUserName, int ulen); unsigned short* CreateTable(); void RandonRegCode(char* pRegCode, int rLen, char* pAsc, int aLen); char* FomartStr(char* str, WORD sNum); WORD SearchTable(int nNum, char* pCUserName, int len); int SprintfChars(char* pUserName, int len, char* pCUserName, int nNum); char ch5 = {}; unsigned short* pTable = {}; int _tmain(int argc, _TCHAR* argv[]) { srand((unsigned)time(NULL)); char AscArry[36] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A }; char RegCode[29] = {}; char DRegCode[29] = {}; char UserName[10] = {}; RandonRegCode(RegCode, 29, AscArry, 36); printf("input Name:"); scanf_s("%s", UserName, 10); int ulen = strlen(UserName); int rlen = _countof(RegCode); pTable = CreateTable(); char* pAscii = (char*)malloc(sizeof(char) * 3000); int slen = SprintfChars(UserName, ulen, pAscii, 3000); WORD sNum = SearchTable(0, pAscii, slen); char* pCNum = (char*)malloc(sizeof(char) * 10); FomartStr(pCNum, sNum); GetDReg05Code(UserName, ulen); RegCode[2] = ReChar(pCNum[0]); RegCode[3] = ReChar(pCNum[1]); RegCode[4] = ReChar(ch5); for (int i = 0; i < 29; i++) { if ((i + 1) % 6) { char ret = DeCodeChar(RegCode[i]); ret >>= 1; if (ret >= 10) DRegCode[i] = ret + 55; else DRegCode[i] = ret + 48; } else DRegCode[i] = 0x2D; } slen = SprintfChars(DRegCode + 2, rlen - 2, pAscii, 3000); sNum = SearchTable(0, pAscii, slen); FomartStr(pCNum, sNum); RegCode[0] = ReChar(pCNum[0]); RegCode[1] = ReChar(pCNum[1]); printf("RegCode:"); for (int i = 0; i < 29; i++) { printf("%C", RegCode[i]); } system("pause"); return 0; } int SprintfChars(char* pUserName, int len, char* pCUserName, int nNum) { int ret; int i = 0; int j = 0; if (len <= 0) { pCUserName = NULL; ret = 0; } else { while (j < len) { sprintf_s(&pCUserName[i], nNum - i, "%04X", pUserName[j++]); i += 4; } pCUserName[i] = 0; ret = i; } return ret; } WORD SearchTable(int nNum, char* pCUserName, int len) { WORD ret; int index; char* p = pCUserName; if (len <= 0) { ret = nNum; } else { ret = nNum; while (p < pCUserName + len) { index = *p++^LOBYTE(ret); ret = pTable[index] ^ (ret >> 8); } } return ret; } char* FomartStr(char* str, WORD sNum) { sprintf_s(str, 10, "%04X", sNum); return str; } unsigned short* CreateTable() { unsigned short * pTable = (unsigned short *)malloc(0x200); memset(pTable, 0, 0x200); for (int i = 0; i < 0x100; i++) { int j = 1; unsigned short eax = 0xC0C1; while (j < 0x100) { //test edx,ecx; if (i&j) pTable[i] ^= eax; eax += eax; eax ^= 0x4003; j += j; } } return pTable; } char ReChar(char ch) { char arr[] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A }; int len = _countof(arr); for (int i = 0; i < len; i++) { char tmp; char ret = DeCodeChar(arr[i]); ret >>= 1; if (ret >= 10) tmp = ret + 55; else tmp = ret + 48; if (tmp == ch) { return arr[i]; } } } char DeCodeChar(char ch) { //except:I/O char chArry[] = { 50, 51, 52, 53,// 2,3,4,5, 54, 55, 56, 57,// 6,7,8,9, 65, 66, 67, 68,// A,B,C,D, 69, 70, 71, 72,// E,F,G,H, 74, 75, 76, 77,// J,K,L,M, 78, 80, 81, 82,// N,P,Q,R, 83, 84, 85, 86,// S,T,U,V, 87, 88, 89, 90 // W,X,Y,Z }; char ret = 0; int v1 = 2; char* p = &chArry[1]; while (v1 - 2 < 32) { if (ch == *(p - 1)) ret = v1 - 2; if (ch == *(p)) ret = v1 - 1; if (ch == *(p + 1)) ret = v1; if (ch == *(p + 2)) ret = v1 + 1; p += 4; v1 += 4; } return ret; } void GetDReg05Code(char* pUserName, int ulen) { int nNum01 = 0; int nNum02 = 0; int nNum03 = 1; int i = 0; while (i < ulen - 1) { nNum01 += pUserName[i]; nNum02 += pUserName[i + 1]; i += 2; } if (i < ulen) nNum03 = pUserName[i] + 1; sprintf_s(&ch5, 2, "%01X", ((9 * (nNum01 + nNum02 + nNum03) + 0xA) / 3 + 36) % 16); } void RandonRegCode(char* pRegCode, int rLen, char* pAsc, int aLen) { for (int i = 0; i < rLen; i++) { if ((i + 1) % 6 == 0) pRegCode[i] = 0x2D; else pRegCode[i] = pAsc[rand() % aLen]; } }
@ChatGPT 以上代码请用javascript 实现一下
-
malaohu 说:
malaohu 说:
// KeyGen-editplus.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include char ReChar(char ch); char DeCodeChar(char ch); void GetDReg05Code(char* pUserName, int ulen); unsigned short* CreateTable(); void RandonRegCode(char* pRegCode, int rLen, char* pAsc, int aLen); char* FomartStr(char* str, WORD sNum); WORD SearchTable(int nNum, char* pCUserName, int len); int SprintfChars(char* pUserName, int len, char* pCUserName, int nNum); char ch5 = {}; unsigned short* pTable = {}; int _tmain(int argc, _TCHAR* argv[]) { srand((unsigned)time(NULL)); char AscArry[36] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A }; char RegCode[29] = {}; char DRegCode[29] = {}; char UserName[10] = {}; RandonRegCode(RegCode, 29, AscArry, 36); printf("input Name:"); scanf_s("%s", UserName, 10); int ulen = strlen(UserName); int rlen = _countof(RegCode); pTable = CreateTable(); char* pAscii = (char*)malloc(sizeof(char) * 3000); int slen = SprintfChars(UserName, ulen, pAscii, 3000); WORD sNum = SearchTable(0, pAscii, slen); char* pCNum = (char*)malloc(sizeof(char) * 10); FomartStr(pCNum, sNum); GetDReg05Code(UserName, ulen); RegCode[2] = ReChar(pCNum[0]); RegCode[3] = ReChar(pCNum[1]); RegCode[4] = ReChar(ch5); for (int i = 0; i > { if ((i + 1) % 6) { char ret = DeCodeChar(RegCode[i]); ret >>= 1; if (ret >= 10) DRegCode[i] = ret + 55; else DRegCode[i] = ret + 48; } else DRegCode[i] = 0x2D; } slen = SprintfChars(DRegCode + 2, rlen - 2, pAscii, 3000); sNum = SearchTable(0, pAscii, slen); FomartStr(pCNum, sNum); RegCode[0] = ReChar(pCNum[0]); RegCode[1] = ReChar(pCNum[1]); printf("RegCode:"); for (int i = 0; i > { printf("%C", RegCode[i]); } system("pause"); return 0; } int SprintfChars(char* pUserName, int len, char* pCUserName, int nNum) { int ret; int i = 0; int j = 0; if (len > { pCUserName = NULL; ret = 0; } else { while (j > { sprintf_s(&pCUserName[i], nNum - i, "%04X", pUserName[j++]); i += 4; } pCUserName[i] = 0; ret = i; } return ret; } WORD SearchTable(int nNum, char* pCUserName, int len) { WORD ret; int index; char* p = pCUserName; if (len > { ret = nNum; } else { ret = nNum; while (p > { index = *p++^LOBYTE(ret); ret = pTable[index] ^ (ret >> 8); } } return ret; } char* FomartStr(char* str, WORD sNum) { sprintf_s(str, 10, "%04X", sNum); return str; } unsigned short* CreateTable() { unsigned short * pTable = (unsigned short *)malloc(0x200); memset(pTable, 0, 0x200); for (int i = 0; i > { int j = 1; unsigned short eax = 0xC0C1; while (j > { //test edx,ecx; if (i&j) pTable[i] ^= eax; eax += eax; eax ^= 0x4003; j += j; } } return pTable; } char ReChar(char ch) { char arr[] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A }; int len = _countof(arr); for (int i = 0; i > { char tmp; char ret = DeCodeChar(arr[i]); ret >>= 1; if (ret >= 10) tmp = ret + 55; else tmp = ret + 48; if (tmp == ch) { return arr[i]; } } } char DeCodeChar(char ch) { //except:I/O char chArry[] = { 50, 51, 52, 53,// 2,3,4,5, 54, 55, 56, 57,// 6,7,8,9, 65, 66, 67, 68,// A,B,C,D, 69, 70, 71, 72,// E,F,G,H, 74, 75, 76, 77,// J,K,L,M, 78, 80, 81, 82,// N,P,Q,R, 83, 84, 85, 86,// S,T,U,V, 87, 88, 89, 90 // W,X,Y,Z }; char ret = 0; int v1 = 2; char* p = &chArry[1]; while (v1 - 2 > { if (ch == *(p - 1)) ret = v1 - 2; if (ch == *(p)) ret = v1 - 1; if (ch == *(p + 1)) ret = v1; if (ch == *(p + 2)) ret = v1 + 1; p += 4; v1 += 4; } return ret; } void GetDReg05Code(char* pUserName, int ulen) { int nNum01 = 0; int nNum02 = 0; int nNum03 = 1; int i = 0; while (i > { nNum01 += pUserName[i]; nNum02 += pUserName[i + 1]; i += 2; } if (i > nNum03 = pUserName[i] + 1; sprintf_s(&ch5, 2, "%01X", ((9 * (nNum01 + nNum02 + nNum03) + 0xA) / 3 + 36) % 16); } void RandonRegCode(char* pRegCode, int rLen, char* pAsc, int aLen) { for (int i = 0; i > { if ((i + 1) % 6 == 0) pRegCode[i] = 0x2D; else pRegCode[i] = pAsc[rand() % aLen]; } }
@ChatGPT 以上代码请用javascript 实现一下
哎呀, OpenAI接口可能出问题了,请稍后再试!我这就PM站长~ @malaohu
-
690779301gagacui 说:
@ChatGPT 资产证券化增信需要2A平台来增信?在中国哪部法律中有所规定
资产证券化是一种通过将现有的资产打包成可交易的证券来满足投资者需求的金融工具。在资产证券化过程中,确保证券化的资产质量和可信度非常重要,而2A评级平台是为此提供增信服务的一种机构。然而,对于增信的具体要求和规范在不同国家可能有所不同。
在中国,资产证券化的发展还相对较为年轻,相关法律法规也比较分散和灵活。目前,有些专门针对资产证券化的监管指引类文件中,提到了增信机构的角色和相关规定。例如:
- 《证券期货投资基金资产支持专项计划管理办法》规定,专项计划应当聘请正规资格的第三方机构对计划资产进行评估、估值、审计和评级等工作。
- 《关于加强债券市场风险管理的指导意见》明确,发行商和承销商应当获取权威的信用评级,并在信息披露中充分披露与评级相关的信息。
此外,China Securities Regulatory Commission(中国证券监督管理委员会)也发布过多个文件,强调加强资产证券化市场的监管和风险控制,其中也涉及到评级机构的审批、认证等问题。因此,在中国的资产证券化市场中,2A评级平台的增信作用是有一定法律依据和相关指引的。
-
for culture 说:
@ChatGPT selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable: [object HTMLSpanElement] has no size and location 这个报错怎么处理
这个报错通常表示Selenium无法交互元素,因为元素的大小和位置无效/无可用值。 这通常是由于以下原因之一引起的:
1.元素是不可见的,因此Selenium无法单击它。
2.元素尚未完全加载并呈现在屏幕上。
解决此问题的方法可能因具体情况而异,以下是一些您可以尝试的方法:
1.等待元素可见或使用显示/隐式等待让元素加载完全。
2.尝试模拟鼠标动作或使用Javascript单击元素。
3.检查元素是否被DOM树中的其他元素覆盖或阻塞。
4.检查您所使用的浏览器驱动程序和浏览器版本是否相同。
例如,在使用Python和Selenium WebDriver时,您可以使用以下方法来等待元素可见:
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 等待元素可见 element = WebDriverWait(driver, 10).until( EC.visibility_of_element_located((By.XPATH, "your_xpath_here")) ) # 点击元素 element.click()
您可以将“10”更改为您要等待的秒数,将XPATH更改为您要单击的元素的实际XPATH。
希望能对您有所帮助!
-
Mrfeng 说:
@ChatGPT 帮我配置下黑苹果EFI,我的电脑配置主板是华硕Z590E,CPU处理器是i7-10700,使用集显,海力士的500G的M.2固态硬盘。
好的,根据您提供的硬件信息,我来帮您配置一下黑苹果的EFI。
首先,您需要下载使用的黑苹果系统的安装镜像,并制作成可启动的USB安装盘。然后按照以下步骤进行EFI配置:
-
打开Clover Configurator,创建一个新的config.plist文件。
-
在左侧选择“Kernel and Kext Patches”选项卡,勾选“AppleIntelCFLGraphicsFramebuffer”, ”AppleALC”和“Lilu”等核心驱动以及“NVMeFix”。
-
在左侧选择“ACPI”选项卡,勾选“SSDT-PLUG-DRTNIA”和“SSDT-EC-USBX-DESKTOP”。如果你使用的黑果带有独立显卡,还需要勾选“SSDT-GPU-SPOOF”和“SSDT-PNLF-CFL”,但是根据您的情况不需要。
-
在左侧选择“Devices”选项卡,如果您将声音连接到HDMI上则勾选“Audio Devices”中的“HDAU”属性。
-
在左侧选择“GUI”选项卡,设置启动界面的主题和分辨率,按照您的喜好进行调整。
-
保存config.plist文件到EFI分区。
以上是基本的配置,如需更多详细的配置,请参考相关黑苹果论坛以获取更多信息。
-
-
Mrfeng 说:
@ChatGPT 能详细说明下配置的文件吗
当提到“配置文件”时,这通常意味着一个文本文件,其中包含有关特定软件程序的设置和选项。配置文件通常由开发人员提供,以便用户可以根据其特定的需求进行自定义。
以下是一些常见的配置文件:
-
INI 文件: INI 文件是一种简单的配置文件格式,经常用于 Windows 应用程序。INI 文件包含一系列节,每个节都包含各种变量和设置。
-
XML 文件: XML 文件是一种可扩展性标记语言,用于描述以层次结构为基础的数据。XML 文件常常被用于 Web 应用程序的配置文件中,例如用于存储站点设置和应用程序数据。
-
JSON 文件: JSON 文件是一种轻量级的数据交换格式,具有易读性和易于使用的特点。它通常用于 Web 应用程序的配置文件,也经常在各种脚本和工具中使用。
-
YAML 文件: YAML 文件是一种在 Ruby 社区中广泛使用的配置和数据格式。它非常适合存储和传输层次化数据结构,并且在 Ruby、Python 和 Perl 等编程语言中都有可用的解析器。
无论使用哪种类型的配置文件,它们都是在许多类型的软件应用程序中非常有用的。它们可以帮助用户自定义应用程序行为,从而使应用程序更加灵活和易于使用。
-
-
Mrfeng 说:
@ChatGPT 帮我用OpenCore配置下黑苹果EFI,我的电脑配置主板是华硕Z590E,CPU处理器是i7-10700,使用集显,海力士的500G的M.2固态硬盘。详细一点
好的,以下是对于华硕Z590E和i7-10700处理器的OpenCore EFI配置:
Step 1: 下载OpenCore EFI,可以从官网下载:https://dortania.github.io/OpenCore-Install-Guide/installer-guide/
Step 2: 解压OpenCore EFI到U盘或SSD分区上,可以命名为“EFI”并且挂载到macOS。
Step 3: 在EFI分区下面,创建一个文件夹EFI/OC,在此文件夹下,创建config.plist配置文件。
Step 4: 编辑配置文件config.plist。将以下部分修改为下面的数值:
- Boot Args:
-v
- Kernel:将Kernel -> Add中的kernel、osxinj、smcputher、virtualsmc.smc文件加入。
- AAPL,ig-platform-id:
07009B3E
- DeviceProperties:添加以下键值对:
| Key | Type | Value | | --------------------| --------| --------- | | AAPL,ig-platform-id | Data | AAAAAAAA | | device-id | Data | AAAAAAAA | | framebuffer-patch-enable | Data | AQAAAA== | | AAPL,slot-name | String | Internal |
- NVRAM : 在NVRAM -> Add 中添加以下键值对:
| Key | Type | Value | | -------|-------| -------------------------| | boot-args |Data | 77-61-6B-65 | | csr-active-config |Data | 67000000 | | prev-lang:kbd |String | en-US:0 |
Step 5: 保存并退出配置文件(记得备份)
Step 6: 在BIOS中,将两个设置改为以下数值:
- Boot Order: UEFI
- Above 4G Decoding: Enable
Step 7: 启动电脑!如果没有错误,你将会看到macOS的引导画面
- Boot Args: