![「独家首发」屏幕录像专家通用注册机及相关教程 | 支持新版本无限制激活!插图 「独家首发」屏幕录像专家通用注册机及相关教程 | 支持新版本无限制激活!插图](https://blog.eswlnk.com/wp-content/uploads/wpcy/06e49c2286455b21347fef43c21e7fec.jpg)
最近我需要将后缀为exe的视频文件转换为mp4格式,以便上传至我的私人云。在经过一番搜索后,我确认了这些视频是由「屏幕录像专家」生成的,并且只能使用该软件进行转换。最终,我找到了一份可用的注册机,成功解决了软件生成的视频中的水印问题。本次也为大家分享注册机以及其使用教程。
注册及使用方法
首先我们下载该注册机,并将其完整保存。下载后请校验文件CRC,保证文件完整安全。
屏幕录像专家注册机 理论永久通杀
关注公众号「Hacker之家」不迷路,交流群聊「689155556 」
MD5 | 73ABDFF2627F8D632B158566FAB37316 |
SHA1 | B16C24F52A9300858FCA8747701279331AB86B1C |
CRC32 | 245ACC49 |
校验文件MD5后,运行我们的注册机文件,如下图所示:
复制所需要的「机器码」「用户名」,点击注册按钮即可算号生成注册码
![「独家首发」屏幕录像专家通用注册机及相关教程 | 支持新版本无限制激活!插图3 「独家首发」屏幕录像专家通用注册机及相关教程 | 支持新版本无限制激活!插图3](https://static.eswlnk.com/2024/02/20240205212639590.png-esw)
点击「确定」后,即可完成注册。注:若有能力,请支持正版哦!点我前去
算法分析
分享一下算法的主要分析过程
004A1126 . 33DB xor ebx,ebx ; ebx = 0
004A1128 > 8B95 18FFFFFF mov edx,dword ptr ss:[ebp-0xE8] ; do{
004A112E . 0FBE06 movsx eax,byte ptr ds:[esi] ; esi指向一个含有5个字符的字符串
004A1131 . 0FBE0A movsx ecx,byte ptr ds:[edx] ; edx指向一个含有20个字符的字符串
004A1134 . 83C1 EC add ecx,-0x14 ; ecx = ecx - 0x14
004A1137 . 3BC1 cmp eax,ecx
004A1139 . 0F85 80000000 jnz 屏录专家.004A11BF ; if(eax == ecx)
004A113F . 83FB 03 cmp ebx,0x3 ; {
004A1142 . 75 6A jnz X屏录专家.004A11AE ; if(ebx == 3)
004A1144 . 81C7 444D0000 add edi,0x4D44 ; {
004A114A . 89BD A0F6FFFF mov dword ptr ss:[ebp-0x960],edi ; edi = edi + 0x4d44
004A1150 . DB85 A0F6FFFF fild dword ptr ss:[ebp-0x960] ; st = edi * 3.14
004A1156 . DC0D 58194A00 fmul qword ptr ds:[0x4A1958] ; st = st * 0.1594896331738427110
004A115C . DB2D 60194A00 fld tbyte ptr ds:[0x4A1960]
004A1162 . DEC9 fmulp st(1),st
004A1164 . E8 5FCA1200 call 屏录专家.005CDBC8 ; eax = int(st)
004A1169 . 8BF8 mov edi,eax ; edi = eax
004A116B . 8BC7 mov eax,edi
004A116D . B9 A0860100 mov ecx,0x186A0 ; ecx = 0x186a0
004A1172 . 99 cdq
004A1173 . F7F9 idiv ecx ; edx:eax = eax / ecx
004A1175 . 8BFA mov edi,edx ; - edi = edx
004A1177 . 33C0 xor eax,eax ; eax = 0
004A1179 . 8985 3CFFFFFF mov dword ptr ss:[ebp-0xC4],eax ; [ebp - 0xc4] = 0
004A117F . 33D2 xor edx,edx ; edx =0
004A1181 . 8D85 A4FEFFFF lea eax,dword ptr ss:[ebp-0x15C]
004A1187 > 0FBE08 movsx ecx,byte ptr ds:[eax] ; 把那20个字符的前19个累加到 [ebp - 0xc4]
004A118A . 018D 3CFFFFFF add dword ptr ss:[ebp-0xC4],ecx
004A1190 . 42 inc edx
004A1191 . 40 inc eax
004A1192 . 83FA 13 cmp edx,0x13
004A1195 .^ 7C F0 jl X屏录专家.004A1187
004A1197 . 8B85 3CFFFFFF mov eax,dword ptr ss:[ebp-0xC4] ; eax = [ebp - 0xc4]
004A119D . B9 0A000000 mov ecx,0xA ; ecx = 0xa
004A11A2 . 99 cdq
004A11A3 . F7F9 idiv ecx ; edx:eax = eax / ecx
004A11A5 . 83C2 30 add edx,0x30 ; edx = edx + 0x30
004A11A8 . 8995 3CFFFFFF mov dword ptr ss:[ebp-0xC4],edx ; [ebp - 0xc4] = edx
004A11AE > 43 inc ebx ; }
004A11AF . FF85 18FFFFFF inc dword ptr ss:[ebp-0xE8]
004A11B5 . 46 inc esi ; ebx++
004A11B6 . 83FB 05 cmp ebx,0x5 ; esi++
004A11B9 .^ 0F8C 69FFFFFF jl 屏录专家.004A1128 ; }while(ebx < 5)
004A11BF > 83FB 05 cmp ebx,0x5
004A11C2 . 0F8C BE060000 jl 屏录专家.004A1886 ; 不能跳(跳转就失败)
004A11C8 . 0FBE85 B7FEFF>movsx eax,byte ptr ss:[ebp-0x149] ; 看那20个字符的最后一个字符是不是等于[ebp - 0xc4]
004A11CF . 3B85 3CFFFFFF cmp eax,dword ptr ss:[ebp-0xC4]
004A11D5 . 74 09 je X屏录专家.004A11E0 ; 或者最后一个字符大于等于0x41
004A11D7 . 83F8 41 cmp eax,0x41
004A11DA . 0F8C A6060000 jl 屏录专家.004A1886 ; 不能跳(跳转就失败)
004A11E0 > 8BC7 mov eax,edi ; eax = edi
004A11E2 . B9 0A000000 mov ecx,0xA ; ecx = 0xa
004A11E7 . 99 cdq
004A11E8 . F7F9 idiv ecx ; edx = eax % ecx
004A11EA . 0FBE841D A4FE>movsx eax,byte ptr ss:[ebp+ebx-0x15C] ; eax = 第6个字符
004A11F2 . 83C0 BF add eax,-0x41 ; eax = eax - 0x41
004A11F5 . 2BC2 sub eax,edx ; eax = eax - edx
004A11F7 . 8985 40FFFFFF mov dword ptr ss:[ebp-0xC0],eax
004A11FD . 83BD 40FFFFFF>cmp dword ptr ss:[ebp-0xC0],0x0 ; if(eax == 0 || eax == 9)
004A1204 . 74 0D je X屏录专家.004A1213 ; 成功
004A1206 . 83BD 40FFFFFF>cmp dword ptr ss:[ebp-0xC0],0x9 ; else
004A120D . 0F85 EC050000 jnz 屏录专家.004A17FF ; 其跳转就失败
004A1213 > 66:C785 5CFFF>mov word ptr ss:[ebp-0xA4],0x104
004A121C . BA 5CCF6200 mov edx,屏录专家.0062CF5C
004A1221 . 8D45 B4 lea eax,dword ptr ss:[ebp-0x4C]
004A1224 . E8 9B411300 call 屏录专家.005D53C4
004A1229 . FF85 68FFFFFF inc dword ptr ss:[ebp-0x98]
004A122F . 8B00 mov eax,dword ptr ds:[eax]
004A1231 . E8 3E4B0E00 call 屏录专家.00585D74 ; 成功
逆向算法代码
#include <iostream>
#include <Windows.h>
#include <time.h>
using namespace std;
int main()
{
char st[21] = {0}; //用户名
char jqm[21] = {0}; //机器码前20位
cout<<"请输入你的用户名:";
cin>>st;
cout<<"请输入你的机器码的前20位:";
cin>>jqm;
int q;
q = jqm[2];
jqm[2] = jqm[18];
jqm[18] = q;
q = jqm[4];
jqm[4] = jqm[15];
jqm[15] = q;
q = jqm[8];
jqm[8] = jqm[11];
jqm[11] = q;
while(1)
{
char mb[7] = {0}; //运算的出的字符串
int eax_3;
int edi_3 = 0;
for(int i = 0; i < 20; i++)
{
eax_3 = st[i] ^ jqm[i];
eax_3 = eax_3 * i;
eax_3 = eax_3 + edi_3;
edi_3 = eax_3;
}
edi_3 = edi_3 + 0x3039;
itoa(edi_3, mb, 10); //mb=得到那5个秘钥字符,
char str_z[51]; //存放真正的字符串
char str[51]; //序列号
char str1[6] = {0}; //序列号后5个字符
int esi = 0;
int eax = 0;
int ecx = 0;
int edi;
int arg_3 = 0x2D; //序列号长度-5
BYTE dl;
char* str2 = "1234567890";
int edi_33 = edi_3;
srand((unsigned int) time(0));
while(1)
{
for(int i = 0; i < 5; i++) //生成序列号前10个字符
itoa((mb[i] + 0x14 - 9 - ( 1/2 + i)), str_z + (i*2), 10);
for(int i = 0; i <= 9; i++)
str[i] = str_z[i];
int eax_4;
int ecx_4;
int edx_4;
edi_3 = edi_33;
edi_3 = edi_3 + 0x4d44;
eax_4 = int(edi_3 * 3.14 * 0.1594896331738427110);
edi_3 = eax_4;
ecx_4 = 0x186a0;
edx_4 = eax_4 % ecx_4;
itoa((edx_4 % 10 + 0x41 )- 9 - 11/2 + 9, str + 10, 10);
for(int i = 12; i < 50; i++)
str[i] = str2[rand() % 10];
int g; //交换
g = str[2];
str[2] = str[38];
str[38] = g;
g = str[4];
str[4] = str[25];
str[25] = g;
g = str[9];
str[9] = str[31];
str[31] = g;
for(int i = 0; i <= 4; i++)
str1[i] = str[45+i];
esi = 0;
eax = 0;
ecx = 0;
while(1)
{
if(ecx == 0xB26D)
{
edi = 0;
while(edi < arg_3)
{
ecx++;
dl = 0x80;
do{
BYTE ah;
ah = WORD(eax) / 256;
if(ah >= 0x80)
{
eax = eax + eax;
WORD x = (WORD(eax) ^ 0x1021);
eax = eax / 65536;
eax = eax * 65536;
eax = eax + x;
ecx++;
}
else
eax = eax + eax;
ecx++;
if(str[esi] & dl)
{
WORD x = ( WORD(eax) ^ 0x1021);
eax = eax / 65536;
eax = eax * 65536;
eax = x + eax;
}
dl = dl / 2;
}while(dl != 0);
esi++;
edi++;
}
}
ecx++;
if(ecx >= 0x186A0)
break;
}
if(WORD(eax) == atof(str1))
break;
}
int g; //生成第11,12个字符
char str_1[41] = {0};
for(int i = 0; i <= 40; i++)
str_1[i] = str[i];
g = str_1[2];
str_1[2] = str_1[38];
str_1[38] = g;
g = str_1[4];
str_1[4] = str_1[25];
str_1[25] = g;
g = str_1[9];
str_1[9] = str_1[31];
str_1[31] = g;
char str_2[21] = {0}; //产生的那20个字符
char str_3[3] = {0};
int zj = 0;
int edx_1 = 0;
int ebx_1 = 0;
int eax_1 = 0;
for(int i = 0; i < 40; i = i + 2)
{
ebx_1++;
str_3[0] = str_1[i];
str_3[1] = str_1[i+1];
eax_1 = atof(str_3);
edx_1 = ebx_1;
edx_1 = edx_1 / 2;
eax_1 = eax_1 + edx_1;
eax_1 = eax_1 + 9;
str_2[i/2] = eax_1;
ebx_1++;
}
int zjz = 0;
for(int i = 0; i < 19; i++)
zjz = zjz + str_2[i];
zjz = zjz % 10;
zjz = zjz + 0x30;
if(str_2[19] == zjz || str_2[19] >= 0x41)
{
cout<<"序列号为:";
for(int i = 0; i<=49; i++)
cout<<str[i];
cout<<endl;
break;
}
}
return 0;
}
支持
补链 地址:https://onedrive.eswlnk.com/s/re5cW,解压密码123
注册机已更新