360脱壳_之memcmp

auto fp,addr_start,addr_now,size,addr_end;addr_start = 0x62509000;size = 0x6A7968;addr_end = addr_start+size;fp=fopen(“C:\dump.dex”,“wb”);for(addr_now = addr_start;addr_now<addr_start+size;add...
摘要由CSDN通过智能技术生成

auto fp,addr_start,addr_now,size,addr_end;
addr_start = 0x62509000;
size = 0x6A7968;
addr_end = addr_start+size;
fp=fopen(“C:\dump.dex”,“wb”);
for(addr_now = addr_start;addr_now<addr_start+size;addr_now++)
fputc(Byte(addr_now),fp);

在IDA中
搜索关键字
memcmp
在这函数下第一行汇编指令下断点

为什么要在memcmp 下断点呢?
在这里插入图片描述

Hex View窗口里 右键 chronize with R0
按F9运行
注意观察 R0值
出现 dex.35 关键字时 要注意观察了
dex.35这行 十六进制 下 第三行(dex.35这是第一行) 前8个字节 就是dex的大小
观察下 这个值的 大小 注意 这个值
在内存中 数值是 按 endian放心 存放的 就是 高低位切换的
然后看下 这个值的大小 一般来说 dex都有 几M 即几千KB的 字节
然后 再对比下 原classes.dex的 大小
首先 要跟原dex不一样 二个大小要在合理大小
会出现 多个 dex.35关键字 注意
然后出现 可疑的 时候 这时我们 dump出来 用IDA的 script 命名
FILE->SCRIPT CMOND 即出来
在里面 输入 脚本

auto fp,addr_start

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值