From 74070e8194cd84e16fb33afbed23758469d211c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederik=20M=C3=B6llers?= Date: Tue, 23 Jun 2015 00:33:49 +0200 Subject: Update ShSt crypter plugin The plugin doesn't rely on a third party website anymore for the actual decrypting. Instead it uses a different user agent which makes sh.st serve an HTTP redirect. This speeds up the decrypting process and fixes errors related to the third party web site (in particular the latest outage and API change). Also, self.urls is now used instead of self.packages for the decrypted URL. --- module/plugins/crypter/ShSt.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'module/plugins/crypter/ShSt.py') diff --git a/module/plugins/crypter/ShSt.py b/module/plugins/crypter/ShSt.py index c50a437db..f8733ac2b 100644 --- a/module/plugins/crypter/ShSt.py +++ b/module/plugins/crypter/ShSt.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.Crypter import Crypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter +import pycurl import re -class ShSt(Crypter): +class ShSt(SimpleCrypter): __name__ = "ShSt" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://sh\.st/\w+' @@ -21,8 +22,9 @@ class ShSt(Crypter): def decrypt(self, pyfile): - package = pyfile.package() - package_name = package.name - package_folder = package.folder - html = self.load("http://deadlockers.com/submit.php", post = { "deadlock" : self.pyfile.url }, decode = True) - self.packages.append((package_name, [html], package_folder)) + # if we use curl as a user agent, we will get a straight redirect (no waiting!) + self.req.http.c.setopt(pycurl.USERAGENT, "curl/7.42.1") + # fetch the target URL + header = self.load(self.pyfile.url, just_header = True, decode = False) + target_url = header["location"] + self.urls.append(target_url) -- cgit v1.2.3 From a6a4855f8dbca9a93607ed398e943c80bb678ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederik=20M=C3=B6llers?= Date: Tue, 23 Jun 2015 00:39:30 +0200 Subject: Update ShSt crypter plugin Revert to using the "regular" Crypter abstract class instead of SimpleCrypter. Before the last commit, Crypter was used and the last commit didn't actually make use of any SimpleCrypter functionality. So in order to be consistent, Crypter is now used again. --- module/plugins/crypter/ShSt.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter/ShSt.py') diff --git a/module/plugins/crypter/ShSt.py b/module/plugins/crypter/ShSt.py index f8733ac2b..4dc5b1e2d 100644 --- a/module/plugins/crypter/ShSt.py +++ b/module/plugins/crypter/ShSt.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.Crypter import Crypter import pycurl import re -class ShSt(SimpleCrypter): +class ShSt(Crypter): __name__ = "ShSt" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://sh\.st/\w+' -- cgit v1.2.3