浅谈android反调试之轮询TracePid(解决方案是特色)
参考文章:
1. http://bbs.pediy.com/thread-207538.htm
需求:
反反调试原理&&实现
4. IDA打开zImage内核文件进行修改, 有了上面一步得到的内核文件zImage,直接使用IDA打开,但是打开的时候需要注意设置选项:
然后设置开始地址为0xC0008000:这里为什么要设置成这个起始地址,因为Linux启动内核的地址为0xC0008000;
5. 打开之后,我们可以直接shift+F12,查看字符串内容,因为我们想改TracerPid值,所以直接搜字符串”TracerPid”值: 双击进入,这时候我们可以记下这个地址,然后减去刚刚我们那个偏移地址0xC0008000:
至少,内核文件修改成功
刷回手机
1.使用命令压缩成z.gz:gzip -n -f -9 zImage
3.刷机boot.img文件.这里有一个坑,在刷机的时候用到的是fastboot命令,但是遇到最多的问题就是这个错误:
这个是因为设备还没有启动fastboot,关于每个设备启动fastboot不一样操作,比如小米是电源键+音量减,三星是音量减+HOME键+电源键;具体设备可以自行网上搜索即可。到了fastboot界面再次运行fastboot就可以了: fastboot flash boot boot-new.img
然后在运行fastboot reboot重启设备即可。有的同学在操作的时候,始终进入fastboot失败,导致fastboot命令运行错误,这个真解决不了那就换个手机试一下吧。这时候我们启动设备,然后调试一个app,发现他的TracerPid值永远都是0了,因为我之前将TracerPid改成’00’字符串了,也是可以的:
因为感觉不正规,所以就有重新改成了’0\t’值了。都是可以的。
注意:一定要保存原始提取的内核文件boot.img,当你把设备弄成砖头启动失败的时候,可以在把这个原始的boot.img刷回去就可!
最新文章
- 域普通用户执行金蝶K/3权限不够解决方法
- iconv vs mb_convert_encoding
- Java根据一个网址链接获取源代码
- Codeforces Gym 100523E E - Gophers SET
- POJ2528+线段树
- Java基础——抽象类和接口
- 【转】rem自适应布局
- 《mysql必知必会》学习_第16章_20180807_欢
- js template实现方法
- PTS无法同步
- css3 transition(转换)笔记
- JEECG中datagrid方法自定义查询条件
- Linux Redis 开机启动
- 2019.04.18 第六次训练 【2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage】
- VC++使用socket进行TCP、UDP通信实例总结
- (2)FluidMoveBehavior 之单击 Grid 中 Tile 进行排序
- node中通过orm2链接mysql的一个坑
- Problem H: 计算数列和2/1,3/2,5/3,8/5......
- Struts2笔记--Action访问Servlet API
- ubuntu16.04下hive安装与配置