Did you know? #7

You cannot impersonate a pipe until you have read from it. Even a write call doesn’t work. So a service has to wait for a dummy client write call until it can check the client’s token. The following codes shows how multi instance pipe server could look like. Be aware that I wrote this to [...]

Service and application in single EXE? Update

Creating a binary file that consists of a service and a normal application can be done very simple without using the service manager. Just check for SYSTEM account. It is very unlikely that your app is run as SYSTEM (only RunAsSys does ). uses …, JwsclToken; begin   if JwIsSystem then   begin     [...]

RunAsSYS 1.0 preview [update#1]

This is the preview Version of RunAsSys for Windows XP and Vista made with the help of JWSCL. RunAsSys runs applications as SYSTEM user in the current user’s session. If you start it without any parameters it creates a command prompt with SYSTEM privileges by default. Otherwise you can add an application with parameters to [...]


The following topics you can choose to research. Each topic has several possible options you can work on. The options are Library: Creating Windows headers for JEDI Windows API or (wrapper) classes for JEDI Windows Security Blogpost: Writing a blog post about the topic. Example: Writing an example about the topic that demonstrates using the [...]

Setting file security with JWSCL

Sometimes it is necessary to change the security settings of a file or folder for getting or denying write access. With JWSCL this task is made very easy. However there are some pitfalls to avoid. The following code will also be available in the example section of the source code. The application gets a file [...]

Where is the RELEASE conditional?

JWSCL uses (rarely) the DEBUG compiler condition definition like in “What is the internal variable TJwSecurityID.fDbgData for?“. However there is no “RELEASE” directive. Why? The reason is simple: There is no need for. If you don’t define DEBUG, JWSCL will be compiled without any debug codes. If you need a release condition, you can simply [...]

I found this very interesting article about exceptions. You should read “Ten Things (or more) You Might Not Know About Exception Handling in Delphi” (or get it from  Google Cache) and learn why exception inheritance ist important. The same reason applies to the exceptions of the JWSCL. EJwsclSecurityException is the main exception inherited from generic [...]

We are listed in ohloh

The JEDI API & Security Libraries are now listed in ohloh. Ohloh is a software directory that analyzes and monitors open source software development activity. Get to the JEDI project on ohloh directly. The following analyzed statements must be corrected: Short source control history The JEDI API is a very old lady. However, not a [...]

Whenever you impersonate a running thread and create a new thread while impersonating, your new thread will not get impersonated, too. The new thread will run without any thread token and thus a called function will use the process token instead. So you have to impersonate the new thread again. Ignoring that fact may lead [...]

This is the road map of JWA and JWSCL for the year 2008. Add and test Rudy Velthuis headers for Delphi to JWA (done but needs review) Implement COM interfaces and classes for JWSCL Implement new Winsta (Terminal Service) declarations for JWA and JWSCL Convert embedded source documentation to Doc-o-Matic (of course buy that nice [...]

Paypal donation (EUR)



September 2017
« Oct