Bonjour,
J'ai un souci sur ce code décompilé affiche à certains endroits le langage ASM:
private Datum httpGetResponse()
{
DataInputStream input;
byte dataKeep[];
int responseCode;
int count;
input = null;
dataKeep = (byte[])null;
responseCode = -1;
try
{
System.out.println("HttpService.httpGetResponse() " + connection.getEncoding());
input = connection.openDataInputStream();
responseCode = ((HttpConnection)connection).getResponseCode();
System.out.println("HttpService.httpGetResponse() " + responseCode);
}
catch(Exception ex)
{
if(HttpTimeOut.access$0(httpTimeOut) == null)
currentStatus = 4;
else
currentStatus = 6;
return null;
}
count = 0;
ByteArrayOutputStream bStrm;
bStrm = new ByteArrayOutputStream();
responseString = "data :";
responseString;
JVM INSTR new #179 <Class StringBuffer>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String.valueOf();
StringBuffer();
"[";
append();
input.available();
append();
"]";
append();
toString();
responseString;
System.out.println("HttpService.httpGetResponse() lecture");
int b;
while((b = input.read()) != -1)
{
bStrm.write(b);
listener.progressed(Thread.currentThread().hashCode(), count);
}
dataKeep = bStrm.toByteArray();
System.out.println("Donn\351es r\351cup\351r\351es : " + new String(dataKeep));
System.out.println("Taille du byte Array:" + dataKeep.length);
if(dataKeep.length > 100)
System.out.println("Donn\351es r\351cup\351r\351es : " + (new String(dataKeep)).substring(0, 100));
else
System.out.println("Donn\351es r\351cup\351r\351es : " + new String(dataKeep));
responseLength = dataKeep.length;
try
{
bStrm.close();
}
catch(Exception e)
{
System.out.println("Erreur de fermeture du bais : " + e);
}
bStrm = null;
if(cryptData)
{
if(responseCode == 401)
currentStatus = 10;
else
if(responseCode != 200)
currentStatus = 5;
} else
if(responseCode != 200)
currentStatus = 5;
break MISSING_BLOCK_LABEL_534;
Exception ex;
ex;
System.out.println("Erreur dans la r\351cup\351ration des donn\351es : " + ex);
currentStatus = 7;
break MISSING_BLOCK_LABEL_534;
Exception exception;
exception;
try
{
input.close();
input = null;
}
catch(Exception exCloseStream)
{
System.out.println("Erreur de fermeture de l'InputStream : " + exCloseStream);
currentStatus = 7;
}
throw exception;
try
{
input.close();
input = null;
}
catch(Exception exCloseStream)
{
System.out.println("Erreur de fermeture de l'InputStream : " + exCloseStream);
currentStatus = 7;
}
if(currentStatus != 0)
return null;
Datum res = null;
byte keep[] = (byte[])null;
if(cryptData)
try
{
keep = UtilPrylos.decrypt(dataKeep, cryptKey);
}
catch(Exception ex)
{
currentStatus = 9;
return null;
}
else
keep = dataKeep;
dataKeep = (byte[])null;
int debut = 0;
int fin = -1;
for(int i = 0; i < keep.length; i++)
{
if(keep[i] != 43 && keep[i] != 42 && keep[i] != 91)
continue;
debut = i;
break;
}
for(int i = keep.length - 1; i >= 0; i--)
{
if(keep[i] == 32 || keep[i] == 10 || keep[i] == 13)
continue;
fin = i;
break;
}
byte trimKeep[] = new byte[(fin - debut) + 1];
System.out.println("debut " + debut + " fin " + fin);
for(int i = 0; i < trimKeep.length; i++)
trimKeep[i] = keep[i + debut];
if(trimKeep.length > 0)
try
{
System.out.println("HttpService.httpGetResponse() d\351but du parse SPDF");
long begin = System.currentTimeMillis();
res = UtilPrylos.SPDFParse(trimKeep);
System.out.println("HttpService.httpGetResponse() fin du parse ");
System.out.println("HttpService.httpGetResponse() temps total : " + (System.currentTimeMillis() - begin));
}
catch(Exception ex)
{
System.out.println("Erreur de parse " + ex.getMessage());
currentStatus = 1;
return null;
}
keep = (byte[])null;
System.out.println("fin de httpgetresponse");
return res;
}
Est-ce que quelqu'unn aurait une idée sur ce type d'affichage en ASM?
Merci.