### 什么是运行莫？

说明：运行莫是一个具有简化开发流程的工具，它是由多个 Rule规则 组成的一个文件。 运行文件会自动匹配，当文件运行到能完全匹配的Rule规则，就会进行对apk工程的自动修改工作。并且终止继续向下匹配剩下的 Rule规则。如果没有完全匹配的Rule规则，程序将一直对比文件中所有的Rule规则，如果没有匹配到Rule规则，最后将显示出匹配过程的节点日志。

### 1. 文件头示范

<?xml version="1.0"?>

### 2. Properties 示范

说明：Properties 用于包裹运行莫的根属性
<Properties>
xxxxxx 全部代码...
</Properties>
Properties的子属性
AdText：用于添加广告，如执行到最后没有匹配到Rule规则将不会添加此广告。如果匹配到并修改了apk，广告只会增加一次。
Properties的子属性示范
<Properties AdText="www.baidu.com Share!">
xxxxxx 全部代码...
</Properties>

### 3. Rule 示范

说明：Rule 用于包裹规则代码的属性，一个写好的文件里应该会有几个 Rule规则
<?xml version="1.0"?>
<Properties>
<Rule>
xxxxxx 规则代码...
</Rule>
<Rule>
xxxxxx 规则代码...
</Rule>
<Rule>
xxxxxx 规则代码...
</Rule>
</Properties>

### 3. 填充规则

说明：用于指定位置填充代码，填充规则支持自命名。
<Item Name="tianchong1" File="\smali\com\a.smali" Front="a" Behind="b" Examine="true"> 需要填充的代码 </Item>
属性说明：
Name：规则命名 File：指定文件，如果不确定文件可赋予:?，可进行搜索文件。 Front：搜索代码语句范围A Behind：搜索代码语句范围B Examine：如果找不到此范围是否退出当前规则，并进入下一规则。如果是false将忽视进入下一条代码。
示范：
假设\smali\com\a.smali 文件代码：
abcde
123456
7890
规则代码示范：
<?xml version="1.0"?>
<Properties>
<Rule>
<Item Name="tianchong2" File="\smali\com\a.smali" Front="abcde" Behind="7890" Examine="true">
654321
</Item>
</Rule>
</Properties>
规则运行结果：
abcde
654321
7890

### 4. 替换规则

说明：用于替换字符。
<Item Name="Replace" File="\smali\com\a.smali" Front="被替换的字符" Behind="代替的新字符" Examine="true"> </Item>

### 5. 复制文本至剪切板

说明：用于复制代码文本至剪切板，使用 [+-] 可进行粘贴代码。
<Item Name="Copy" File="\smali\com\a.smali" Front="范围前段代码" Behind="范围后段代码" Examine="true"> </Item>
示范：
假设\smali\com\a.smali 文件代码：
abcde
123456
7890
规则代码示范：
<?xml version="1.0"?>
<Properties>
<Rule>
<Item Name="Copy" File="\smali\com\a.smali" Front="bcd" Behind="56" Examine="true">
</Item>
<Item Name="tianchong2" File="\smali\com\a.smali" Front="56" Behind="78" Examine="true"> 654321
[+-]
</Item>
</Rule>
</Properties>
规则运行结果：
abcde
123456
654321
e
1234
7890

### 6. 清除剪切板

说明：用于清除复制代码的剪切板。
<Item Name="Empty" File="" Front="" Behind="" Examine="true"> </Item>

### 7. 转移代码

说明：用于将指定代码块转移并填充另一指定的代码块。
<Item Name="Substitute" File="\smali\com\a.smali" Front="指定范围代码a^指定范围代码b" Behind="指定范围代码c^指定范围代码d" Examine="true">
[-+]
</Item>
示范：
假设\smali\com\a.smali 文件代码：
abcde
123456
7890
规则代码示范：
<?xml version="1.0"?>
<Properties>
<Rule>
<Item Name="Substitute" File="\smali\com\a.smali" Front="12^56" Behind="ab^e" Examine="true">
11[-+]22
</Item>
</Rule>
</Properties>
规则运行结果：
ab113422e
123456
7890

### 8. 文件对象属性指定 File

说明：规则中的 File属性，指定的值可使用“?”符号来进行代替。如果设置为“?”后，将进行搜索文件方式。将搜索所有文件，不用自己指定文件，此功能适用于以上所有子规则。
示范：
<Item Name="Replace" File="?" Front="被替换的字符" Behind="代替的新字符" Examine="true"></Item>
<Item Name="tianchong2" File="?" Front="范围a" Behind="范围b" Examine="true"> 填充的代码 </Item>
略.......等等