NSudo | Series of System Administration Tools | General Thread

Discussion in 'MDL Projects and Applications' started by Mouri_Naruto, Feb 6, 2015.

?

These things you maybe see in the future version of NSudo. What do you think about?

Poll closed Sep 13, 2019.
  1. Publish to Chocolatey? (Suggested by wwtex.)

    8 vote(s)
    66.7%
  2. Publish to scoop? (Suggested by wwtex.)

    1 vote(s)
    8.3%
  3. Publish to Windows Store? (Desktop Bridge.)

    3 vote(s)
    25.0%
  4. Add NSudo Configuration Editor?

    9 vote(s)
    75.0%
  5. Using Qt to implement the UI? (It may increase the binary size of NSudo.)

    3 vote(s)
    25.0%
  6. Compile NSudo with CMake?

    3 vote(s)
    25.0%
  7. Yes

    0 vote(s)
    0.0%
  8. No

    0 vote(s)
    0.0%
Multiple votes are allowed.
  1. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    20191121110153.jpg
    The binary size of NSudo 8.0 Alpha 2 (Not the final Alpha 2) is much smaller than before.

    I have introduced the new module called NSudoUX.dll to share some implementations and optimize the icon resouce size.

    What do you think about that? Is it worth to use multiple modules (or dynamic libraries)?

    Kenji Mouri
     

    Attached Files:

  2. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,141
    84,322
    340
    Not sure about performance, but i think single binary is better for usage :)
    at least for NSudoC
     
  3. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    #443 Mouri_Naruto, Nov 21, 2019
    Last edited: Nov 21, 2019
    (OP)
    I have followed your suggestion.

    I add NSudoLib as static linking library and make NSudoG.exe and NSudoC.exe single file style again.

    Also, I use jsmn instead of JSON for Modern C++ to reduce binary size.

    upload_2019-11-21_22-54-53.png

    Kenji Mouri
     

    Attached Files:

  4. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,141
    84,322
    340
  5. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    The relationship between Nit and NSudo

    Nit is based on the NSudo Shared Library (NSudoAPI). I hope it will be a good example for developers to learn how to use NSudoAPI.

    NSudo Shared Library has implemented two interfaces called INSudoMemoryManager and INSudoClient.

    I thought I will add INSudoFileManager and INSudoRegistryManager in the NSudo Shared Library because the following reasons.
    • I think it's useful for developers to operate files and registry keys without the worries about the permission denied issue in the most cases if I have added that.
    • Shared implementations between NSudo and Nit.
    • NSudo will introduce a new component called NSudoX in the future. NSudoX will be single file executable if there is no special reasons. NSudoX is a file and registry manager because I know many users love the MiniFM in the old versions of NSudo. I want to provide a powerful solution for advanced users, lol.
    Note: The link of Nit is https://forums.mydigitallife.net/threads/80135.

    Kenji Mouri
     
  6. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    thanks a lot Mouri waiting :worthy:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,412
    15,485
    210
    Yes it will be very useful.

     
  8. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    @MSMG of course Master we should wait :D:p
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Will you release the version in the latest MSMG Toolkit?
     
  10. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    The devil mode of NSudo

    Everyone knows that NSudo will provide shared library and COM-like interfaces for helping third-party application developers who want to solve the problems of privileges.

    There are many methods exposed by NSudo shared library, and it's difficult for developers to use because it's hard to understand unless you read the developer oriented documents about Windows security in Microsoft Docs. NSudo will provide devil mode for developers via shared library to make it easier.

    NSudo Devil Mode will enable the Backup and Restore privileges, and hook some NT APIs by the open source Microsoft Detours library to achieve the maximum access. (You can modify system files and system registries even you are only a normal Administrator user.) For example, NSudo Devil Mode will tell NtCreateFile to enable the FILE_OPEN_FOR_BACKUP_INTENT option for the maximum access via Backup and Restore privileges.

    Here is the interface draft.
    Code:
    HRESULT INSudoClient::EnableDevilMode();
    HRESULT INSudoClient::DisableDevilMode();
    
    This feature will be added in NSudo 8.0 Alpha 2 or Alpha 3.

    Kenji Mouri
     
  11. niche99

    niche99 MDL Junior Member

    Oct 5, 2009
    79
    14
    0
    Some questions.
    1. Does the latest alpha stlll not accept spaces in the path to executables in the json file?
    2. Can we order the entries in the json file in any order? So far it doesn't seem to make a difference what order the entries are in.

    Regards,
    niche99
     
  12. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    It may causes by JSON parser library. I will check about that.
     
  13. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
  14. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,141
    84,322
    340
    @hxlio0

    del is internal command, use cmd /c before it
     
  15. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    What do you think about rename the original NSudo to NSudo Run As or NSudo Run?

    I am not good at naming projects, so I want to share the name between some related projects. (Something like Microsoft Office, a series of productivity tools.)

    The slogan of NSudo is "A Powerful System Administration Tool" and used for years, so I thought it's OK if I use the "NSudo" for some administration tools.

    Except the original NSudo and NSudo Devil Mode, I will introduce the NSudo eXplorer (NSudoX) in the future, a file and registry manager.
     
  16. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,141
    84,322
    340
    Maybe NSudo Launcher
     
  17. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    525
    1,790
    30
    #460 Mouri_Naruto, Feb 3, 2020
    Last edited: Feb 3, 2020
    (OP)
    Good idea, I will follow it.

    How about the names of binaries?

    NSudo Launcher (NSudoLG.exe and NSudoLC.exe) or (NSudoLauncherGUI.exe and NSudoLauncherCLI.exe)