• STATISTIQUES
  • Il y a eu un total de 0 membres et 28786 visiteurs sur le site dans les dernières 24h pour un total de 28 786 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Python] QuickHex
12-08-2014, 14h32
Message : #1
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
[Python] QuickHex
Coucou,
voilà j'ai dev un petit script qui reprends le .encode(hex) et .decode de python pour réaliser un convertisseur rapide, bien utile quand on reverse. Wink
Le but étant d'avoir à taper simplement la valeur hexa ou ASCII rien d'autre.
Les optimisations sont bienvenues Wink

Code PYTHON :

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  Simple Quick HEX -> Simple Hex to  ASCII Converter
#  
#  Copyright 2014 thxer <thxer@thxer.com>
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#  
#  
class colors:
    BLUE = '\033[94m'
    GREEN = '\033[92m'
    ERR = '\033[91m'
    NORM = '\033[0m'
   
   
def menu() :       
    print  """ \r\n
==================================
       [ Choose a Mode ]
Mode :
-----------------
1) Hex -> ASCII     (h2a)
2) ASCII -> Hex     (a2h)
-----------------
q for quit
==================================
"""
+ colors.BLUE
    rep = raw_input("\r\nMode 1 or 2 ? > ")
    ok = ["1","2","q"]
    if rep in ok :
        if rep == ok[0] :
            h2a()
        elif rep == ok[1] :
            a2h()
        else :
            exit(0)
       
    else:
        menu()

def h2a() :
    print colors.NORM
    q = 0
    while q != 1 :
        vl = raw_input("\r\nq for quit \r\nH2A > ")
        if vl == "q" :
            q = 1
        else
            try:
                int(vl)
            except ValueError:
                print colors.ERR + "Erreur de saisie : Pour 0x41 , donnez 41"+ colors.NORM
            else:
                if (len(vl) % 2) == 0 :
                    print colors.BLUE +"\"0x"+str(vl)+"\" "+ colors.NORM + "=" + colors.GREEN + " \""+str(vl).decode("hex")+"\"" + colors.NORM
                else :
                    print colors.ERR +"Erreur de saisie "+ colors.NORM
    exit(0)

def a2h() :
    print colors.NORM
    q = 0
    while q != 1 :
        vl = raw_input("\r\nq for quit \r\nH2A > ")
        if vl == "q" :
            q = 1
        else :
            print colors.BLUE +"\""+str(vl)+"\" "+ colors.NORM + "=" + colors.GREEN + " \"0x"+str(vl).encode("hex")+"\"" + colors.NORM
    exit(0)


def main():
    print colors.BLUE + """
                                         
 _____     _     _          _____        
|     |_ _|_|___| |_ _ _   |  |  |___ _ _
|  |  | | | |  _| '_| | |  |     | -_|_'_|
|__  _|___|_|___|_,_|_  |  |__|__|___|_,_|
   |__|             |___|  
                            by thxer.com """
+ colors.NORM
    menu()
    return 0

if __name__ == '__main__':
    main()


 
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (2) -1 (0) Répondre
12-08-2014, 14h40 (Modification du message : 12-08-2014, 14h41 par notfound.)
Message : #2
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: [Python] QuickHex
Plop Thxer,

Merci pour le code. Juste quelques remarques personnelles :
- Moi j'aime pas quand il y a des menus, je trouve ça chiant. Devoir appuyer sur 1 puis mettre le truc etc, c'est relou. Perso je fonctionne plutot comme suit (par exemple) :
Code :
$ prog e <ascii>
$ prog d <hexa>

- Ensuite, ton programme ne fonctionne que dans un cas, cad le cas où l'hexa est de la forme xx yy zz (31 32 33). Quid des autres formes ? (ie \x31\x32\x33 ou 0x31 0x32 0x33 ou 0x313233 ou 0x31,0x32,0x33 etc ...)
+1 (2) -1 (0) Répondre
12-08-2014, 14h58 (Modification du message : 12-08-2014, 15h00 par gruik.)
Message : #3
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [Python] QuickHex
- dans la fonction h2a() tu fais un int(vl), du coup on ne peut pas rentrer des valeurs comme 0A, CC ou BF
- tant qu'à avoir une option pour quitter dans le menu, ben je pense que j'aurais wrappé menu dans un while true et remplacé les exit(0) par des return dans les sous-fonctions
- ou alors utiliser des options de la ligne de commande directement, -h ou -a par exemple, plutot qu'un programme interractif
- et bon.. toujours par souci de cohérence, je pense que j'aurais pas ajouté le 0x devant la chaine en hexa, de manière que l'output généré avec a2h() peut directement servir d'input à h2a() et inversément

voila voila, my 2 cts
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (1) -1 (0) Répondre
12-08-2014, 15h53
Message : #4
thxer Hors ligne
:(){ :|:&amp; };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] QuickHex
Cool pour le retour Smile , pour le
Code :
int(vl)
j'ai fait le bon boulet ! Smile
C'est que le menu est un peu inutile au final, de plus l'idée de faire du while pour le menu c'est plus propret.
Merci les gars je partagerai la V2 ! Smile
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
13-08-2014, 10h45 (Modification du message : 13-08-2014, 10h46 par fr0g.)
Message : #5
fr0g Hors ligne
NTEuNDI2MzcsLTEuNzc4NDg4
*****



Messages : 348
Sujets : 22
Points: 56
Inscription : Aug 2011
RE: [Python] QuickHex
btw

Code PYTHON :

ok = {"1" : h2a , "2" : a2h , "q" : exit}
if rep in ok: ok[rep]()
else: menu()
 


ça 't'éviteras les if elif en série Smile


sinon :
(12-08-2014, 14h40)notfound a écrit :
Code :
$ prog e <ascii>
$ prog d <hexa>

+1
+1 (1) -1 (0) Répondre
13-08-2014, 19h06
Message : #6
thxer Hors ligne
:(){ :|:&amp; };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] QuickHex
Cool ! Smile
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
15-08-2014, 03h43 (Modification du message : 15-08-2014, 20h27 par sakiir.)
Message : #7
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [Python] QuickHex
Bon je me permet d'ajouter un truc du style ici , que je viens de faire , ca peut être utilise aussi !
Code C :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int ac,char **av)
{
  if(ac < 2)
    {
      printf("#ASCII-Digest\n");
      printf("Usage : %s <asciisring>\n", av[0]); //edit
      exit(1);
    }
 
  char input[1024];
  int i = 0;
  int inputLen = strlen(av[1]); //edit

  strncpy(input, av[1], 1023);
 

  //Digest 1 41:41:41:41:41 ...
  printf("[^] Digest 1 : ");
  while(input[i] != '\0')
    {
      printf("%x",input[i]);
      if(i == inputLen-1)
    {
      break;
    }
      printf(":");
      i++;
    }
  printf("\n");

  //Digest 2 \x41\x41\x41\x41\x41 ...
  i = 0;
  printf("[^] Digest 2 : ");
  while(input[i] != '\0')
    {
      printf("\\x");
      printf("%x",input[i]);
      i++;
    }
  printf("\n");

  //Digest 3 4141414141 ...
  i = 0;
  printf("[^] Digest 3 : ");
  while(input[i] != '\0')
    {
      printf("%x", input[i]);
      i++;
    }
  printf("\n");  
 
 

}

 
+1 (2) -1 (1) Répondre
15-08-2014, 11h01
Message : #8
thxer Hors ligne
:(){ :|:&amp; };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: [Python] QuickHex
Merci sakiir
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
15-08-2014, 11h41
Message : #9
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: [Python] QuickHex
Code C :
printf("Usage : %s <asciisring>\n");

devrait être
Code C :
printf("Usage : %s <asciisring>\n", av[0]);


et

Code C :
int inputLen = strlen(input);

devrait être:
Code C :
int inputLen = strlen(av[1]);
+1 (1) -1 (0) Répondre
15-08-2014, 20h26
Message : #10
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [Python] QuickHex
ahh merde ouai je l'ai pas compilé le code ^^
+1 (0) -1 (1) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 937 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 136 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 222 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 117 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 426 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 343 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 156 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 177 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 123 25-10-2014, 12h58
Dernier message: St0rn
  Python : QuickBIn octarin 1 130 13-08-2014, 19h05
Dernier message: thxer

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut