Skip to main content

记第一次安卓逆向 CrackMe

在导师“小乔”的带领下,学习小组开始从0学习安卓逆向。由于自己没有安卓开发的经验,咳咳。

在逆向App之前需要准备的是Java的运行环境。在安装程序完成他的使命以后,需要在windows的环境变量中添加他的运行目录。

44254425.png

在这之后就是准备目标程序,还有从【吾爱破解】那里白嫖来的JEB。我用的是【JEB.android.decompiler.3.0.0.201808031948Pro】,界面类似于IDA,但是对安卓的针对性更强。也许是因为Java虚拟层的原因,这方面的逆向很少看到IDA的使用。

【CRACKME APPLICATION DOWNLOAD】

在把App拖入反编译工具之后,工具非常直观的给出了ByteCode

image-1.png

左侧的ByteCode的层级中,打开MainActivity便能看到非常显眼的checkSN方法。双击它就能跳转到方法的入口。

image-2.png

敲一下Tab,开始查看“源代码”。

image-3.png

这里的语句就非常熟悉啦!从结构来看arg11应该是输入的用户名,arg12是输入的序列号。以开始程序会比较检查值是不是空,还有序列号是不是16位的字符串。在创建了MD5以后,会从偶数位取出字符,并创建一条16位的字符串。这,就是序列号生成的过程啦!接下来手动计算一个和自己名字相匹配的序列号,嘿嘿。

Screenshot_20191217-221935-1536x768.jpg

二零一九年冬