⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formmemorymodifier.pas

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 PAS
📖 第 1 页 / 共 3 页
字号:


        //interpretableaddress
        temp:=length(trainerdata[i].addressentrys[j].interpretableaddress);
        trainer.writebuffer(temp,sizeof(temps));

        temps:=trainerdata[i].addressentrys[j].interpretableaddress;
        if protect then //encrypt temps
          for k:=1 to length(temps) do
            temps[k]:=chr(ord(temps[k]) xor (k+1));
            
        trainer.writebuffer(temps[1],temp);




        trainer.WriteBuffer(trainerdata[i].addressentrys[j].ispointer,sizeof(trainerdata[i].addressentrys[j].ispointer));

        tempi:=length(trainerdata[i].addressentrys[j].pointers);
        trainer.WriteBuffer(tempi,4);
        for k:=0 to tempi-1 do
        begin
          trainer.WriteBuffer(trainerdata[i].addressentrys[j].pointers[k].address,sizeof(trainerdata[i].addressentrys[j].pointers[k].address));

          //interpretableaddress for pointer

          temp:=length(trainerdata[i].addressentrys[j].pointers[k].Interpretableaddress);
          trainer.writebuffer(temp,sizeof(temps));

          temps:=trainerdata[i].addressentrys[j].pointers[k].Interpretableaddress;
          if protect then //encrypt temps
            for l:=1 to length(temps) do
              temps[l]:=chr(ord(temps[l]) xor (l+2));

          trainer.writebuffer(temps[1],temp);

          trainer.WriteBuffer(trainerdata[i].addressentrys[j].pointers[k].offset,sizeof(trainerdata[i].addressentrys[j].pointers[k].offset));
        end;

        trainer.WriteBuffer(trainerdata[i].addressentrys[j].bit,sizeof(trainerdata[i].addressentrys[j].bit));
        trainer.WriteBuffer(trainerdata[i].addressentrys[j].memtyp,sizeof(trainerdata[i].addressentrys[j].memtyp));
        trainer.writebuffer(trainerdata[i].addressentrys[j].frozen,sizeof(trainerdata[i].addressentrys[j].frozen));
        trainer.writebuffer(trainerdata[i].addressentrys[j].frozendirection,sizeof(trainerdata[i].addressentrys[j].frozendirection));
        trainer.writebuffer(trainerdata[i].addressentrys[j].setvalue,sizeof(trainerdata[i].addressentrys[j].setvalue));
        trainer.WriteBuffer(trainerdata[i].addressentrys[j].userinput,sizeof(trainerdata[i].addressentrys[j].userinput));
        temp:=length(trainerdata[i].addressentrys[j].value);
        trainer.writebuffer(temp,4);
        trainer.writebuffer(trainerdata[i].addressentrys[j].value[1],temp);
        

        temp:=length(trainerdata[i].addressentrys[j].autoassemblescript);
        trainer.writebuffer(temp,sizeof(temp));

        temps:=trainerdata[i].addressentrys[j].autoassemblescript;
        if protect then //encrypt temps
          for k:=1 to length(temps) do
            temps[k]:=chr(ord(temps[k]) xor k);

        trainer.writebuffer(temps[1],temp);
      end;
    end;

    //title
    temp:=length(editTitle.text);
    trainer.writebuffer(temp,4);

    temps:=edittitle.text;
    if protect then
    begin
      for i:=1 to temp do
        temps[i]:=chr(ord(temps[i]) xor 56);
    end;

    x:=pchar(temps);
    trainer.writebuffer(pointer(x)^,temp);

    //launch filename
    temp:=length(edit2.text);
    trainer.writebuffer(temp,4);
    x:=pchar(edit2.text);
    trainer.writebuffer(pointer(x)^,temp);

    //autolaunch
    tempb:=checkbox2.checked;
    trainer.writebuffer(tempb,sizeof(tempb));

    //popup on keypress
    tempb:=checkbox1.Checked;
    trainer.writebuffer(tempb,sizeof(tempb));

    //process to modify
    temp:=length(combobox1.text);
    trainer.writebuffer(temp,4);
    x:=pchar(combobox1.text);
    trainer.writebuffer(pointer(x)^,temp);

    //hotkeytext
    temp:=length(edithotkey.text);
    trainer.writebuffer(temp,4);
    x:=pchar(edithotkey.text);
    trainer.writebuffer(pointer(x)^,temp);

    //hotkey+shiftstate
    trainer.WriteBuffer(laststate,sizeof(laststate));
    trainer.WriteBuffer(lastshiftstate,sizeof(lastshiftstate));

    //aboutbox
    temp:=length(memo1.text);
    trainer.writebuffer(temp,4);

    temps:=memo1.Text;
    if protect then
    begin
      for i:=1 to temp do
        temps[i]:=chr(ord(temps[i]) xor 166);
    end;

    x:=pchar(temps);
    trainer.writebuffer(pointer(x)^,temp);

    //freeze interval
    tempi:=strtoint(editfreezeinterval.text);
    trainer.WriteBuffer(tempi,sizeof(tempi));

    if frmTrainerDesigner=nil then
    begin
      //default uid
      temp:=$666;
      trainer.WriteBuffer(temp,4);


      //leftside image
      imagestream:=TMemorystream.Create;
      frmMemorytrainerpreview.image1.Picture.Bitmap.SaveToStream(imagestream);

      temp:=imagestream.Size;
      trainer.WriteBuffer(temp,4);

      getmem(iconbuf,temp);
      imagestream.Position:=0;
      imagestream.ReadBuffer(pointer(iconbuf)^,temp);
      trainer.WriteBuffer(pointer(iconbuf)^,temp);
      imagestream.Free;
      freemem(iconbuf);

      //windowwidth
      trainer.writebuffer(frmMemorytrainerpreview.Width,sizeof(frmMemorytrainerpreview.Width));

      //windowheight
      trainer.writebuffer(frmMemorytrainerpreview.height,sizeof(frmMemorytrainerpreview.height));

      //leftsidewidth
      trainer.writebuffer(frmMemorytrainerpreview.Panel1.Width,sizeof(frmMemorytrainerpreview.Panel1.Width));

      //leftsideheight
      trainer.writebuffer(frmMemorytrainerpreview.Panel1.height,sizeof(frmMemorytrainerpreview.Panel1.height));
    end
    else
    begin
      //user defined UID
      temp:=$777;
      trainer.WriteBuffer(temp,4);

      //windowwidth
      trainer.writebuffer(frmTrainerDesigner.Width,sizeof(frmTrainerDesigner.Width));

      //windowheight
      trainer.writebuffer(frmTrainerDesigner.height,sizeof(frmTrainerDesigner.height));


      //note:make this oop

      for i:=0 to frmtrainerdesigner.ComponentCount-1 do
      begin
        if (frmtrainerdesigner.Components[i] is tbutton2) then
        begin
          temp:=0;      //tbutton
          trainer.WriteBuffer(temp,4);
          trainer.WriteBuffer(tbutton2(frmtrainerdesigner.Components[i]).left,sizeof(integer));
          trainer.WriteBuffer(tbutton2(frmtrainerdesigner.Components[i]).top,sizeof(integer));
          trainer.WriteBuffer(tbutton2(frmtrainerdesigner.Components[i]).width,sizeof(integer));
          trainer.WriteBuffer(tbutton2(frmtrainerdesigner.Components[i]).height,sizeof(integer));

          //caption
          temp:=length(tbutton2(frmtrainerdesigner.Components[i]).Caption);
          trainer.writebuffer(temp,4);
          x:=pchar(tbutton2(frmtrainerdesigner.Components[i]).Caption);
          trainer.writebuffer(pointer(x)^,temp);

          trainer.WriteBuffer(tbutton2(frmtrainerdesigner.Components[i]).wordwrap,sizeof(boolean));

          //onclick
          temp:=tbutton2(frmtrainerdesigner.Components[i]).Tag;
          trainer.WriteBuffer(temp,4);

          //command
          temp:=length(tbutton2(frmtrainerdesigner.Components[i]).Command);
          trainer.writebuffer(temp,4);
          x:=pchar(tbutton2(frmtrainerdesigner.Components[i]).Command);
          trainer.writebuffer(pointer(x)^,temp);
        end;

        if (frmtrainerdesigner.Components[i] is tcheatlist) then
        begin
          temp:=1;      //tcheatlist
          trainer.WriteBuffer(temp,4);
          trainer.WriteBuffer(tcheatlist(frmtrainerdesigner.Components[i]).left,sizeof(integer));
          trainer.WriteBuffer(tcheatlist(frmtrainerdesigner.Components[i]).top,sizeof(integer));
          trainer.WriteBuffer(tcheatlist(frmtrainerdesigner.Components[i]).width,sizeof(integer));
          trainer.WriteBuffer(tcheatlist(frmtrainerdesigner.Components[i]).height,sizeof(integer));

          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).activationcolor,sizeof(tcolor));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).color,sizeof(tcolor));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).textcolor,sizeof(tcolor));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).hotkeyleft,sizeof(integer));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).descriptionleft,sizeof(integer));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).editleft,sizeof(integer));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).editwidth,sizeof(integer));

          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).BevelInner,sizeof(Tbevelcut));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).BevelOuter,sizeof(Tbevelcut));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).BevelWidth,sizeof(integer));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).bevelkind,sizeof(tbevelkind));

          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).HasCheckbox,sizeof(boolean));
          trainer.Writebuffer(tcheatlist(frmtrainerdesigner.Components[i]).ShowHotkeys,sizeof(boolean));          
        end;

        if (frmtrainerdesigner.Components[i] is tcheat) then
        begin
          temp:=2;      //tcheat
          trainer.WriteBuffer(temp,4);
          trainer.WriteBuffer(tcheat(frmtrainerdesigner.Components[i]).left,sizeof(integer));
          trainer.WriteBuffer(tcheat(frmtrainerdesigner.Components[i]).top,sizeof(integer));
          trainer.WriteBuffer(tcheat(frmtrainerdesigner.Components[i]).width,sizeof(integer));
          trainer.WriteBuffer(tcheat(frmtrainerdesigner.Components[i]).height,sizeof(integer));

          trainer.WriteBuffer(tcheat(frmtrainerdesigner.Components[i]).cheatnr,sizeof(integer));
          trainer.Writebuffer(tcheat(frmtrainerdesigner.Components[i]).activationcolor,sizeof(tcolor));
          trainer.Writebuffer(tcheat(frmtrainerdesigner.Components[i]).color,sizeof(tcolor));
          trainer.Writebuffer(tcheat(frmtrainerdesigner.Components[i]).textcolor,sizeof(tcolor));

          temp:=tcheat(frmtrainerdesigner.Components[i]).hotkeyleft;
          trainer.Writebuffer(temp,4);
          temp:=tcheat(frmtrainerdesigner.Components[i]).descriptionleft;
          trainer.Writebuffer(temp,4);
          temp:=tcheat(frmtrainerdesigner.Components[i]).editleft;
          trainer.Writebuffer(temp,4);
          temp:=tcheat(frmtrainerdesigner.Components[i]).editwidth;
          trainer.Writebuffer(temp,4);

          trainer.Writebuffer(tcheat(frmtrainerdesigner.Components[i]).HasCheckbox,sizeof(boolean));
          trainer.Writebuffer(tcheat(frmtrainerdesigner.Components[i]).ShowHotkey,sizeof(boolean));
        end;

        if (frmtrainerdesigner.Components[i] is timage2) then
        begin
          temp:=3;      //image
          trainer.WriteBuffer(temp,4);
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).left,sizeof(integer));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).top,sizeof(integer));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).width,sizeof(integer));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).height,sizeof(integer));

          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).cursor,sizeof(tcursor));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).stretch,sizeof(boolean));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).transparent,sizeof(boolean));
          trainer.WriteBuffer(timage2(frmtrainerdesigner.Components[i]).tag,sizeof(integer));

          //image
          imagestream:=TMemorystream.Create;
          timage2(frmtrainerdesigner.Components[i]).Picture.Bitmap.SaveToStream(imagestream);

          temp:=imagestream.Size;
          trainer.WriteBuffer(temp,4);

          getmem(iconbuf,temp);
          imagestream.Position:=0;
          imagestream.ReadBuffer(pointer(iconbuf)^,temp);
          trainer.WriteBuffer(pointer(iconbuf)^,temp);
          imagestream.Free;
          freemem(iconbuf);

          //command
          temp:=length(timage2(frmtrainerdesigner.Components[i]).Command);
          trainer.writebuffer(temp,4);
          x:=pchar(timage2(frmtrainerdesigner.Components[i]).Command);
          trainer.writebuffer(pointer(x)^,temp);
        end;

        if (frmtrainerdesigner.Components[i] is tlabel2) then
        begin
          temp:=4;      //tlabel
          trainer.WriteBuffer(temp,4);
          trainer.WriteBuffer(tlabel2(frmtrainerdesigner.Components[i]).left,sizeof(integer));
          trainer.WriteBuffer(tlabel2(frmtrainerdesigner.Components[i]).top,sizeof(integer));
          trainer.WriteBuffer(tlabel2(frmtrainerdesigner.Components[i]).width,sizeof(integer));
          trainer.WriteBuffer(tlabel2(frmtrainerdesigner.Components[i]).height,sizeof(integer));

          //caption
          temp:=length(tlabel2(frmtrainerdesigner.Components[i]).Caption);
          trainer.writebuffer(temp,4);
          x:=pchar(tlabel2(frmtrainerdesigner.Components[i]).Caption);
          trainer.writebuffer(pointer(x)^,temp);

          //wordwrap
          trainer.WriteBuffer(tlabel2(frmtrainerdesigner.Components[i]).wordwrap,sizeof(boolean));


          //color
          trainer.Writebuffer(tlabel2(frmtrainerdesigner.Components[i]).Font.color,sizeof(tcolor));

          //command

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -