flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Heap > How to protect from executing in win10 only

Author
Thread Post new topic Reply to topic
ProMiNick



Joined: 24 Mar 2012
Posts: 118
Location: Russian Federation, Sochi

How to protect from executing in win10 only

I want to protect my process from launching it in win10.
(in all other windows (wine,react,win95-win7,x86,x64)) process should work correctly.
So, I`m interest in bugs (specific to win10 only) itself. Not interest in their fixes.

What your suggestions?

_________________
I don`t like to refer by "you" to one person.
My soul requires acronim "thou" instead.
Post 19 Jan 2018, 12:31
View user's profile Send private message Send e-mail Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15484
Location: Front row seats, please

You can use standard OS API calls to inquire about the OS version. But be aware that Windows has the ability to run programs in compatibility mode, which makes it pretend to be XP or Vista or whatever and in theory your code would never know.
Post 19 Jan 2018, 12:42
View user's profile Send private message Visit poster's website Reply with quote
ProMiNick



Joined: 24 Mar 2012
Posts: 118
Location: Russian Federation, Sochi

Variants:
1. Try to writeaccess root directory of system drive (disadvantage - time greedy).
2. Try to execute some obsolete functions removed from win10
3. Try to use some GUI element property that in specific state bacame zeroed for win10, but became valued for all previous OS and for wine.
4. Try to use any mechanism that not supported since win10 (more complex variant of 2nd).
5. Try to detect any mechanism that appeared in win10 and crash in that case (if func exist launch it with errorneus params, if no - skip)

What is better solution(s)?
Post 19 Jan 2018, 12:46
View user's profile Send private message Send e-mail Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15484
Location: Front row seats, please


ProMiNick wrote:
What is better solution(s)?

See my post above. There are API calls that tell you the version.
Post 19 Jan 2018, 12:51
View user's profile Send private message Visit poster's website Reply with quote
ProMiNick



Joined: 24 Mar 2012
Posts: 118
Location: Russian Federation, Sochi

Check version - is trivial and it can be simply detected and analized.
Needed something that can be injected in code logic or gui logic, that hard to catch in disassebly on first sight.
Post 19 Jan 2018, 13:47
View user's profile Send private message Send e-mail Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 1013

Initialize DirectX 12. If it works, crash the app. If it fails, then go to "failsafe path" and have program work.
Post 19 Jan 2018, 13:56
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2017, Tomasz Grysztar.