Sina
Sina
  • 14
  • 10 590
Python source code obfuscation with Pyarmor
How to protect your Python source code and apply obfuscation on it while keeping the same functionality and the goal is to reduce the chance of leaking your source code to unwanted external people; also, you will able to set an expiration date for your source code or limit it to a specific hardware. So, the source code will run on a specific computer and not others.
zhlédnutí: 1 106

Video

Mojo vs Python vs Python+CODON vs Go , which one is faster?
zhlédnutí 1,1KPřed 11 měsíci
in this video I have compared MOJO with Python and the compiled version of python with codon and then also compared it with Go as system level programming language
Getting Started with MOJO programming language
zhlédnutí 414Před 11 měsíci
Just a fast introduction to MOJO programming language
Image processing using python for ABB robot
zhlédnutí 334Před 2 lety
The Robot is able to track a unique human among the crowd and react to the object.
Applying Box Blur effect on Image using shared memory in CUDA
zhlédnutí 4,4KPřed 3 lety
Parallel programming on Cuda Applying Box Blur effect on Image using shared memory in CUDA code content available here: www.dropbox.com/scl/fo/8wngkw4uci4d0a4gqgk3g/h?rlkey=talobmdusft31vi5hifropaat&dl=0
Matrix multiplication using Cuda.
zhlédnutí 1,4KPřed 3 lety
The code content: www.dropbox.com/scl/fo/ksmdy5zjzzes8xktzutes/h?rlkey=c0tym7379fzq8v7hpu45q993k&dl=0
Image manipulation using cuda programming language with two examples.
zhlédnutí 616Před 3 lety
example 1 : create image gradient using Cuda programming example 2 : modifying colors in an existing image using Cuda programming Content for example 1: www.dropbox.com/scl/fo/33xa9pnoeqhxsbug8gy4d/h?rlkey=emmj0v5efhkmkrnl3ayk0yz82&dl=0 Content for example 2: www.dropbox.com/scl/fo/g675tprb2era4wfvowlac/h?rlkey=jds3wsvlzvjmn01a7s9rudqdn&dl=0
Basics of Cmake
zhlédnutí 72Před 3 lety
Basics of Cmake
Centralized Version Control Systems , with example of SVN (subversion)
zhlédnutí 55Před 3 lety
Centralized Version Control Systems , with example of SVN (subversion)
Distributed version control systems, with example of Git and Github
zhlédnutí 48Před 3 lety
Distributed version control systems, with example of Git and Github
Basic understanding of Doxygen with example
zhlédnutí 484Před 3 lety
Basic understanding of Doxygen with example
Basics of static and dynamic software testing (Test and Debug)
zhlédnutí 102Před 3 lety
Basics of static and dynamic software testing (Test and Debug)
LaTex Concepts
zhlédnutí 126Před 4 lety
LaTex Concepts
Starting with LaTex in Overleaf
zhlédnutí 240Před 4 lety
Starting with LaTex in Overleaf

Komentáře

  • @juliocastro1290
    @juliocastro1290 Před 2 dny

    Thanks for explaining the matrix multiplication. I noticed you have not posted any more GPU related programs. I hope you have plans to update the program using shared memory.

  • @FredLindsay-c7f
    @FredLindsay-c7f Před 3 dny

    Thompson Thomas Hernandez Daniel Gonzalez Mary

  • @egonkirchof
    @egonkirchof Před 17 dny

    Mojo is great if you are planning on using python for things you should not be using python for in the first time

  • @novianindy887
    @novianindy887 Před 2 měsíci

    is it possible to deobfuscate / decompile it?

    • @sina6348
      @sina6348 Před 2 měsíci

      Yes it is . your source is not for 100% secure. but it is secure enough. there are projects designed for decompiling pyarmour but usually every new version they fail . so there is no solid answer to that . you can check pyarmour decompile ( google it ) and you will see many . but test it yourself on your code.

    • @novianindy887
      @novianindy887 Před 2 měsíci

      @@sina6348 okay nice, I agree. I think the newest pyarmor gets harder to break. I'm wondering if the strings in the exe are obfuscated or plain text

    • @bill8126
      @bill8126 Před měsícem

      Pyarmor maintainer is supposed to change obfuscation algorythm every new version I guess. It is written in C and built as python binary file .pyd. So I think to get a source is nearly impossible. As for strings yes they are not secured. You have to buy paid pyarmor version and there will be a bunch of new secure methods also for strings. But still it can be secured simply by storing strings as a list of characters and they build it during runtime.

    • @paulklimenko8419
      @paulklimenko8419 Před měsícem

      ​@@bill8126 wow a very nice insights you have bro. Nice ones. thank you. Thanks for mentioning about the strings part which can be stated in binary or number

  • @user-ec4yx1ki3s
    @user-ec4yx1ki3s Před 4 měsíci

    first of all thanks for your effort , but i have a little QS if i locked the code by specific Date so if the Date finished so the user download the script again and run it do the date start again or will give the user that its date finished, and another QS how i can get the mac automaticlly coz for sure i cant know the mac of any one download the script?

    • @sina6348
      @sina6348 Před 2 měsíci

      Qustion one: When you lock your code using PyArmor by specifying an expiration date, the expiration is embedded into the encrypted code itself. This means that if the expiration date has passed, downloading the script again will not reset the date. The script will still check against the original expiration date embedded in the code. If the date has expired, it will indicate that the date has finished and the script will not run. To continue using the script beyond the expiration date, you would need to re-encrypt the code with a new expiration date. Question two: Maybe for restricting on MAC address first you give your user an script that gets the mac-address and then make a pyarmour for the main code based on obtained mac. so do not give them the main code at the first place

  • @pawelcilinskij1985
    @pawelcilinskij1985 Před 4 měsíci

    I have troubles wiht including png++/png.hpp please help

    • @sina6348
      @sina6348 Před 4 měsíci

      Hello, I have provided the wholde code , including png.hpp in the dropbox link in the video description. you can replicate the whole solution. :)

  • @jaseelamadappat956
    @jaseelamadappat956 Před 5 měsíci

    Good lecture. Thank you

  • @yedukondalupatha8473
    @yedukondalupatha8473 Před 6 měsíci

    When the block size is lesser than filter size? Tile size becomes negative. How to solve? Ex: block size =32x32 & filter size = 49x49

  • @donateus6743
    @donateus6743 Před 8 měsíci

    this is stdout issue with mojo, they will fix

  • @msr60215
    @msr60215 Před 9 měsíci

    its must test on a library like pandas not a simple loops

    • @sina6348
      @sina6348 Před 9 měsíci

      Libraries like Pandas are simple list and arrays and such loops at the back-end and lower level. so still almost same thing happens underhood

  • @personal1872
    @personal1872 Před 10 měsíci

    hey there, great video, can you tell me the difference between codon and nuitka, Both compile python code to C/C++ machine code

  • @grzegorzryznar5101
    @grzegorzryznar5101 Před 11 měsíci

    Thanks for the video! I had reported this performance issue to Mojo's issue tracker. The problem here is related probably to printing to stdout. I am curious how it will behave without this print!

  • @tkm3ss10
    @tkm3ss10 Před 11 měsíci

    I believe the issue lies in printing to STDOUT. Below are the timings for simply counting the number of primes up to 10,000,000. Now, Mojo's speed is comparable to Go and faster than Python. I haven't tested it with Codon. Of course, STDOUT in Mojo needs improvement. go run a.go Time: 1.000840068s Primes: 664579 python3 a.py Time: 28.343021631240845 Primes: 664579 mojo a.mojo Time: 0.99078177199999995 s Primes: 664579 Tested with WSL2

    • @tkm3ss10
      @tkm3ss10 Před 11 měsíci

      Mojo Code: ``` from time import now fn is_prime(n: Int) -> Bool: if n <= 1: return False if n <= 3: return True if n % 2 == 0 or n % 3 == 0: return False var i: Int = 5 while i * i <= n: if n % i == 0 or n % (i + 2) == 0: return False i += 6 return True fn primes(n: Int) -> Int: var count: Int = 0 for i in range(1, n): if is_prime(i): count += 1 return count fn main() raises: let n: Int = 10000000 let start: Int = now() let count: Int = primes(n) print("Time: ", (now() - start)/1000000000, "s") print("Primes: ", count) ```

  • @chovuse
    @chovuse Před 11 měsíci

    Great tutorials ! But your syntax text is very small. Please help to increase the size. Many Thanks

  • @veskopetrovic4970
    @veskopetrovic4970 Před 11 měsíci

    FYI. I run code which you provided on Mojo, Python3, compiled Python code with Codon an Go. I got the following execution times: Mojo: 40.8 sec Python3: 59.3 sec Python compiled with Codon: 14.9 sec GO: 12.8 sec on my WSL (Intel i7 CPU x920 2.00GHz with 32 GB RAM)

    • @sina6348
      @sina6348 Před 11 měsíci

      Thank you for replicating the codes, and I guess it agrees with my resluts, with the Go to be the fastest then Python+Condon, then MOJO and classical Python to be the last. but it is interesting that python+codon is that much faster than MOJO.

  • @veskopetrovic4970
    @veskopetrovic4970 Před 11 měsíci

    It is an interesting presentation. Thanks

  • @kotvkvante22
    @kotvkvante22 Před 11 měsíci

    very good. It's sad that there are few views. hello from Russia!

  • @PraveenKumar-sw1ts
    @PraveenKumar-sw1ts Před rokem

    Wonderful lecture sir I am very grateful to this video. it cleared so many things for me ❤❤❤❤❤❤. I don't know how to say thanks to your dead clear explanation.

  • @lucidchart-om5hv
    @lucidchart-om5hv Před rokem

    From where I can get the Utils folder. Kindly reply. I need it for my project.

  • @Kumuthini2024
    @Kumuthini2024 Před 2 lety

    Please provide source code

  • @WaqarMumtaz
    @WaqarMumtaz Před 2 lety

    Great Man!😀