请教大家一个通过反编译android代码的还原
时间:2011-08-21
来源:互联网
请教大家一个通过反编译代码的还原方法
此code是通过dex2jar工具从android的classes.dex反编译过来的,然后使用jd打开的:
public Bitmap getBitmap(Context paramContext, byte[] paramArrayOfByte)
{
monitorenter;
try
{
long l = hash(paramArrayOfByte);
int i = getIndex(l);
BitmapDataArray.ByteBufferDescription localByteBufferDescription1 = ((BitmapDataArray)this._dataArray).getByteBuffer(i);
int j = getIndex(l);
Object localObject1;
if (i == j)
{
if (localByteBufferDescription1 != null)
break label73;
_log.error("getBitmap() existingData is null!");
localObject1 = null;
}
while (true)
{
return localObject1;
i = j;
break;
label73: String str1 = new String(paramArrayOfByte);
if (localByteBufferDescription1.len <= 0)
{
_log.error("ByteBuffer is messed up!!!!!!");
Logger localLogger = _log;
StringBuilder localStringBuilder1 = new StringBuilder().append("position after return remaining=");
int k = localByteBufferDescription1.buffer.remaining();
StringBuilder localStringBuilder2 = localStringBuilder1.append(k).append(" startOffset=");
int m = localByteBufferDescription1.startOffset;
StringBuilder localStringBuilder3 = localStringBuilder2.append(m).append(" len=");
int n = localByteBufferDescription1.len;
String str2 = n;
localLogger.error(str2);
int i1 = localByteBufferDescription1.len / 0;
}
DefaultDataStoreHandler localDefaultDataStoreHandler = this._dataHandler;
ByteBuffer localByteBuffer1 = localByteBufferDescription1.buffer;
int i2 = localByteBufferDescription1.startOffset;
int i3 = localByteBufferDescription1.len;
BitmapDataArray.ByteBufferDescription localByteBufferDescription2 = localDefaultDataStoreHandler.movePositionByKey(paramArrayOfByte, localByteBuffer1, i2, i3);
if (localByteBufferDescription2 == null)
{
_log.error("getBitmap() desc buffer description is null after moving for key!!!!!!");
localObject1 = null;
continue;
}
ByteBuffer localByteBuffer2 = localByteBufferDescription2.buffer;
int i4 = localByteBufferDescription2.startOffset;
int i5 = localByteBufferDescription2.len;
Bitmap localBitmap = buildBitmapFromByteBuffer(paramContext, localByteBuffer2, i4, i5);
localObject1 = localBitmap;
}
}
finally
{
monitorexit;
}
throw localObject2;
}
此code是通过dex2jar工具从android的classes.dex反编译过来的,然后使用jd打开的:
public Bitmap getBitmap(Context paramContext, byte[] paramArrayOfByte)
{
monitorenter;
try
{
long l = hash(paramArrayOfByte);
int i = getIndex(l);
BitmapDataArray.ByteBufferDescription localByteBufferDescription1 = ((BitmapDataArray)this._dataArray).getByteBuffer(i);
int j = getIndex(l);
Object localObject1;
if (i == j)
{
if (localByteBufferDescription1 != null)
break label73;
_log.error("getBitmap() existingData is null!");
localObject1 = null;
}
while (true)
{
return localObject1;
i = j;
break;
label73: String str1 = new String(paramArrayOfByte);
if (localByteBufferDescription1.len <= 0)
{
_log.error("ByteBuffer is messed up!!!!!!");
Logger localLogger = _log;
StringBuilder localStringBuilder1 = new StringBuilder().append("position after return remaining=");
int k = localByteBufferDescription1.buffer.remaining();
StringBuilder localStringBuilder2 = localStringBuilder1.append(k).append(" startOffset=");
int m = localByteBufferDescription1.startOffset;
StringBuilder localStringBuilder3 = localStringBuilder2.append(m).append(" len=");
int n = localByteBufferDescription1.len;
String str2 = n;
localLogger.error(str2);
int i1 = localByteBufferDescription1.len / 0;
}
DefaultDataStoreHandler localDefaultDataStoreHandler = this._dataHandler;
ByteBuffer localByteBuffer1 = localByteBufferDescription1.buffer;
int i2 = localByteBufferDescription1.startOffset;
int i3 = localByteBufferDescription1.len;
BitmapDataArray.ByteBufferDescription localByteBufferDescription2 = localDefaultDataStoreHandler.movePositionByKey(paramArrayOfByte, localByteBuffer1, i2, i3);
if (localByteBufferDescription2 == null)
{
_log.error("getBitmap() desc buffer description is null after moving for key!!!!!!");
localObject1 = null;
continue;
}
ByteBuffer localByteBuffer2 = localByteBufferDescription2.buffer;
int i4 = localByteBufferDescription2.startOffset;
int i5 = localByteBufferDescription2.len;
Bitmap localBitmap = buildBitmapFromByteBuffer(paramContext, localByteBuffer2, i4, i5);
localObject1 = localBitmap;
}
}
finally
{
monitorexit;
}
throw localObject2;
}
作者: izhangxueyong 发布时间: 2011-08-21
同求!!!
作者: zhgdx21cn 发布时间: 2011-09-29
到android版块去问吧、
作者: huangchenliang 发布时间: 2011-09-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28