graemeg / onguard Goto Github PK
View Code? Open in Web Editor NEWOnGuard software security components for use with Free Pascal
Home Page: http://wiki.freepascal.org/OnGuard
OnGuard software security components for use with Free Pascal
Home Page: http://wiki.freepascal.org/OnGuard
When a MachineID is created according to the command below:
Result: = Abs (CreateMachineID ([midUser, midSystem, midDrives], False));
If the user connects an external HD, this function starts to fail, due to the "midDrivers" type understanding HD as a parameter to generate the machineid, therefore, the external HD connected to the USB, is a removable driver.
How could you solve this problem, without having to remove midDrives from the option to generate the machineID?
I have tryed to set up basic date protection following the Example 1 of pdf manual. When I come to "Code Generation" (step 10) and try to click Generate it responds "Invalid start date". I have date in format 2014-03-29 automatically in this field. I suspect that the date format might be a problem, maybe there is a MaskEdit in this field. In fact I beleive all other date Exit fields have the same problem. When I delete the date manually I am not even allowed to fill in the date with dashes and I can only put in the date consistend with my locale (ie form 29.3.2014) but it does not work eather, giving the same error.
In lazarus 1.0.10 ongard gui not installing.
Reason: ogreg unit not found
Search path: ..\source
Actual path : ..\source\lcl
What I did to fix: cut/paste all files in ..\source\lcl to ..\source \
Is the project able to work with ARMHF for Raspberry Pi?
Very simple test code:
program ogtest;
uses
sysutils,onguard,ogutil;
const
CKey:TKey=($DE,$AD,$BE,$EF,$CA,$FE,$BA,$BE,$FA,$CE,$FE,$ED,$B1,$6B,$00,$B5);
var
regcode:TCode;
begin
InitRegCode(CKey,'RegStr',EncodeDate(2022,12,31),regcode);
writeln(BufferToHex(regcode,SizeOf(regcode)));
end.
Compiles OK for Linux x86-64:
Target OS: Linux for x86-64
Compiling ogtest.pp
Compiling onguard.pas
Compiling ogutil.pas
Compiling ogconst.pas
Writing Resource String Table file: ogconst.rsj
onguard.pas(949,2) Note: User defined: Make sure we have some FreeBSD and MacOSX support too at some point
onguard.pas(954,3) Note: Local variable "RegKey" not used
onguard.pas(957,3) Note: Local variable "Drive" not used
Linking ogtest.x86_64-linux
4302 lines compiled, 0.4 sec, 688000 bytes code, 373712 bytes data
3 note(s) issued
But intel assembler
and MaxStructSize
errors for Linux ARMHF:
Target OS: Linux for ARMHF
Compiling ogtest.pp
Compiling onguard.pas
onguard.inc(58,3) Error: Illegal assembler style specified "INTEL"
Compiling ogutil.pas
onguard.inc(58,3) Error: Illegal assembler style specified "INTEL"
ogutil.pas(71,32) Error: Illegal expression
ogutil.pas(77,29) Error: Identifier not found "MaxStructSize"
ogutil.pas(77,66) Error: Can't evaluate constant expression
ogutil.pas(266,1) Fatal: There were 5 errors compiling module, stopping
Fatal: Compilation aborted
Does Illegal assembler style specified "INTEL"
mean that it cannot work with ARM?
Also, looking for MaxStructSize
in the FPC sounce (trunk) yields no results.
When I try install the package tponguard_design.lpk it compiles fine but when I try to install it and rebuild lazarus it says
Unit qonguard2 exists two times in unit path IDE:
Tip: Check if two packages do not contan packages with same name.
And indeed they do. What to do?
Trying sets up TOgDaysCode and TOgUsageCode to # counts using examples at ./exusg1 and ./exusg2.
Counter # (days/runs) remaining works well but when I delete .ini file counter resets to start.
Using example ./exusg1 when file not found its recreates using hardcoded CODE and resets counter.
Using example ./exusg2 when file not found its ask for CODE and when entered limited for # runs CODE counter was resets.
compiling send this error
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
qonguard2.pas(54,22) Fatal: Cannot find Graphics used by qonguard2, incompatible ppu=C:\lazarus\lcl\units\x86_64-win64\graphics.ppu, package LCLBase
how i can compile to use this packages..... thanks
Hello,
In order to have an identical behavior of MixBlock procedure (using a Longint variable i.e. a 32 bits), on a 32bits or 64bits CPU, I propose this adaptation in the unit onguard.pas:
The old code...
{$I onguard.inc}
{$I-} { I/O checks disabled}
{$Q-} {Integer overflow check disabled.
Warning : at least one function (MixBlock) causes overflow}
...should become:
{$I onguard.inc}
{$I-} { I/O checks disabled}
{$IFDEF CPU32} // proposal of fix, for an identical behavior of MixBlock and HashElf (at least) using a Longint variable (32 bits), on a 32bits or 64bits CPU
{$Q-}
{$ENDIF}
{$IFDEF CPU64}
{$Q-}
{$R-}
{$ENDIF} {Integer overflow check disabled.
Warning : at least one function (MixBlock) causes overflow}
Regards.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.