20 Apr
Posted by: Remko in: Common, JEDI Windows API Headers, JEDI Windows Security Code Lib, JWA Downloads, JWSCL Downloads
The JEDI API Library project (JWA) has been successfully revived from a sleep status to an active project with lots of ambitions. Some recent achievements are the new include model of JWA, the release of JWSCL (the Security Library) and of course the “birth” of this blog.
Send post as PDF to convert this [...]
03 Apr
Posted by: Christian Wimmer in: Common, JEDI Windows API Headers, JEDI Windows Security Code Lib
Do you need help? We can support you creating application using JWA and/or JWSCL.
Visit the Get Service site on SourceForge for more information like pricing.
Send post as PDF to convert this post to pdf.
17 Jun
Posted by: NeutralGeneral in: JEDI Windows Security Code Lib, JWSCL Downloads
Calculating Binary Hashes using TJwFileStreamEx
Why should I use TJwFileStreamEx instead of any other common stream class from the VCL?
Well this question is quite easily answered.
The first thing is that TJwFileStreamEx is based on Memory Mapped Files (MMF). MMF might be the fastest way to access files on your hard disk. Another good reason for using [...]
25 May
Posted by: Christian Wimmer in: Downloads, JEDI Windows Security Code Lib
JWSCL provides access to auto pointers or objects. It means that allocated space or objects are automtically destroyed/freed as soon as the auto object runs out of scope. What is a scope? A scope exists as long as the (I say) parent object exists. Parent objects can be:
The process. The auto pointer and thus the [...]
23 May
Posted by: Christian Wimmer in: JEDI Windows Security Code Lib
This simple example shows how you can change the target session of a new process.
uses
JwaWindows,
JwsclToken,
JwsclComUtils;
var
NewToken,
UserToken : TJwSecurityToken;
S : TStartupInfo;
P : TProcessInformation;
begin
UserToken := TJwSecurityToken.CreateWTSQueryUserTokenEx(nil, 1);
TJwAutoPointer.Wrap(UserToken); //automatic destroy
NewToken := TJwSecurityToken.CreateDuplicateExistingToken(UserToken.TokenHandle, MAXIMUM_ALLOWED);
TJwAutoPointer.Wrap(NewToken);
//needs TCB privilege -> Service
JwEnablePrivilege(SE_TCB_NAME, pst_Enable);
NewToken.TokenSessionId := 2;
//simple CreateProcessAsUser
[...]
02 May
Posted by: Christian Wimmer in: Common, JEDI Windows API Headers, JEDI Windows Security Code Lib
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 JEDI API, JWSCL [...]
29 Apr
Posted by: Christian Wimmer in: Common, JEDI Windows API Headers, JEDI Windows Security Code Lib
Dear Visitor/Delphi programmer,
As the main developer of JWSCL and the author of the most blog posts here, I will retreat from the projects for the next months. At least I will try to fix bugs, write some articles and manage the whole project as a project manager. Don’t expect much from me the next months. [...]
28 Apr
Posted by: Christian Wimmer in: JEDI Windows Security Code Lib
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 or [...]
21 Apr
Posted by: Christian Wimmer in: Common, JEDI Windows Security Code Lib
The current download version of JWSCL (rev 316) contains a memory leak in the method EnumerateSession of class TJwTerminalServer in unit JwsclTerminal.
The reason is a string variable in the local thread storage (LTS) (maintained by threadvar) that is not freed automatically by Delphi. The new version uses a widestring instead of string which fixes the [...]
18 Apr
Posted by: Christian Wimmer in: JEDI Windows Security Code Lib
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 [...]