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

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    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

    Joined:
    Feb 19, 2011
    Messages:
    12,067
    Likes Received:
    55,424
    Trophy Points:
    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

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    #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

    Joined:
    Feb 19, 2011
    Messages:
    12,067
    Likes Received:
    55,424
    Trophy Points:
    340
  5. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    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. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
  7. Tiger-1

    Tiger-1 MDL Guru

    Joined:
    Oct 18, 2014
    Messages:
    6,206
    Likes Received:
    7,532
    Trophy Points:
    210
    thanks a lot Mouri waiting :worthy:
     
  8. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    Yes it will be very useful.

     
  9. Tiger-1

    Tiger-1 MDL Guru

    Joined:
    Oct 18, 2014
    Messages:
    6,206
    Likes Received:
    7,532
    Trophy Points:
    210
    @MSMG of course Master we should wait :D:p
     
  10. MonarchX

    MonarchX MDL Expert

    Joined:
    May 5, 2007
    Messages:
    1,732
    Likes Received:
    310
    Trophy Points:
    60
    Will you release the version in the latest MSMG Toolkit?
     
  11. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    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
     
  12. niche99

    niche99 MDL Junior Member

    Joined:
    Oct 5, 2009
    Messages:
    79
    Likes Received:
    14
    Trophy Points:
    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
     
  13. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    It may causes by JSON parser library. I will check about that.
     
  14. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
  15. hxlio0

    hxlio0 MDL Novice

    Joined:
    Jan 14, 2020
    Messages:
    15
    Likes Received:
    0
    Trophy Points:
    0
  16. hxlio0

    hxlio0 MDL Novice

    Joined:
    Jan 14, 2020
    Messages:
    15
    Likes Received:
    0
    Trophy Points:
    0
  17. abbodi1406

    abbodi1406 MDL KB0000001

    Joined:
    Feb 19, 2011
    Messages:
    12,067
    Likes Received:
    55,424
    Trophy Points:
    340
    @hxlio0

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

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    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.
     
  19. abbodi1406

    abbodi1406 MDL KB0000001

    Joined:
    Feb 19, 2011
    Messages:
    12,067
    Likes Received:
    55,424
    Trophy Points:
    340
    Maybe NSudo Launcher
     
  20. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Joined:
    Jul 10, 2014
    Messages:
    416
    Likes Received:
    1,409
    Trophy Points:
    10
    #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)