Vous n'êtes pas identifié(e).
Pages : 1
Je vais essaie déjà de vous annoncée les outils utilisé pour reverse sous Linux vous pouvait complété :
1-gdb ou edb
2- objdump
3- strings
4-hexdump
5-nm
6-strace, ltrace
7-ldd
8-ida (vs linux)
9-file
10-grep
11-lsof
12-cat /proc/
13-tcpdump,wireshark,tshark,netstat,nmap (réseaux)
14-Python (pdb)
15-readelf
16-elfsh
à compléter
Dernière modification par itichy (13-03-2013 14:06:00)
ядра паники
Hors ligne
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
un peu de lecture?
config 1: AMD FX 4100 Black Edition / 8 Go DDR3 / 2.5 To / Nvidia GeForce GT220 1Go
laptop : DELL Inspiron 15" serie 7000 / i7-4510U / 16Go DDR3 / 1To hybrid (8Go) / intel HD 4000 + NVidia GT 750M / dualboot : W8.1 + archlinux
config 2: AMD FX 8350 Black Edition / 32 Go DDR3 / 500 Go Velociraptor + 2 To / Nvidia GeForce GTX660 2Go
Distro: Arch Linux / Desktop: KDE
Hors ligne
Je vais essaie déjà de vous annoncée les outils utilisé pour reverse sous Linux vous pouvait complété :
Je m'en viens pour reverser ton orthographe.
if="itichy_reverse" of="Je vais essayer déjà de vous annoncer les outils utilisés pour faire du reverse sous Linux. Vous pouvez compléter:"
Hors ligne
Merci Mélodie
ядра паники
Hors ligne
merci itchy
Celui qui ne dispose pas des 2/3 de ca journée, est un ésclave ]:D
OS: Crunchbang avec dépots Kali
Hors ligne
Désassembler du bytecode java (un .class):
il existe un tool qui s'appelle jd-gui, téléchargeable sur http://jd.benow.ca/ qui fait cela très bien, testé sur quelques uns de mes projets et je retrouve effectivement mes sources.
Je n'ai pas testé mais d'après la description sur le site, il supporte aussi les fichiers .jar
Désassembler un executable CIL dotnet:
grace a la commande monodis recupérable depuis le package mono-utils, plus d'info ici => http://mono-project.com/Dis/Assembling_CIL_Code
monodis FILE.exe
PS: Utilisez d'abord la commande file pour verifier que le fichier soit compilé sous dotnet, je n'ai pas de fichier compilé en dotnet sous la main actuellement donc j'editerai/adapterai éventuellement cette partie par la suite.
Edit: J'ai écrit rapidement un petit programme en C# sous monodevelop pour tester le programme dont voici le test.
Enter command here -> file TestCLIConsole.exe
PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS WindowsEnter command here -> ./TestCLIConsole.exe
Commande lancée sans arguments.Enter command here -> ./TestCLIConsole.exe 1 2 3
Arguments lancés: 1 2 3
Enter command here -> monodis TestCLIConsole.exe > test.txt
Contenu du fichier test.txt
.assembly extern mscorlib
{
.ver 4:0:0:0
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly 'TestCLIConsole'
{
.custom instance void class [mscorlib]System.Reflection.AssemblyTitleAttribute::'.ctor'(string) = (
01 00 0E 54 65 73 74 43 4C 49 43 6F 6E 73 6F 6C // ...TestCLIConsol
65 00 00 ) // e..
.custom instance void class [mscorlib]System.Reflection.AssemblyDescriptionAttribute::'.ctor'(string) = (01 00 00 00 00 ) // .....
.custom instance void class [mscorlib]System.Reflection.AssemblyConfigurationAttribute::'.ctor'(string) = (01 00 00 00 00 ) // .....
.custom instance void class [mscorlib]System.Reflection.AssemblyCompanyAttribute::'.ctor'(string) = (01 00 00 00 00 ) // .....
.custom instance void class [mscorlib]System.Reflection.AssemblyProductAttribute::'.ctor'(string) = (01 00 00 00 00 ) // .....
.custom instance void class [mscorlib]System.Reflection.AssemblyCopyrightAttribute::'.ctor'(string) = (01 00 07 77 61 72 6C 6F 63 67 00 00 ) // ...warlocg..
.custom instance void class [mscorlib]System.Reflection.AssemblyTrademarkAttribute::'.ctor'(string) = (01 00 00 00 00 ) // .....
.custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.hash algorithm 0x00008004
.ver 1:0:5188:40670
}
.module TestCLIConsole.exe // GUID = {8ABFEB04-ECE5-4FE2-8897-13420CFEBDD9}
.namespace TestCLIConsole
{
.class private auto ansi beforefieldinit MainClass
extends [mscorlib]System.Object
{
// method line 1
.method public hidebysig specialname rtspecialname
instance default void '.ctor' () cil managed
{
// Method begins at RVA 0x20ec
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ret
} // end of method MainClass::.ctor
// method line 2
.method public static hidebysig
default void Main (string[] args) cil managed
{
// Method begins at RVA 0x20f4
.entrypoint
// Code size 80 (0x50)
.maxstack 6
.locals init (
string V_0,
int32 V_1)
IL_0000: ldarg.0
IL_0001: ldlen
IL_0002: conv.i4
IL_0003: ldc.i4.1
IL_0004: bge IL_0018
IL_0009: ldstr bytearray (
43 00 6f 00 6d 00 6d 00 61 00 6e 00 64 00 65 00 // C.o.m.m.a.n.d.e.
20 00 6c 00 61 00 6e 00 63 00 e9 00 65 00 20 00 // .l.a.n.c...e. .
73 00 61 00 6e 00 73 00 20 00 61 00 72 00 67 00 // s.a.n.s. .a.r.g.
75 00 6d 00 65 00 6e 00 74 00 73 00 2e 00 00 ) // u.m.e.n.t.s....
IL_000e: call void class [mscorlib]System.Console::WriteLine(string)
IL_0013: br IL_004f
IL_0018: ldarg.0
IL_0019: ldc.i4.0
IL_001a: ldelem.ref
IL_001b: stloc.0
IL_001c: ldc.i4.1
IL_001d: stloc.1
IL_001e: br IL_0036
IL_0023: ldloc.0
IL_0024: ldstr " "
IL_0029: ldarg.0
IL_002a: ldloc.1
IL_002b: ldelem.ref
IL_002c: call string string::Concat(string, string, string)
IL_0031: stloc.0
IL_0032: ldloc.1
IL_0033: ldc.i4.1
IL_0034: add
IL_0035: stloc.1
IL_0036: ldloc.1
IL_0037: ldarg.0
IL_0038: ldlen
IL_0039: conv.i4
IL_003a: blt IL_0023
IL_003f: ldstr bytearray (
41 00 72 00 67 00 75 00 6d 00 65 00 6e 00 74 00 // A.r.g.u.m.e.n.t.
73 00 20 00 6c 00 61 00 6e 00 63 00 e9 00 73 00 // s. .l.a.n.c...s.
3a 00 20 00 00 ) // :. ..
IL_0044: ldloc.0
IL_0045: call string string::Concat(string, string)
IL_004a: call void class [mscorlib]System.Console::WriteLine(string)
IL_004f: ret
} // end of method MainClass::Main
} // end of class TestCLIConsole.MainClass
}
Désassembler un fichier flash (.swf):
La commande flasm permet de le faire, et deja présente sous kali.
flasm --help
Flasm 1.62 build Feb 12 2011
(c) 2001 Opaque Industries, (c) 2002-2007 Igor Kogan, (c) 2005 Wang Zhen
All rights reserved. See LICENSE.TXT for terms of use.Usage: flasm [command] filename
Commands:
-d Disassemble SWF file to the console
-a Assemble Flasm project (FLM)
-u Update SWF file, replace Flasm macros
-b Assemble actions to __bytecode__ instruction or byte sequence
-z Compress SWF with zLib
-x Decompress SWFBackups with $wf extension are created for altered SWF files.
To save disassembly or __bytecode__ to file, redirect it:
flasm -d foo.swf > foo.flm
flasm -b foo.txt > foo.asRead flasm.html for more information.
Utilisé sans options il désassemblera automatiquement vers un fichier flm du même nom.
Lien: http://www.nowrap.de/flasm.html
Divers:
Sinon boomerang fait aussi un assez bon boulot pour convertir un binaire en fichier .c, lien ici: http://boomerang.sourceforge.net/
Dernière modification par WarLocG (16-03-2014 22:53:51)
Hors ligne
Pages : 1