unit Unit9;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;type
  TForm9 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    ProgressBar1: TProgressBar;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form9: TForm9;implementationuses Unit2;{$R *.dfm}procedure TForm9.Button1Click(Sender: TObject);
var
    sza,szb:string;
    iz1:double;begin
      iz1:=strtofloat(label4.Caption );
      iz1:=abs(iz1)-2862891;
       sza:=copy(floattostr(iz1),2,3);
                   szb:=floattostr(iz1);delete(szb,2,3);
                   sza:=sza+szb;
                 
      if edit1.Text = sza then
      begin
      showmessage('注册成功!感谢您的支持与厚爱!祝您生意兴隆,事事如意!');
      myinifile.WriteString('ODBC 32 bit Drivers  word ','wordto',floattostr(a));
      end else
      showmessage('对不起,您提供的注册码不符!请与作者联系!注册不成功!');               close;
end;procedure TForm9.Button2Click(Sender: TObject);
begin
      close;
end;end.
软件编码:39972669
注册编码:????????
感谢..万分感谢..

解决方案 »

  1.   

    修改个jmp就ok了,算法都无视了……吼吼,楼上强淫
      

  2.   

    怎么找:
    用反编译工具先反编译你的程序,然后搜索字符串"'注册成功!感谢您的支持与厚爱!祝您生意兴隆,事事如意!"和“对不起,您提供的注册码不符!请与作者联系!注册不成功!'”,然后就知道你注册代码的位置了,很容易即可从if edit1.Text = sza then 的反汇编的代码看出你的注册算法,然后将其用16进制编辑器将这个代码处的“=”号改成“<>”或直接改为跳转指令跳过你的注册就ok了!!即使你不给提示信息,一样超级容易就可以找到你注册代码所在处!!建议你加强你的算法,不清楚的话就下载个Demo看看别人怎么做的,做好后再加个强壳,这样就不好找了,你现在的算法确实有点.....:)
      

  3.   

    71039778这么简单的问题也问,自己在delphi里跟踪一下sza的值就可以了