puggs 发表于 2020-2-14 00:00

来 吾友们 !!!!!!

大佬们 试试 算出注册码无壳
{:1_918:}:lol:lol:lol:lol

成功提示:注册成功
失败提示:注册失败{:1_918:}

poemrain 发表于 2020-2-14 08:56

红颜世家、 发表于 2020-2-14 01:57

账号第一个字符*字符串长度
密码((字符-0x30)*0xA)*字符串长度
对么

puggs 发表于 2020-2-14 02:05

红颜世家、 发表于 2020-2-14 01:57
账号第一个字符*字符串长度
密码((字符-0x30)*0xA)*字符串长度
对么

可以带上分析代码 大家学习学习

红颜世家、 发表于 2020-2-14 02:28

puggs 发表于 2020-2-14 02:05
可以带上分析代码 大家学习学习

直接打了个printf断点一路看过去的...
构造可以直接按照密码反推过去计算账号
账号VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
密码
XXXXXXXXXX
显示注册成功了

puggs 发表于 2020-2-14 12:37

源码公布一下大家一起相互学习
int main()
{
        char strName = {0};
        char strSerial = { 0 };
        int hashName = 0;
        int hashSerial = 0;
        while (true) {
                printf("\n请输入Name(字符必须是A-Z的范围):");
                scanf("%s", strName);
                printf("请输入Serial(字符必须是A-Z的范围):");
                scanf("%s", strSerial);

                for (int i = 0; i < strlen(strName); i++)
                {
                        char tempNum = *((char*)strName);
                        hashName += tempNum;
                }
                hashName ^= 0x5678;

                for (int j = 0; j < strlen(strSerial); j++)
                {
                        char tempNum = *((char*)strSerial);
                        hashSerial += (tempNum - '0') * 0xA;
                }
                hashSerial ^= 0x1234;

                if (hashSerial == hashName)
                {
                        printf("\n注册成功!\n");
                }
                else
                {
                        printf("\n注册失败!\n");
                }
        }
       
}

小菜鸟一枚 发表于 2020-2-14 12:39

我的电脑跑不起来楼主的程序,重新安装组件都不行...



IDA查看main函数
mov   esi, esp
push    offset Format   ; "\n请输入Name(字符必须是A-Z的范围)"
call    ds:printf
add   esp, 4
cmp   esi, esp
call    j___RTC_CheckEsp
mov   esi, esp
lea   eax,
push    eax
push    offset aS_0   ; "%s"
call    ds:scanf
add   esp, 8
cmp   esi, esp
call    j___RTC_CheckEsp
mov   esi, esp
push    offset aSerialAZ ; "请输入Serial(字符必须是A-Z的范围)"

byh3025 发表于 2020-2-14 18:01

反正我是打不开的

puggs 发表于 2020-2-16 01:49

1111111111

puggs 发表于 2020-2-16 02:12

这个改MTD调式 就不会出现缺少什么库 的问题了吧
页: [1]
查看完整版本: 来 吾友们 !!!!!!