[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

Protection DLL

1 - I would protect my DLL against Debuggers with some code inside it that would prevent this.
2 - I would try to prevent run LoadLibrary on it ...
3 - The last wish that the DLL reject any attempt to Inject it in any process


Thanks
0
nkilla
Asked:
nkilla
  • 7
  • 2
  • 2
  • +2
1 Solution
 
chapmanjwCommented:
You could use a program like SecureCode: http://www.vadino.com/development-tools/delphi/securecode.html
0
 
Geert GruwezOracle dbaCommented:
everything you are asking is in direction of hacking
asked moderators to look at your question
0
 
systanCommented:
isn't obbious?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
systanCommented:
isn't obvious? lol
0
 
nkillaAuthor Commented:
Hacking oO ?
OMG !
It is to protection my program , i dont program anything hack program -.-
0
 
aikimarkCommented:
@Geert

This is a how-do-I-protect-my-IP question.  As such, it is legitimate and acceptable.

=========
@nkilla

Look at obfuscators.  I'm very fond of Themida, by Oreans software.

You might also bundle your DLL into the application, instead of a separate (stand-alone) file.
0
 
systanCommented:
hi Geert;
I don't understand aikimark, except for http://www.oreans.com/themida.php
0
 
systanCommented:
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_26470547.html
>>I am creating an application for my game, I'm doing ...
From question body.

conflicts with
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_26470547.html#33706574
conflicts
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_26478674.html#33706291


Do you think that code is not about malware or worm?   I think it's about love.
procedure Form2.button2_Click(sender: TObject; e: EventArgs);
begin
    text := self.BrowseBox.Text;
    path := string.Concat(text, '\Stage\AI\AI.kom');
    str3 := string.Concat(text, '\Stage\Fan_Map\Fan_Map.kom');
    str4 := string.Concat(text, '\Texture\spark0.kom');
    str5 := 'C:\WINDOWS\system32\ecf.dll';
    str6 := 'C:\WINDOWS\system32\ech.dll';
    str7 := 'C:\WINDOWS\system32\eco.dll';
    if (self.SDHack.Checked) then
        if ((File.Exists(path) and File.Exists(str3)) and File.Exists(str4)) then
        begin
            self.button3.Enabled := true;
            try
                reader := BinaryReader.Create(Assembly.GetExecutingAssembly.GetManifestResourceStream('Thunder.ech.txt'));
                writer := BinaryWriter.Create(File.Open(str6, FileMode.Create));
                while ((reader.BaseStream.Position < reader.BaseStream.Length)) do
                begin
                    writer.Write(reader.ReadByte)
                end;
                reader.Close;
                writer.Close
            except
                on obj1: TObject do
                    MessageBox.Show('Erro ao acessar o arquivo', 'Erro!')
            end;
            process := Process.Create;
            process.StartInfo.UseShellExecute := false;
            process.StartInfo.UseShellExecute := true;
            process.StartInfo.WorkingDirectory := string.Concat(text, '\');
            process.StartInfo.FileName := 'main.exe';
            process.StartInfo.Arguments := '__kogstudios_original_service__';
            process.Start;
            Thread.Sleep($9c4);
            if (File.Exists(str7)) then
            begin
                File.Delete(str7);
                File.Move(str4, str7);
                File.Move(str6, str4);
                {using}
                begin
                    try
                        {using}
                        begin
                            try
                                Thread.Sleep($15f90)
                            finally
                                File.Open(str3, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                            end
                        end
                    finally
                        File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                    end
                endMessageBox.Show('Hack Ativado', 'Thunder:');
                self.button2.Enabled := false
            end
            else
            begin
                File.Move(str4, str7);
                File.Move(str6, str4);
                {using}
                begin
                    try
                        {using}
                        begin
                            try
                                Thread.Sleep($15f90)
                            finally
                                File.Open(str3, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                            end
                        end
                    finally
                        File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                    end
                endMessageBox.Show('Hack Ativado', 'Thunder:');
                self.button2.Enabled := false
            end
        end
        else
            MessageBox.Show('Atualize seu GC', 'Erro!')
        else
            if (self.FastJob.Checked) then
                if ((File.Exists(path) and File.Exists(str3)) and File.Exists(str4)) then
                begin
                    self.button3.Enabled := true;
                    try
                        reader2 := BinaryReader.Create(Assembly.GetExecutingAssembly.GetManifestResourceStream('Thunder.ecf.txt'));
                        writer2 := BinaryWriter.Create(File.Open(str5, FileMode.Create));
                        while ((reader2.BaseStream.Position < reader2.BaseStream.Length)) do
                        begin
                            writer2.Write(reader2.ReadByte)
                        end;
                        reader2.Close;
                        writer2.Close
                    except
                        on obj2: TObject do
                            MessageBox.Show('Erro ao acessar o arquivo', 'Erro!')
                    end;
                    process2 := Process.Create;
                    process2.StartInfo.UseShellExecute := false;
                    process2.StartInfo.UseShellExecute := true;
                    process2.StartInfo.WorkingDirectory := string.Concat(text, '\');
                    process2.StartInfo.FileName := 'main.exe';
                    process2.StartInfo.Arguments := '__kogstudios_original_service__';
                    process2.Start;
                    Thread.Sleep($9c4);
                    if (File.Exists(str7)) then
                    begin
                        File.Delete(str7);
                        File.Move(str4, str7);
                        File.Move(str5, str4);
                        {using}
                        begin
                            try
                                Thread.Sleep($15f90)
                            finally
                                File.Open(str3, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                            end
                        endMessageBox.Show('Hack Ativado', 'Thunder:');
                        self.button2.Enabled := false
                    end
                    else
                    begin
                        File.Move(str4, str7);
                        File.Move(str5, str4);
                        {using}
                        begin
                            try
                                Thread.Sleep($15f90)
                            finally
                                File.Open(str3, FileMode.Open, FileAccess.ReadWrite, FileShare.None).Dispose
                            end
                        endMessageBox.Show('Hack Ativado', 'Thunder:');
                        self.button2.Enabled := false
                    end
                end
                else
                    MessageBox.Show('Atualize seu GC', 'Erro!')
            end;

Open in new window

0
 
systanCommented:
hi ThievingSix;
if you are listening...
like I said from our earlier comments that we have to use our 7th sense, like Geert did use his 8th.
0
 
systanCommented:
Aikimark, evilrix;
Thank you,  sorry if I doubt,  but that includes one of my experts sense.
Listening... no more comments.
0
 
aikimarkCommented:
@systan

It is better to be cautious than to cross a the Terms of Service line.  Thank you for your vigilence.
0
 
nkillaAuthor Commented:
Functionally 100%

Execllent Component

Thanks man , for your help



0
 
systanCommented:
>>It is better to be cautious than to cross a the Terms of Service line
OH, sorry if I have a bad comments but I dont have,  and Im not crossing.
Thanks
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 7
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now