Browse Source

fixed train+track stored previews

epsylon 10 months ago
parent
commit
56e4bf3a67
9 changed files with 15 additions and 7 deletions
  1. 1 0
      core/crack.py
  2. 3 3
      core/main.py
  3. 2 1
      core/ocr.py
  4. 1 1
      docs/.github/ISSUE_TEMPLATE/bug_report.md
  5. 5 1
      docs/AUTHOR
  6. 1 1
      docs/INSTALL
  7. BIN
      inputs/test6.png
  8. 1 0
      mods/easy/easy_crack.py
  9. 1 0
      mods/easy/easy_ocr.py

+ 1 - 0
core/crack.py

@@ -127,6 +127,7 @@ class CIntruderCrack(object):
         words = {}
         for letter in letters:
             m = hashlib.md5()
+            m.update(str(letter))
             im3 = im2.crop((letter[0], 0, letter[1], im2.size[1]))
             guess = []
             for image in imageset:

+ 3 - 3
core/main.py

@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along
 with cintruder; if not, write to the Free Software Foundation, Inc., 51
 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 """
-import os, traceback, hashlib, sys, time, socket
+import os, traceback, hashlib, sys, time, socket, datetime
 import platform, subprocess, re, webbrowser, shutil
 from core.options import CIntruderOptions
 from core.crack import CIntruderCrack
@@ -224,7 +224,7 @@ class cintruder():
         buf = self.optionCurl.request()
         if buf != "exit":
             m = hashlib.md5()
-            m.update(captcha.encode('utf-8'))
+            m.update(captcha.encode('utf-8')+str(datetime.datetime.now()))
             c = "%s.gif"%(m.hexdigest())
             h = "inputs/" + str(c)
             f = open(h, 'wb')
@@ -276,7 +276,7 @@ class cintruder():
                 print('-'*45)
             if buf != "exit":
                 m = hashlib.md5()
-                m.update(captcha.encode('utf-8'))
+                m.update(captcha.encode('utf-8')+str(datetime.datetime.now()))
                 h = "inputs/%s/%s.gif"%(self.domain, m.hexdigest())
                 f = open(h, 'wb')
                 f.write(buf.getvalue())

+ 2 - 1
core/ocr.py

@@ -112,6 +112,7 @@ class CIntruderOCR(object):
         count = 0
         for letter in letters:
             m = hashlib.md5()
+            m.update(str(letter))
             im3 = im2.crop(( letter[0], 0, letter[1], im2.size[1] ))
             im3.save("outputs/words/%s.gif"%(m.hexdigest()))
             im3.save("core/images/previews/ocr/%s.gif"%(m.hexdigest()))
@@ -124,7 +125,7 @@ class CIntruderOCR(object):
         if count == 0:
             print("\nOuch!. Looks like this captcha is resisting to our OCR methods... by the moment ;-)\n")
             print("Try this...\n") 
-            print("    1) Check colour's ID values and quantity of pixels of each by using verbose") 
+            print("    1) Check colour's ID values and quantity of pixels of each symbol using verbose") 
             print("    2) Set different ID values to your OCR configuration and try it again")
             print("    3) Try to apply some image filters (ex: B/W) manually with an editor (ex: GIMP) to your target")
             print("    4) Maybe there is a module that works correctly for this captcha...\n")

+ 1 - 1
docs/.github/ISSUE_TEMPLATE/bug_report.md

@@ -21,7 +21,7 @@ A clear and concise description of what you expected to happen.
 If applicable, add screenshots to help explain your problem.
 
 **Running environment:**
- - cintruder version [e.g. 0.1]
+ - cintruder version [e.g. 0.4]
  - Installation method [e.g. git]
  - Operating system: [e.g. Debian 4.19.16-1~bpo9+1 (2019-02-07) ]
  - Python version [e.g. 3.7]

+ 5 - 1
docs/AUTHOR

@@ -17,16 +17,20 @@
 
  software/projects:
 
+ - Anarcha-Pragmatism: Intellectual model (and movement) based on the culture of the "action/reaction".
  - AnonTwi: Tool for OAuth2 applications (such as: GNUSocial, Twitter) that provides different layers of privacy/encryption.
+ - BrAInStocker: Tool to predict (using Linear Regression) the next number within a series of random numbers.
  - Bordercheck: Tool to visualize 'real-time' on a world map the geolocation of data when surfing the web.
  - CIntruder: Tool to bypass captchas using OCR (Optical Character Recognition) bruteforcing methods.
  - Collatz: Tool to simulate the Collatz's conjeture.
+ - DiaNA: Tool for the search and recognition of patterns in DNA sequences.
  - DieKunstDerFuge: Video on different topics related to hacktivism recorded during 2013 from an intimate narrative perspective.
  - ECOin: Decentralized key/value registration and transfer system based on Bitcoin technology (a cryptocurrency).
  - Euler-Bricks: Tool to search for Euler's "bricks".
  - Goldbach: Tool to simulate the Goldbach's conjeture.
- - Lorea: Social networking autonomous project to build a distributed, encrypted and federated network.
+ - Lorea: Social networking autonomous project to build a distributed, encrypted and federated network. 
  - Orb: Tool for massive footprinting.
+ - PandeMaths: Tool that simulates a mathematical model of pandemics.
  - pArAnoIA-Browser: Tool designed to surf the Internet using some "paranoic" methods.
  - Propagare: Tool for extraction, organization and semantic analysis of newspapers.
  - PyAISnake: Tool to train AI models on solve spatial problems through the classic video game "snake".

+ 1 - 1
docs/INSTALL

@@ -8,7 +8,7 @@ Captcha Intruder is an automatic pentesting tool to bypass captchas.
 How-to INSTALL:
 ===================
 
-CIntruder runs on many platforms.  It requires Python (3.x.x) and the following libraries:
+CIntruder runs on many platforms. It requires Python (3.x.y) and the following libraries:
 
     - python3-pycurl - Python bindings to libcurl (Python 3)
     - python3-libxml2 - Python3 bindings for the GNOME XML library

BIN
inputs/test6.png


+ 1 - 0
mods/easy/easy_crack.py

@@ -122,6 +122,7 @@ class CIntruderCrack(object):
         words = {}
         for letter in letters:
             m = hashlib.md5()
+            m.update(str(letter))
             im3 = im2.crop((letter[0], 0, letter[1], im2.size[1]))
             guess = []
             for image in imageset:

+ 1 - 0
mods/easy/easy_ocr.py

@@ -107,6 +107,7 @@ class CIntruderOCR(object):
         count = 0
         for letter in letters:
             m = hashlib.md5()
+            m.update(str(letter))
             im3 = im2.crop(( letter[0], 0, letter[1], im2.size[1] ))
             im3.save("outputs/words/%s.gif"%(m.hexdigest()))
             im3.save("core/images/previews/ocr/%s.gif"%(m.hexdigest()))