好像有什么不对的地方,我们这里的源码都是smali格式的,那么闪屏页的Activity我只会java呀,这怎么转化,有什么大力出奇迹的工具么?
恩,还真有。
工具就是Android Studio,开个玩笑,虽然我们不会,但是我们知道smali文件可以反编译生成,那么我们可以查看反编译apk的包名,然后我们新建一个app,在相同的包名下编写一个闪屏页Activity,然后打包成apk。把这个apk再反编译,提取出闪屏页对应的Smali文件,粘贴到被反编译apk的目录不就好了么。
2. 新建项目(为了Smali文件)
内容如下:
package com.zhy.decompile;
public class HackAdActivity extends AppCompatActivity {
private Handler mHandler = new Handler(Looper.getMainLooper());
private Runnable mCallback = new Runnable() {
@Override
public void run() {
Intent intent = new Intent();
intent.setComponent(new ComponentName(“com.zhy.decompile”,
“com.zhy.decompile.MainActivity”));
startActivity(intent);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mHandler.postDelayed(mCallback, 3000);
}
@Override
protected void onDestroy() {
super.onDestroy();
mHandler.removeCallbacks(mCallback);
}
}
注意包名一定要和原包名一致&先不要使用到布局文件,后面会说~~
然后提取出apk,重新进行上面的操作,取到Smali文件。
注意我们的编写方式包含内部类,两个一起copy到反编译app的目录。
然后打开AndroidManifest.xml修改入口Activity…