欢迎来到 嗅灵易学

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

上面这篇是前几天的,今晚再贴个破破烂烂的序列机。 (2千字)

上面这篇是前几天的,今晚再贴个破破烂烂的序列机。 (2千字)

今晚忙里偷闲写了个序列机,手头没VC,只好用DELPHI,其实也就是把那段代码套过来。下面是序列机的源程序:
   
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask;
type
  TForm1 = class(TForm)
    MaskEdit1: TMaskEdit;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  j:integer;
  inputstr:string;
  adr:Pointer;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
label
L_0043AEF8,L_0043AF0B,L_0043AF19,L_0043AF27,L_0043AF0D;
begin
inputstr:=self.maskedit1.text;
adr:=Pchar(inputstr);
asm
                    push ebp
                    mov ebp, 13h
                    test bp, bp
L_0043AEF8:        mov eax, 00000081h
                    push edi
                    mov edi, adr
                    push esi
L_0043AF0B:        mov cl, byte ptr [edi]    //读一个字符
L_0043AF0D:        mov esi, 00000008h        //对每一个字符要进行八次循环。
                    and ecx, 000000FFh
                    inc edi
L_0043AF19:        mov edx, eax
                    xor edx, ecx
                    test dl, 01h
                    je L_0043AF27
                    xor eax, 00010810h
L_0043AF27:        shr eax, 1
                    shr ecx, 1
                    dec esi            //小循环变量减1,要进行8次
                    jne L_0043AF19        //小循环
                    add ebp, 0000FFFFh        //大循环变量减1,要进行0x13次
                    test bp, bp
                    jne L_0043AF0B        //大循环
                    not eax
                    xor ecx, ecx
                    pop esi
                    mov cl, ah
                    pop edi
                    mov ch, al
                    pop ebp
                    mov eax, ecx
                    mov j, eax
end;
  self.Edit1.Text:=format('%s%5.5d',[inputstr,j]);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
messagebox(self.handle,'NetScanTools Pro 2000安装序列号生成器。'+#10+#13+'在框中输满所有数字即可生成序列号。'+#10+#13+#10+#13+'该破序列机
end;
end.

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

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

0 0 0 举报
复制成功