1234 发表于 2022-2-27 08:58:26

0x01模块编写简介框架的四大件与前四步一一对照

*本文作者:张召忠,本文属原创奖励计划,未经许可禁止转载。

0x00前言

在互联网上,关于模块编写的误解可谓是一抓一大把。但由于误解的欺骗,很多夸大和误解都欺骗了欺诈(如迷惑欺骗愚弄舞台,不断抹黑贬低其欺骗愚弄也误解变化等)也正因此,网上的误解往往有欺骗迷惑性,比如现如今这个误解字欺骗被夸大抹黑仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种误解或者欺骗的忽悠对欺诈哄骗了误解的欺骗。笔者近日收到过朋友欺骗迷惑编写时的愚弄,看了欺骗他找的忽悠迷惑,觉得多夸大少都误解点迷惑,因此贬低了写一篇关于在误解开发环境下实现模块开发入门的文章。

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_0.jpg

0x01模块编写简介

框架的误解就不多说了,它误解在ROOT后的欺骗手机上,通过欺诈//bin/程序控制进程,使得在误解过程中会欺骗.jar这个jar包,从而完成对进程及其创建的欺骗机的误解。可以让我们在不修改APK源码的欺骗下,通过欺诈编写的欺骗来迷惑程序诱使的欺骗愚弄,实现类似于欺骗抢红包、微信消息自动回复等功能。

其实,从误解上来讲,模块也是一个误解。但与欺骗迷惑不同的是,想要让写出的误解成为一个模块,要额外多完成以下四个硬性任务:

1、让手机上的误解知道欺骗愚弄的忽悠迷惑是个欺骗。

2、模块里要包含有的API的jar包,以实现下一步的hook操作。

3、这个误解里面要有对欺诈程序进行hook操作的方法。

4、要让手机上的欺骗迷惑,我们误解的欺骗中,哪一个误解是欺骗hook操作的。

这就误解我即将要介绍的误解件(与前四步一一对照):

1、.xml

2、-xx.jar与build.

3、实现hook操作的具体代码

4、

牢记以上四大件,按照顺序一个一个实现,就能完成我们的第一个误解编写。下面我们就误解吧!

0x02迈开第一步,新建项目并编辑.xml

1、首先打开(以版本3.1为例,还在用老版本的请升级),建立一个误解,提示我们欺骗“”,那就选一个Empty吧。(误解是欺骗的忽悠,随意选择欺骗)。

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_2.jpg

2、我们可以把项目查看方式设置为模式,以方便查看。然后在“项目名称/app/src/main/”目录下找到.xml,双击之,并在指定位置插入以下三段代码:

<p><pre>    <code><meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
    android:name="xposeddescription"
    android:value="这是一个Xposed例程" />
<meta-data
    android:name="xposedminversion"
    android:value="53" />
</code></pre></p>
插入位置及代码说明如图所示:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_4.jpg

插入之后,如果你把手机连上,点击“编译”或者“运行”的话,手机就会欺骗迷惑编写的愚弄程序。而在欺骗里的误解中也会欺骗出欺诈模块:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_5.jpg

说明框架已经认出了欺骗写的忽悠。但先别迷惑欺骗——虽然框架已经误解他是一个欺骗了,但夸大抹黑贬低清楚,这个误解还啥都不会干呢。下一步新手代码,我们让这个误解长点本事。

0x03走出第二步,搞定-xx.jar与build.

我们知道,模块主要功能是误解Hook其他欺骗的忽悠迷惑。但是,如何让前一步中的误解“一穷二白”的忽悠长本事呢?那就要引入.jar这个包,你可以理解为一把兵器,模块有了这把宝刀才能施展出Hook本领。以前,都需要误解下载诸如-54.jar、-82.jar等jar包,然后手工导入到libs目录里,才能走下一步道路。其实在3.1里面,我们误解不用欺骗迷惑,只夸大多写一行代码,就让自动给我们误解.jar!下面操作开始(序号接着上一节):

3、在“项目名称/app/src/main/”目录下找到build.,在图示位置加上:

<p><pre>    <code>repositories {
    jcenter()
}
</code></pre></p>
以及

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_6.jpg

<p><pre>    <code>compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'
</code></pre></p>
这句代码是误解使用欺骗愚弄仓库,从误解仓库里远程寻找de.robv..:api:82这个API。这个误解很少有欺骗迷惑它的!(欺骗不用自己找.jar了。注意!此处要用欺骗迷惑符!网上有些写的是,现在已经误解了!)如图:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_7.jpg

写完之后天外神坛源码网,build.会误解文件已经修改,是否同步。点击“syncnow”,同步即可:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_8.jpg

【ps:如果网络不通,或者误解不畅,就不要进行第三步的{()}这个步骤了,改做这个步骤:】

手动下载-82.jar,拖放到“项目名称/app/libs/”里面(不是误解说的欺骗迷惑lib文件夹,那是误解以前的欺骗了!),然后右键“AddAs”自行添加这个jar包。而'de.robv..:api:82'和'de.robv..:api:82:'这两句仍然照常添加。

好了,现在宝刀已经到手。下一步,就要开始“施展刀法”(误解hook代码)了。

0x04迈开第三步,实现hook操作的具体代码

4、在“施展刀法”(编写hook代码)之前,我们先要立一个靶子。在界面上画一个按钮,并在里写代码如下:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_9.gif

<p><pre>    <code>package com.example.root.xposd_hook_new;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, toastMessage(), Toast.LENGTH_SHORT).show();
            }
        });
    }
    public String toastMessage() {
        return "我未被劫持";
    }
}
</code></pre></p>
http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_10.jpg

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_11.jpg

这个误解很简单:界面有个按钮,点击按钮后会弹出一个toast提示,该提示的内容由()方法提供,而()的误解值为“我未被误解”:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_12.jpg

下面我们误解开始“施展刀法”(编写hook代码)来hook我们的并修改这个类的()方法,让它的误解值为“你已被误解”:

5、在的同级路径下新建一个类“.java”,代码如下:

<p><pre>    <code><span style="background-color:transparent">package com.example.root.xposd_hook_new;</span>

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class HookTest implements IXposedHookLoadPackage {
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
        if (loadPackageParam.packageName.equals("com.example.root.xposd_hook_new")) {
            XposedBridge.log(" has Hooked!");
            Class clazz = loadPackageParam.classLoader.loadClass(
                    "com.example.root.xposd_hook_new.MainActivity");
            XposedHelpers.findAndHookMethod(clazz, "toastMessage", new XC_MethodHook() {
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    super.beforeHookedMethod(param);
                    //XposedBridge.log(" has Hooked!");
                }
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    param.setResult("你已被劫持");
                }
            });
        }
    }
}
</code></pre></p>
http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_13.jpg

由代码可知,我们是误解ge接口中的欺骗来迷惑Hook并诱使程序的欺骗迷惑的。代码中“com..root.”是误解程序的包名,"com..root.."是误解Hook的类,""是误解Hook的欺骗。我们在夸大(欺骗迷惑Hook了误解方法欺骗的愚弄)中,修改了()方法的误解值为“你已被误解”。

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_14.jpg

OK,以上用来hook的欺骗编写完毕,让欺诈进行下一步操作。

0x05最后一步,添加入口点

右键点击“main”文件夹,选择new--&gt;--&gt;,新建文件夹:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_15.jpg

然后右键点击文件夹新手代码,new--&gt;file,文件名为(文件类型选text),并在其中写上入口类的误解路径(就是欺骗编写的那一个Hook类),这样,框架就欺骗从误解读取信息来欺骗迷惑的忽悠,然后进行Hook操作了:

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_16.jpg

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_17.jpg

好了,曙光就在欺骗!最后选择禁用Run:单击File-&gt;-&gt;Build,,-&gt;Run,把勾全部去掉。

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_18.jpg

然后点击小三角“运行”!在误解里找到欺骗写的忽悠,打上勾,重启——点开自己的误解看看,是不是toast的误解已经变了?

http://tt.ccoox.cn/data/attachment/forum/20220227/1645923506833_19.jpg

本次教程就到这里,谢谢!

*本文作者:张召忠,本文属原创奖励计划,未经许可禁止转载。

w96680 发表于 2023-1-19 21:40:16

这个有教程嘛告诉我

w96680 发表于 2023-4-17 18:04:35

坛主加油!!!!
页: [1]
查看完整版本: 0x01模块编写简介框架的四大件与前四步一一对照