给大家分享一个Apk反编译的例子

近期总是频频出现某某网站、某某应用被攻击被破解的新闻。安全问题,很大程度上可能是开发者犯下的低级错误,安全无小事,所有app开发者都应重视。下面由小编整理出的反编译方法,给大家分享分享。

 

下面就是反编译出来的一个java方法

1. .method public restartGL(Landroid/view/SurfaceHolder;)Ljavax/microedition/khronos/opengles/GL;  

2.     .locals 1  

3.   

4.     invoke-direct {p0}, Lcom/ideaworks3d/airplay/AirplayGL;->stop()V  

5.   

6.     iget v0, p0, Lcom/ideaworks3d/airplay/AirplayGL;->m_GLVersion:I  

7.   

8.     invoke-virtual {p0, p1, v0}, Lcom/ideaworks3d/airplay/AirplayGL;->startGL(Landroid/view/SurfaceHolder;I)Ljavax/microedition/khronos/opengles/GL;  

9.   

10.     move-result-object v0  

11.   

12.     return-object v0  

13. .end method  

这个是反编译后的效果

1. private void stop()  

2.   {  

3.     this.m_Started = 0;  

4.     if (this.m_EglSurface == null)  

5.       return;  

6.     EGL10 localEGL101 = this.m_Egl;  

7.     EGLDisplay localEGLDisplay1 = this.m_EglDisplay;  

8.     EGLSurface localEGLSurface1 = EGL10.EGL_NO_SURFACE;  

9.     EGLSurface localEGLSurface2 = EGL10.EGL_NO_SURFACE;  

10.     EGLContext localEGLContext = EGL10.EGL_NO_CONTEXT;  

11.     boolean bool1 = localEGL101.eglMakeCurrent(localEGLDisplay1, localEGLSurface1, localEGLSurface2, localEGLContext);  

12.     EGL10 localEGL102 = this.m_Egl;  

13.     EGLDisplay localEGLDisplay2 = this.m_EglDisplay;  

14.     EGLSurface localEGLSurface3 = this.m_EglSurface;  

15.     boolean bool2 = localEGL102.eglDestroySurface(localEGLDisplay2, localEGLSurface3);  

16.     this.m_EglSurface = null;  

17.   }  

Apk反编译检测                                        

经过以上的编译以后,我们再进行打包,把打包好以后的apk文件进行检测,查看是否已经达到反编译的效果。我们可以登录爱内测(www.detect.cn),上传apk文件进行检测,检测后并查看检测报告,即可获取反编译以后的结果。

 

 

 

你可能感兴趣的:(讨论)