欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

注册机的写法 (2千字)

注册机的写法 (2千字)

1、如果用户输入的名字少于3个字符则重新输入。
2、如果用户输入的名字少于12个字符则用空格凑齐12个字符。
3、用串"123"加在ID#的后面,凑成12个字符。
4、将第2步的12个字符和第3步的12个字符逐一异或,得到12个字节。
5、对于得到的12个字节中的每个字节,进行下面的转换。转换的结果就是注册码。
转换非常简单,就是12个字节逐一和一张表中的12个字节相加,如果和不是大写字母,就通过不断加0x19或减0x19的方法使其变成大写字母。
下面的12条MOV指令初始化该表格:
001B:0023A613  MOV      DWORD PTR [EBP-0238],00000009
001B:0023A61D  MOV      DWORD PTR [EBP-0234],0000000D
001B:0023A627  MOV      DWORD PTR [EBP-0230],00000007
001B:0023A631  MOV      DWORD PTR [EBP-022C],00000002
001B:0023A63B  MOV      DWORD PTR [EBP-0228],0000000C
001B:0023A645  MOV      DWORD PTR [EBP-0224],00000006
001B:0023A64F  MOV      DWORD PTR [EBP-0220],00000014
001B:0023A659  MOV      DWORD PTR [EBP-021C],00000005
001B:0023A663  MOV      DWORD PTR [EBP-0218],00000005
001B:0023A66D  MOV      DWORD PTR [EBP-0214],0000000B
001B:0023A677  MOV      DWORD PTR [EBP-0210],00000012
001B:0023A681  MOV      DWORD PTR [EBP-020C],0000000E
001B:0023A68B  MOV      EDI,00000001    ;循环控制变量初值
001B:0023A690  LEA      ESI,[EBP-0238]
001B:0023A696  LEA      EAX,[EBP-0340]
001B:0023A69C  PUSH      EAX
001B:0023A69D  MOV      ECX,00000001
001B:0023A6A2  MOV      EDX,EDI
001B:0023A6A4  LEA      EAX,[EBP-0107]
001B:0023A6AA  CALL      00232620
001B:0023A6AF  LEA      EDX,[EBP-0340]
001B:0023A6B5  LEA      EAX,[EBP-0240]
001B:0023A6BB  CALL      002333B4
001B:0023A6C0  MOV      EDX,[EBP-0240]
001B:0023A6C6  LEA      EAX,[EBP-07]
001B:0023A6C9  CALL      00235764
001B:0023A6CE  MOV      AL,[EBP-07]    ;异或得到的一个字节
001B:0023A6D1  XOR      EBX,EBX
001B:0023A6D3  MOV      BL,AL
001B:0023A6D5  ADD      EBX,[ESI]      ;和表格中的对应字节相加
001B:0023A6D7  CMP      EBX,5A        ;以下判断是否在‘A’-‘Z’之间
001B:0023A6DA  JLE      0023A6E4
001B:0023A6DC  SUB      EBX,19
001B:0023A6DF  CMP      EBX,5A
001B:0023A6E2  JG        0023A6DC
001B:0023A6E4  CMP      EBX,41
001B:0023A6E7  JGE      0023A6F1
001B:0023A6E9  ADD      EBX,19
001B:0023A6EC  CMP      EBX,41
001B:0023A6EF  JL        0023A6E9
001B:0023A6F1  LEA      EAX,[EBP-0344]
001B:0023A6F7  MOV      EDX,EBX
001B:0023A6F9  MOV      [EAX+01],DL        ;保存注册码的一个字符
001B:0023A6FC  MOV      BYTE PTR [EAX],01
001B:0023A6FF  LEA      EDX,[EBP-0344]
001B:0023A705  LEA      EAX,[EBP-0207]
001B:0023A70B  CALL      002326C0
001B:0023A710  INC      EDI
001B:0023A711  ADD      ESI,04
001B:0023A714  CMP      EDI,0D        ;循环12次,得到注册码的12个字符
001B:0023A717  JNZ      0023A696

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功