Bueno aca les vengo a traer una simple pero util aplicacion que hice en mi tiempo libre. muy util para sql injection, pero si la quieren usar para otra cosa, les sirve. tiene la opcion de encerrar el resultado entre parentesis "()", o de separar con lo que ustedes quieran: ","; "."; " "; "-"
Una fotito:
(http://i29.tinypic.com/r9nd6v.jpg)
Aca esta el código por si alguien lo quiere (no soy ningun profesional!) ;) :
Private Sub Command1_Click()
If text1.Text = "" Then
MsgBox "Escribí algo para convertir!", vbCritical, "Error"
Else
If Check1.Value = Checked Then
Dim letras As String
Dim vseparador As String
Dim separador As String
Dim caca As String
Dim msj As String
caca = ""
separador = Text3.Text
For i = 1 To Len(text1)
caca = caca + CStr(Asc(Mid(text1.Text, i, 1))) & separador
Next i
vseparador = Len(separador)
letras = Len(caca)
msj = "(" + Left(caca, letras - vseparador) + ")"
Text2.Text = msj
Else
caca = ""
separador = Text3.Text
For i = 1 To Len(text1)
caca = caca + CStr(Asc(Mid(text1.Text, i, 1))) & separador
Next i
vseparador = Len(separador)
letras = Len(caca)
msj = Left(caca, letras - vseparador)
Text2.Text = msj
End If
End If
End Sub
Private Sub text1_click()
text1.Text = ""
End Sub
La descarga ya compilado por si lo quieren asi: Descargar (http://www.ilovepc.comuf.com/String-Ascii%20by%20castg.rar)
Suerte a todos!
Yo hice una tool parecida pero que soloi transforma a hexadecimal un string :P dejo el codigo
format pe console
entry start
include 'win32ax.inc'
.code
start:
invoke printf,Logo
invoke printf,"Ingrese la string"
invoke printf,n
invoke scanf,"%s",dBuffer
stdcall StringToHex ,dBuffer ,<invoke lstrlen,dBuffer >,dBuffer2
invoke printf,"La string en hexadecimal es:"
invoke printf,n
invoke printf,"0x%s",dBuffer2
invoke system,"pause>>NULL"
invoke ExitProcess,0
;Descripción: Convierte un dato a hexadecimal
; by YST
proc StringToHex,cPuntero,cCantidad,cBuffer
pushad
mov esi,[cPuntero]
mov edi,[cBuffer]
.bucle:
cmp [cCantidad],0
je .salir
xor edx,edx
movzx eax,byte[esi]
mov ebx,16
div ebx
mov bl, byte[numeros+eax]
mov byte[edi],bl
mov bl, byte[numeros+edx]
mov byte[edi+1],bl
add edi,2
inc esi
dec [cCantidad]
jmp .bucle
.salir:
popad
ret
numeros db '0123456789ABCDEF',0
endp
.data
Logo db ' ===================================',13,10 ; LOGO PRINCIPAL
db ' = StringToHex by YST =',13,10
db ' ===================================',13,10,13,10,13,10,0
dBuffer2 rb MAX_PATH*2
dBuffer rb MAX_PATH
n db 13,10,0
section '.idata' import data readable writeable
library kernel32,'kernel32.dll',msvcrt,'msvcrt.dll'
include 'api/kernel32.inc'
import msvcrt,printf,"printf",system,"system",scanf,'scanf'
section '.reloc' fixups data discardable
Me parece bien que coloquen buenos códigos en distintos lenguajes.
Espero y a alguien le sirvan.
Yo tengo unos del codeador que hize hace tiempo en php
echo sqlchr('hola');
function sqlchr($buffer){
for($cuenta=0;$cuenta<strlen($buffer);$cuenta++){
$dump .= 'char('.ord($buffer[$cuenta]).')';
if((strlen($buffer) - 1) != $cuenta){
$dump .= ',';
}
}
return $dump;
}
/*
Resultado:
char(104),char(111),char(108),char(97)
*/
echo sqldword('../../../../../etc/passwd');
function sqldword($buffer){
return 'funcion(0x'.bin2hex($buffer).')';
}
/*
Resultado:
funcion(0x2e2e2f2e2e2f2e2e2f2e2e2f2e2e2f6574632f706173737764)
*/
Ala, pues yo lo pongo en python.
cadena = raw_input("Escribe la cadena : ")
parentesis = raw_input("Quieres meterlo entre parentesis? ")
separacion = raw_input("Por que lo quieres separar? ")
if parentesis=="Si" or parentesis=="si" or parentesis=="SI": print "(",
for numero in range(len(cadena)) :
print ord(cadena[numero]),
if numero!=len(cadena)-1: print separacion,
if parentesis=="Si" or parentesis=="si" or parentesis=="SI": print ")"
raw_input()
que bueno! sigan subiendo en distintos lenguajes, estoy aprendioendo!
lo agregué al recopilatorio de post.
Aca va el mio para pasar un string al formato char(115,116,114,105,110,103) Codeado en Perl.. Buenos codigos Sigamos con mas.. Saludos
#!/usr/bin/perl
sub decimal {
my (@arreglo2) = @_;
$i = 0;
foreach $letra(@arreglo2)
{
if ($i <= $#arreglo) {
@arreglo3[$i] = ord($letra);
$i++;
}
}
return @arreglo3;
}
print "====================================================\n";
print "Ingresa la cadena a pasar a Decimal\n";
print "dicha tiene q estar deletreada separada por coma\n";
print "ejemplo: u,s,u,a,r,i,o \n";
print "====================================================\n";
print ">>";
$cadena.=<STDIN>;
chomp($cadena);
print "Cadena = ";
print "$cadena\n\n";
@arreglo=split(",",$cadena);
print "Decimal:char(";
print join ",",&decimal(@arreglo);
print ")\n\n"
que pena hace poco habia visto uno en batch que era bastante eficaz, si alguien lo encuentra o se dispone a hacerlo chifle ;) yo voy a intentar.
Aqui tienen el mio (http://foro.elhacker.net/nivel_web/aplicacion_asciic_by_xassiz-t269078.0.html) en VBScript..
Lo encontre! lo modifique y cambie bastantes cosas, no es 100% batch pero sirve igual :D. @echo off
title String-Ascii Converter
setlocal enabledelayedexpansion
if not exist "ascii.exe" (call :ascii)
:init
cls
echo.
set /p sentence="Inserte la cadena a convertir > "
call :split "%sentence%"
echo.
echo Cadena: %sentence%
echo Ascii: (%result:~1%)
echo.
pause > nul
echo.
echo Quiere dejarlo en un archivo de texto? (S/N)
set /p resp2=
if %resp2%==S (call :save)
if %resp2%==s (call :save)
if %resp2%==n (call :dsp)
if %resp2%==N (call :dsp)
endlocal
goto :dsp
:save
echo. >> "%USERPROFILE%\Escritorio\String-Ascii.txt"
echo Cadena: %sentence% >> "%USERPROFILE%\Escritorio\String-Ascii.txt"
echo Ascii: (%result:~1%) >> "%USERPROFILE%\Escritorio\String-Ascii.txt"
cls
echo Se ha creado un archivo en el escritorio con el nombre de "String-Ascii"
pause > nul
:split
set target=%~1
call :string "%target%"
for /l %%a in (0,1,%len%) do (
call :toascii "%%target:~%%a,1%%"
set result=!result!,!ascii!)
goto :eof
:string
set string=%~1
:string2
set /a length+=1
set /a len=%length%-1
set string=%string:~1%
if "%string%"=="" goto :eof
goto :string2
:toascii
(
echo %~1
)|ascii.exe
set ascii=%errorlevel%
goto :eof
:ascii
(
echo n ascii.dat
echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo rcx
echo 002E
echo w0
echo q
echo.
)>ascii.dat
type ascii.dat|debug>NUL 2>&1
del /f/q/a "ascii.exe">NUL 2>&1
ren ascii.dat "ascii.exe"
goto :eof
:dsp
cls
echo Inserte:
echo 1 para volver al conversor.
echo 2 para salir.
echo.
set /p resp="> "
if %resp%==1 (call :init)
if %resp%==2 (exit)
En gif:
http://www.elhacker.net/ascii.gif
(http://www.elhacker.net/ascii.gif)
yo lo pongo en bmp : xD!