Pocket Habbo v2.2.0 (Decompiled Source Code)
Pocket Habbo
v2.2.0
Decompiled Source Code
I don't remember how I got my hands on this since I was probably drunk at the time and my sleeping pattern hasn't exactly been great, but here you go. Pocket Habbo v2.2.0 source code. Not sure what you could possibly do with this but I'm just dumping files off my MacBook Pro at the moment, lol. Do whatever the hell you like with the files, also includes the smali files.
Download: https://mega.co.nz/#!9spWySJQ!pAxu9a...bvRktpWmMz0H_c
Code:
// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package pobo.common.habboconnect;
import asema.json.JSONArray;
import asema.json.JSONObject;
import asema.json.JSONParser;
import asema.library.collections.MapSO;
import asema.system.io.HttpConnectionConstants;
import pobo.common.analytics.HabboTracker;
import pobo.common.habboconnect.habbodata.HabboServer;
import pobo.common.habboconnect.util.HabboUtils;
import pobo.common.network.HttpRequest;
// Referenced classes of package pobo.common.habboconnect:
// HabboConnectConstants, HabboConnectConfiguration
public class HabboConnectRequest extends HttpRequest
implements HttpConnectionConstants, HabboConnectConstants
{
private static String Vj = null;
private final String Vf;
private Object Vg;
private String Vh;
private String Vi;
private String gV;
public HabboConnectRequest(String s, MapSO mapso, int i)
{
super(i, mapso);
Vf = s;
MapSO mapso1 = vR();
if (mapso1 != null)
{
HabboUtils.c(mapso1);
}
StringBuffer stringbuffer = new StringBuffer();
if (mapso1 != null && mapso1.size() > 0)
{
for (int j = 0; j < mapso1.size(); j++)
{
String s4 = mapso1.B(j);
String s5 = (String)mapso1.u(j);
stringbuffer.append((new StringBuilder()).append(s4).append('=').append(s5).toString());
if (j < -1 + mapso1.size())
{
stringbuffer.append('&');
}
}
}
gV = (new StringBuilder("/pocket/1")).append(Vf).toString();
Vh = HabboConnectConfiguration.ut().vF();
Vi = (new StringBuilder()).append(Vh).append(gV).toString();
String s1 = vS();
if (vQ() == 0 && s1.length() > 0)
{
Vi = (new StringBuilder()).append(Vi).append("?").append(s1).toString();
}
y("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
if (Vj == null)
{
Vj = HabboConnectConfiguration.ux();
}
y("User-Agent", HabboConnectConfiguration.uw());
y("X-Habbo-Device-ID", HabboUtils.getDeviceId());
y("X-Habbo-App-ID", HabboConnectConfiguration.uy());
y("X-Habbo-Version", Vj);
String s2;
String s3;
if ("java_high_android".endsWith("ios"))
{
s2 = "ios";
} else
if ("java_high_android".endsWith("android"))
{
s2 = "android";
} else
{
s2 = "desktop";
}
y("X-Habbo-Device-Type", s2);
s3 = HabboConnectConfiguration.uu();
if (s3 != null && s3.length() > 0)
{
y("X-Habbo-Authentication-Token", s3);
}
y("X-Habbo-Checksum", HabboUtils.x(gV.toString(), stringbuffer.toString()));
}
public final void close()
{
Vg = null;
super.close();
}
public final void connect()
{
Vg = null;
super.connect();
}
public final String getUri()
{
return Vi;
}
public final void u(byte abyte0[])
{
String s;
if (abyte0 == null)
{
s = "";
getStatusCode();
} else
{
s = new String(abyte0);
}
Vg = JSONParser.e(s);
if (Vg == null)
{
Vg = s;
}
if (Vg.getClass() != asema/json/JSONObject)
{
JSONObject jsonobject = new JSONObject();
String s1;
int i;
if (s.compareTo("true") == 0)
{
jsonobject.put("result", true);
} else
if (s.compareTo("false") == 0)
{
jsonobject.put("result", false);
} else
{
jsonobject.put("result", Vg);
}
Vg = jsonobject;
}
if (Vg.getClass() == asema/json/JSONObject)
{
JSONArray jsonarray = ((JSONObject)Vg).b("error");
if (jsonarray != null)
{
s1 = "";
for (i = 0; i < jsonarray.length(); i++)
{
s1 = (new StringBuilder()).append(s1).append("\t\t* ").append(jsonarray.get(i)).append("\n").toString();
cx((new StringBuilder()).append(jsonarray.get(i)).toString());
}
HabboTracker.isEnabled();
MapSO mapso = new MapSO();
StringBuffer stringbuffer = new StringBuffer();
for (int j = 0; j < jsonarray.length(); j++)
{
stringbuffer.append(jsonarray.getString(j));
if (j < -1 + jsonarray.length())
{
stringbuffer.append(',');
}
}
String s2 = Vi;
if (s2 != null)
{
int k = s2.indexOf('?');
String s3;
if (k >= 0 && k < s2.length())
{
s3 = s2.substring(0, k);
} else
{
s3 = s2;
}
mapso.put("cleanUrl", s3);
}
mapso.put("url", s2);
mapso.put("statusCode", (new StringBuilder()).append(getStatusCode()).toString());
mapso.put("errors", stringbuffer.toString());
HabboTracker.a("ERROR_REST", mapso);
}
}
}
public final String uK()
{
return Vf;
}
public final Object uL()
{
return Vg;
}
}
Have fun!
Re: Pocket Habbo v2.2.0 (Source Code)
Could be useful. Thanks for the release!
Cheers!
Re: Pocket Habbo v2.2.0 (Decompiled Source Code)
Nice one man, I've been working with PocketHabbo for a time now, and I can say I've maded a private pockethabbo once :P:
Is this a compilable source?
Re: Pocket Habbo v2.2.0 (Decompiled Source Code)
Yeah I also used a older version to make my own pocket habbo ;p
So noice release..
Btw its decompiled with "jad" you can easly use jad without downloading anything on http://www.decompileandroid.com/ ;p
Its also easy because its all java the "habbo" app is writtin in java and C or C++ so you get also .so files wich are harder to decompile
Re: Pocket Habbo v2.2.0 (Decompiled Source Code)
Quote:
Originally Posted by
Spot Ify
Yeah I also used a older version to make my own pocket habbo ;p
So noice release..
Btw its decompiled with "jad" you can easly use jad without downloading anything on
http://www.decompileandroid.com/ ;p
Its also easy because its all java the "habbo" app is writtin in java and C or C++ so you get also .so files wich are harder to decompile
They're object files on Linux that work like .dll's work on Windows. You can use them, you just can't really decompile them. I'd argue they're still useful the way they came if they're needed. You could always reimplement them yourself as well, this section is built on top of reverse engineering.