

Kas Ob.
Members-
Content Count
570 -
Joined
-
Last visited
-
Days Won
10
Everything posted by Kas Ob.
-
What's the proper way to pass a record to a dynamic package procedure?
Kas Ob. replied to Marsil's topic in General Help
That is correct behavior. See, even Windows OS while loads and unload all the needed libraries (DLL) for application and their dependencies too, require explicit call to FreeLibrary if you called LoadLibrary on your own https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-freelibrary So the shortcoming from the RTL management from not reference counting the libraries from the manual load, i think it is a bless and prevent many hidden bugs and memory leaks, in other words you load it, you unload it. -
How to attach a DigiCert Token certificate to exeutable
Kas Ob. replied to Bart Kindt's topic in Delphi IDE and APIs
A question may me a little off topic Did anyone tried https://www.nsoftware.com/pkiproxy ? -
How to attach a DigiCert Token certificate to exeutable
Kas Ob. replied to Bart Kindt's topic in Delphi IDE and APIs
Me too like Angus, don't see this as thing from the past, on contrary i think it is the future and the only way forward with all new security measures the world need now. PKCS#12/pfx is highly customizable format, securely design and very extendable, it can encapsulate PKCS#7 and PKCS#8 and most (usable part) of PKCS#5, as example PKCS#12 can hold a certificate/token to decrypt another PKCS#12, in my opinion this what should have been done with Code Signing Certificates, the issuer should have issued i hardware token for the client that passed their verification, then after that issued the certificate in PKCS#12 (as simple file) to be decrypted by that hardware key, that is way easier to use the encrypted certificate that can be handled in all your infrastructure safely, also there can be multiple token to decrypt the same certificate, also another important thing i see gaining necessity, the need to cross singing but more than one certificate, PKCS#12 allow that, also something like two people have to use their hardware security card to allow the singing, and all in standardized and vetted procedure. -
How to enable SafeSEH, CFG flags for Delphi 10.4 Dll's/Exe's?
Kas Ob. replied to raj_delphi's topic in General Help
That is SEH, a normal SEH, has nothing to do with SafeSEH from Windows OS. The resources about it are scarce but here a pointer https://stackoverflow.com/questions/25081033/what-safesehno-option-actually-do For SafeSEH you need the compiler and the linker to jointly produce Windows SafeSEH compliant structure. This will not help too, it will only make the OS more aggressive against your application with near zero tolerance for page faults. Code Flow Guard (CFG) is very similar to SafeSEH from https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/exploit-protection-reference?view=o365-worldwide#control-flow-guard-cfg Hope that clear things. -
How to enable SafeSEH, CFG flags for Delphi 10.4 Dll's/Exe's?
Kas Ob. replied to raj_delphi's topic in General Help
To my knowledge, Delphi compiler doesn't support both, both are specific structures and code snippets generated by the compiler to help Windows OS, where the compiler must add specific structures/procedures in the code (and data/heap/stack) in very specific way to help the OS monitor intrusions or malicious interventions But i can be mistaken and Delphi compiler is already doing that, (highly unlikely!) -
How to attach a DigiCert Token certificate to exeutable
Kas Ob. replied to Bart Kindt's topic in Delphi IDE and APIs
That is pretty fucking neat ! and impressive ! The only thing is missing there is the ability to create CSR https://en.wikipedia.org/wiki/Certificate_signing_request or what i miss the most, the ability to create CSR from a certificate, this is very helpful when want extend your certificate with the same extensions and/or the same private key, very helpful with ACME and with code signing requests, not sure about the new modern model for code signing delivery though. -
How to attach a DigiCert Token certificate to exeutable
Kas Ob. replied to Bart Kindt's topic in Delphi IDE and APIs
First i suggest to make sure to understand the difference between formats so pfx and p12 are "almost" the same, but sure in 2023 should be the same, both are PKCS#12 https://en.wikipedia.org/wiki/PKCS_12 cer and der are more or less the same and they are PKCS#7 https://stackoverflow.com/questions/22743415/what-are-the-differences-between-pem-cer-and-der#22743616 https://en.wikipedia.org/wiki/PKCS_7 now after all that "may be" and "more and less", i highly recommend to use xca from https://hohnstaedt.de/xca/ this tool in my opinion is a must have to store and manage your certificates and private keys, it is portable and its DB is very secure, get familiar with it, and store your certificates there, but the most useful functionality is the ability to export what you have created or stored there, you have all the formats and many ways to export like protected with password or not, or with full chain or part of the chain ... Very useful tool in case you don't have the time to search the net and use OpenSSL commands that is hard to remember, also easier and safer than storing your certificates in Windows Store (the certificate store), which might be useful in your case also, if you want an alternative to OpenSSL or xca, import using Windows Explorer double click then find it in certmgr (from run command), just remember that certmgr will open for current user, while running mmc (the console) then select "Add or Remove Snap-in" from there you can add Certificates which will allow to access Current User and Service Account and Computer Account, here Account used for Certificate Store, from there you can add/import and export any certificate (but always with private keys if the certificate was imported with non exportable key), also with less formats selection than XCA. Hope that helps, and good luck ! -
Thank you for answering and clearing that. This Demo you pointed to works fine and does connect as expected. But the standalone "Protocol Discord Demo" from https://www.esegece.com/websockets/apis/other-apis/discord is not working, just freezes, and that made me ask, next questions will be on your forum.
-
@esegece Question I received an offer few hours ago for special Discord bot, that will handle delivering trial/limited software to users, from what i see esegece WebSocket provide API for discord, but i have no idea where to start with Discord, though tried your Telegram demo, and it worked way better than my expectation, in fact in less 3 minutes i had a Telegram bot sending and receiving messages and files, this gave me goosebumps, but discord demo i can't find how or where or where to start, so i want to ask your opinion about a comparison Discord bot developing vs Telegram Bot, is there road bumps in making similar functionality with such ease for Discord like Telegram ? is there a pointer(s) on how to make Discord demo work ? My question is that i need to put a time frame for that offer, if it doable then sure the project will provide me with financial justification to buy a license.
-
Delphi 12 - Action Bar Menu painting issues with RDS
Kas Ob. replied to Stéphane Wierzbicki's topic in VCL
This has nothing to do with Delphi, in fact this behavior is observed with every software do animation when used with RDP (RDS) the problem is simple, RDP screen core process will detect screen changes at some intervals, then send these parts, so it goes from full screen update to small part, these animation happens at high frame rate, so either RDP didn't capture the changes because it fall in between its frame capturing time and it did look like was minimum change and not worth updating, or due the high change rate the RDP throttled the update and skipped updating these parts. Recommendation : if possible detect RDP session (RDS as you called it) and disable all animation, this will enhance the fps and prevent what seems like wrong rendering, also if you have shadows, blurring and gradient colors then disabling them will enhance the speed a lot and require less traffic due the smaller images with higher compression without losing quality. -
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
I don't think it is needed now to separate this thread, and yes we are off the original topic. Still getting to know this gem, now debugging is working, it is somehow big library to get the ins/outs, it is just different and i might think of few additions and adjustments, but all in its time. My question about throttling was due some strange behavior, didn't find yet, but demo09 was throttled and it was visible, demo04 yesterday did something similar but after running many test drives and breaks many things, today i can't repeat it even with the same files, there was some slowness in uploading, demo proto still fail with big files (more than 2.3mb) but not fail with exception just the connection timeout at 30s with my PC and Chrome, also don't think it is huge deal, most important thing is that demos are there and working to tweak, love whole idea of this approach with xxm. Mostly i love the file handling and websocket and the lightness and conciseness of everything around this xxm, it gives more power and control than scripting. -
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
And yes compiling on demand is running flawlessly, it is beautiful, short and fast. Congratulations on this piece of gem and thank you ! ps it is astonishing, the difference between your files which Delphi 7 and the one generated on mine, ten times the size ! (94kb vs 960kb) -
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
Thank you, now things running ! One thing though, the xxmProject.exe still refusing to run, it does crash, even when i tried the one from the binaries package it does allowed to select the web file then crash. From the xxmProject.exe in the Demo package Not really a problem but if the path to the demo (web project) has a space then the compilation fail Tried playing around and i am liking this, one thing though will have time for it later to dig in, the uploading file is slow like it is being throttled, is it ? -
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
I get the jest of that, but i can still serve static files with/without my own scripting , right ? That why i need to see some action, some clients love to feel like hackers by providing them with some sort of tweaking and adjusting stuff, like building their own SQL query and have the ability to add button for that then adjust the colors of the columns ...etc That literally what i want to hear and read, not to be forced to use others implementation of exception handling and have full control over it. -
That will not work, your finally is missing a try before hand and an end afterward.
-
Don't know about Peganza Expert, i have an old expired Peganza Analyzer, but if the Expert have 1/5 of the Analyzer features, then it is x10 time than anything else, i mean anything and all, it should be part of the IDE decades ago.
-
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
I suggest/request to add a new download package at http://yoy.be/xxm/download.html , just one binary xxmHttpDev (or xxmHttp) but with full working demos, working out of the box, no interaction needed, something to show the functionality without any setup or tweak. User or potential users need to see the power of running web server effect in one single click (with xxm features), and the portability of paths and the whole setup, it is important. -
Please Lars, help me put this sentence in stage https://en.wikipedia.org/wiki/Five_stages_of_grief
-
AcceptSecurityContext (Negotiate) not working
Kas Ob. replied to stijnsanders's topic in Windows API
I can find words to explain how much i hate ORM, for me it is a pile of hot stuff.. , ORM for me doesn't bring anything useful except unneeded complexity, more code to maintain and break with changes forcing to rebuild the everything and huge dependency on the unknown, uncontrolled and movable parts being data to find them selves as objects in running code. When it comes to HTTP, mostly i use RTC, don't know if you are familiar with it or with its powerful scripting engine, it is just brilliant, the the script it provide bring the PHP syntax ("<? $max(a:10, b:20) ?>") to Pascal, as simple as PHP can generate pages, the RTC scripting generate web pages but with Pascal and Delphi code, here an example But i am always open to know more and find better tooling, and somehow xxm is catching my intrigue, because we can do the same to generate web pages. So even till now can't run the demos, i see it is close enough syntax to copy and paste, and judging by the design and it might be comparable in speed to RTC and might be lighter on memory than RTC, still missing many features in RTC though, like the right way to handle exceptions, and can't find how xxm handle exception and where are they being raised, although RTC scripting is limited and lacking many important features. 1) Web.xxmp is ASCII file and on newer Delphi the xxmproject tries to open it as Unicode so it fail. 2) Still can't manage to run the demos , the paths are not clear for what goes where ? 3) CompilerVersion is in few places, the value is definitely not 30 or should be way more, i suggest to leave but put a comment line in these places to be changed, may be someone here can help in this case THeapStream=class(TMemoryStream) private FHeap:THandle; protected {$IF CompilerVersion<30} function Realloc(var NewCapacity: LongInt): Pointer; override; {$ELSE} function Realloc(var NewCapacity: NativeInt): Pointer; override; {$IFEND} for me stand alone and IIS module are the same importance. Thank you for your work. -
How to read DNS TXT record contents?
Kas Ob. replied to TurboMagic's topic in ICS - Internet Component Suite
Do the same for A (IPv4) or AAAA (IPv6) https://en.wikipedia.org/wiki/List_of_DNS_record_types -
@Pafcouti I don't understand the question too. Delphi Detours is powerful tool, but can't perform system wide hook, if that what are you asking form, to hook all applications running on the system. To have global hook aka system wide, then either the OS with an API SetWindowsHookEx will do it, or you need an OS driver, yes there is many of these and even User Mode driver might work to some point, such driver is used and its behavior is allowed by Windows DDK to build many things like Antivirus softwares, or SysInternals ProcMon .... Anyway DDetours will not help in system wide hook if that is the question, and i don't recall, any library will do that, and if there is one which was in the past but with many red flags as it is was shady and closed source, and highly not recommended. SetWindowsHookEx is OS API and provide many hooks, there is many demos/examples on the internet with Delphi. If that is not answering your question, then please refine the question and help us understand, if your code is raising exception then post here the smallest demo you can do with the exception, so someone here might help with it.
-
I didn't know about such Chinese Horoscope. Thank you ! So is FireMonkey from there too ? Edit: adding this It might be helpful for marketing to choose Chinese city name, like the famous Wuhan .
-
Are we talking about Chinese zodiac years ? Monkey, Ox, Rooster, Dragon, Pig.... That will open +1.5 billion client market.
-
Are you sure BitBlt doesn't work, because if you did not create compatible DC you will not be able to get correct pixels. from https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-bitblt BitBlt returns an error if the source and destination device contexts represent different devices. To transfer data between DCs for different devices, convert the memory bitmap to a DIB by calling GetDIBits. To display the DIB to the second device, call SetDIBits or StretchDIBits. though it does not always will fail it might be white or just black. But have you tried this https://learn.microsoft.com/en-us/windows/win32/gdi/capturing-an-image CreateCompatibleBitmap should solve most of your problem, i guess !
-
Or 13.7 for naturalized effect !