当前位置: 首页 > news >正文

手机如何建免费网站武义网站建设

手机如何建免费网站,武义网站建设,wordpress导航页面模板,手机网络不好怎么办本文介绍如何用IDA进行动态调试及部分ARM指令的学习。环境#xff1a;已root的安卓手机一部#xff0c;IDA pro 6.8#xff0c;win7系统。下载样本app#xff0c;并已确认可调试(debuggable true)#xff0c;下文不表#xff1a;http://pan.baidu.com/s/1jG22HMY一 手机… 本文介绍如何用IDA进行动态调试及部分ARM指令的学习。环境已root的安卓手机一部IDA pro 6.8win7系统。下载样本app并已确认可调试(debuggable true)下文不表http://pan.baidu.com/s/1jG22HMY一 手机连接电脑打开USB调试模式并在电脑端打开IDA的这个目录二 通过adb push android_server /data/local/tmp/ 命令将文件推送至手机三 开启服务注意这个窗口不能关闭四 端口转发五 打开IDA pro,我这里选择的是 32位的版本。六  开启远程调试注意先打开手机上的样本app调试需要该进程七 如图设置好 Hostname和 portPS端口是可以改的有些app会检测端口进行反调试通过修改端口可以绕过端口检测。八 点击 OK按钮并查找样本包名九 加载完成后的界面十 在右边的 Modules 面板搜索 so文件名十一 双击需要进行调试的JNI函数十二 设置断点如图操作其快捷键是 F2十三 打开手机上的样例 app按下F9我们发现IDA停在了断点处这样我们就能愉快的进行动态调试了。下面我们来分析这里面的部分汇编代码PUSH            {R3,LR} 将寄存器R3和LR的值分别压入栈中R0-R3:通用寄存器用于函数参数及返回值的传递LR: 连接返回寄存器保留函数返回后下一条应该执行的指令。POP             {R3,PC} 将栈顶的值分别传递给寄存器R3和PCPC:   程序寄存器保存下一条CPU即将执行指令的地址,这里原本LR里面的值传递给了PC寄存器这样就返回到了当初函数调用的地方。SP:栈顶指针寄存器用于存放栈顶地址按F8进行单步调试继续分析下一条指令。我们可以看看按下F8后SP的值。CMP             R2, #2 ;比较 R2寄存器里面的值与2的大小。比较结果通过标志寄存器来保存。目前R2的值是5因此两个值是不等的。执行比较指令后发现Z的值变为了0也就是说比较的结果不为0.继续执行下一条指令:BEQ             loc_D7FD0C60 Z标志值为1则跳转即上一调比较指令的结果为0否则继续向下执行。继续往下走走到这里BNE             loc_D7FD0C5A ;Z标志值为0则跳转即上一调比较指令的结果不为0否则继续向下执行与BEQ是相反的。通过上条指令的跳转后来到了这里LDR             R1, (aNormalUser - 0xD7FD0C60) ;把栈上内容载入一寄存器中执行后我们看到R1的值是ADD             R1, PC                  ; Normal User我们看到IDA后面自己的注释是 Normal User也就是说这两条指令的目的是把 字符串 Normal User 所在的地址传递给R1我们执行后看看R1的值我们在十六进制面板看看 R1值所对应的是什么:鼠标在 十六进制面板 点击一下然后按下G键输入R1的值点击OK后跳转到了这里这里确实是存放 Normal User这个字符串的地址。回到汇编窗口继续执行下面这条指令B               loc_D7FD0C64 ;无条件跳转到 loc_D7FD0C64 处.执行后来到了这里LDR             R2, [R0] 将R0的值为地址赋值给R2此时R0的值 F39312A0我们看看对应的值是什么运行后看看R2的值可以看到确实就是 R1地址的值F362E54C。下一条指令MOVS            R3, #0x29C即将 0x29C保存到R3寄存器下一条指令LDR             R3, [R2,R3]将 R2寄存器的值与R3寄存器的值相加得到一个地址然后再取改地址上的值给R3;R2 0xF362E54C,R3 0x0000029C,相加得到这个地址值0xF362E7E8,看看是什么按下F8看看R3的值下一条指令BLX             R3;BLX 指令从ARM 指令集跳转到指令中所指定的目标地址并将处理器的工作状态有ARM 状态切换到Thumb 状态该指令同时将PC 的当前内容保存到寄存器R14 中。因此当子程序使用Thumb 指令集而调用者使用ARM 指令集时可以通过BLX 指令实现子程序的调用和处理器工作状态的切换。同时子程序的返回可以通过将寄存器R14 值复制到PC 中来完成。执行后看到很多寄存器的值都变化了下一条指令POP             {R3,PC} ;将栈顶的值分别传递给R3和PC。执行后看看R3和PC的值好了今天就介绍都这里吧以后遇到看不懂的指令可以直接百度如果要加深印象可以动态调试看寄存器的变化或者内存的变化。
http://www.sadfv.cn/news/80044/

相关文章:

  • 网站制做阿里巴巴网站是怎么做的
  • 威海外贸网站建设电话丽水市莲都建设分局网站
  • 公司海外网站建设英文网站建设需要注意的五点问题
  • 易县网站建设域名服务器搭建
  • 中卫网站推广软件wordpress4.5 下拉菜单
  • 网站设计素材网站有哪些中企动力300官网
  • 有偷菜餐厅城市建设的网站wordpress变性
  • 建设网站需要什么证件百度的网站网址
  • 网站制作如何做校园网站建设方案策划书
  • 搬瓦工做网站好慢南京建设工程交易中心
  • 做ppt比较好的网站畅销的网站建设
  • 成华区微信网站建设公司怎么做类似清风dj网站
  • 邵阳网站seo手机如何制作网页链接
  • 邢台123生活网南宁seo推广公司
  • 建设京东物流网站的目标是什么网站管理助手 mysql
  • 桂林手机网站建设flow创意博客wordpress主题
  • 天马网络 网站建设潍坊 公司 网站
  • 如何做外贸品牌网站建设wordpress图片本地化
  • 诚讯通网站wordpress 猜你喜欢
  • 公司网站的管理和维护建筑设计公司logo
  • 拖拽响应式网站建设公司公司网站设立与维护方案
  • wix建站是免费的吗wordpress支付宝付费
  • ofo的网站用什么做的做汽车销售要了解的网站
  • 大理中小企业网站建设商丘住房和城乡建设网站
  • 网络公司网站首页图片wap手机网站建设公司
  • 东莞专业网站建站设计开发一个官方网站要多少钱
  • 自己电脑上做网站别人访问中国前十强企业
  • 做兼职上什么网站找定州网站建设电话
  • 最新的网站开发框架网站后台找不到了怎么办
  • h5网站建设图标灵当crm客户管理系统