防止android代码注入的办法
来源:互联网 发布:js点击展开 隐藏切换 编辑:程序博客网 时间:2024/05/23 00:05
android的.registers 定义了办法中统共应用了几个存放器;.locals定义了办法中有几个非参数存放器;若是一个办法有5个存放器,即.registers==5,v0-v4,并且该办法有两个参数,那么这两个参数将应用最后的两个存放器,即v3和v4。对于非static办法,那么第一个存放器必然是this,比如办法LMyObject;->callMe(II)V有两个整形参数,那么它就会用三个存放器。
为了动态调试android代码,有时辰须要动态的注入代码,然则,代码注入时辰,有几次发明会溃散,后来,经过研究,发明是存放器用错。一个办法可能本身就用了5个存放器,v0-v4,而你用v5,那必然要溃散,是吧!或者你用了后面会用到的存放器,把值给改了,那必然也要溃散。具体大师可以看看下面的文章:见 http://code.google.com/p/smali/wiki/Registers:
有点像stdcall的压栈情势。说白了就是,比如有个办法:void method(arg1, arg2){ int i; i = arg1+arg2;
}那么method函数就要用三个存放器,若是采取V模式来应用存放器,那么就是:i == v0;arg1 == v1;arg2 == v2;
若是是p模式应用存放器,那么就是:i == v0;arg1 == p0;arg2 == p1;
下面两个重载函数:public int Add(int i,int j)C#委托和Lambda表达式的进修
{
int k = 0;
k = i+j;
return k;
}
public int Add(int i,int j,int k )
{
int m = 0,n = 0;
m = i+j;
n = m+k;
return n;
}对应的smali码:# virtual methods
.method public Add(II)I
.locals 1
.parameter "i"
.parameter "j"
.prologue
.line 44
const/4 v0, 0 x0
.line 45
.local v0, k:I
add-int v0, p1, p2
.line 46
return v0
.end method
.method public Add(III)I
.locals 2
.parameter "i"
.parameter "j"
.parameter "k"
.prologue
.line 50
const/4 v0, 0 x0
.local v0, m:I
const/4 v1, 0 x0tp-link 941n v2设置samba暗码教程
.line 51
.local v1, n:I
add-int v0, p1, p2
.line 52
add-int v1, v0, p3
.line 53
return v1
.end method申明,我们要注入代码,要应用存放器的话,可以增长local,然后,便利的用多出来的就行了,关键是要开启P模式。
为了动态调试android代码,有时辰须要动态的注入代码,然则,代码注入时辰,有几次发明会溃散,后来,经过研究,发明是存放器用错。一个办法可能本身就用了5个存放器,v0-v4,而你用v5,那必然要溃散,是吧!或者你用了后面会用到的存放器,把值给改了,那必然也要溃散。具体大师可以看看下面的文章:见 http://code.google.com/p/smali/wiki/Registers:
}那么method函数就要用三个存放器,若是采取V模式来应用存放器,那么就是:i == v0;arg1 == v1;arg2 == v2;
若是是p模式应用存放器,那么就是:i == v0;arg1 == p0;arg2 == p1;
下面两个重载函数:public int Add(int i,int j)C#委托和Lambda表达式的进修
{
int k = 0;
k = i+j;
return k;
}
public int Add(int i,int j,int k )
{
int m = 0,n = 0;
m = i+j;
n = m+k;
return n;
}对应的smali码:# virtual methods
.method public Add(II)I
.locals 1
.parameter "i"
.parameter "j"
.prologue
.line 44
const/4 v0, 0 x0
.line 45
.local v0, k:I
add-int v0, p1, p2
.line 46
return v0
.end method
.method public Add(III)I
.locals 2
.parameter "i"
.parameter "j"
.parameter "k"
.prologue
.line 50
const/4 v0, 0 x0
.local v0, m:I
const/4 v1, 0 x0tp-link 941n v2设置samba暗码教程
.line 51
.local v1, n:I
add-int v0, p1, p2
.line 52
add-int v1, v0, p3
.line 53
return v1
.end method申明,我们要注入代码,要应用存放器的话,可以增长local,然后,便利的用多出来的就行了,关键是要开启P模式。
0 0
- 防止android代码注入的办法
- 防止sql注入的办法
- sql注入防止办法
- sql注入防止办法
- Sql Server 注入防止办法
- PHP + Mysql 登录功能防止SQL注入的一个办法
- asp防止sql 语句注入的代码
- 通用的防止SQL注入代码
- PHP防止SQL注入的实现代码
- ASP防止注入代码:
- android防止注入
- Android 防止webview 注入
- hibernate查询防止代码注入
- php防止sql注入代码
- 【变量过滤】防止代码注入
- 防注入的办法
- 网站防止注入入侵的一些有效代码和方法
- 对于防止SQL注入的研究(JAVA代码实现)
- win7下LoadLibrary报错126,无法加载模块
- Java NIO系列教程(八) SocketChannel
- 几个有意思的算法题
- solr 通过URL的方式删除索引
- C# datagridview单元格的提示信息
- 防止android代码注入的办法
- Xcode5 基本配置信息
- win7下配置TortoiseGit使用Github
- apache与tomcat负载集群的方法与集群的文件同步问题和图片上传显示问题解决
- 分布式系统:分布式部署,监控与进程管理
- udp 多线程客户端和单线程服务器端
- JQuery与asp.net结合,区分手机浏览器与PC浏览器显示不同信息
- 用C++11 thread 类编写多线程程序
- MTK Android Driver :camera