Android 调试.so库文件

Android So动态调试大法 立即下载

作者:徐建祥(netpirate@gmail.com)
日期:2010/03/06
网址:http://www.anymobile.org

 

调试步骤如下:
1/ 将异常的地址信息存到文本文件,并存放在项目根目录;
2/ 使用panic.py解析该文件;
3/ 根据返回的信息(文件名;行号;方法名)调试程序。

以操作第三方的Touch input 输入法为例,过程如下:

# 该输入法的英文和手写OK,操作中文输入法时,出现异常,软键盘消失,异常日志如下

02-05 06:41:19.834 D/dalvikvm(  751): Trying to load lib /system/lib/libimezi.so 0x43e2a788
02-05 06:41:19.874 D/dalvikvm(  751): Added shared lib /system/lib/libimezi.so 0x43e2a788
02-05 06:41:20.035 I/DEBUG   (  551): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-05 06:41:20.035 I/DEBUG   (  551): Build fingerprint: 'unknown'
02-05 06:41:20.035 I/DEBUG   (  551): pid: 751, tid: 751  >>> com.htc.android.cime <<<
02-05 06:41:20.045 I/DEBUG   (  551): signal 11 (SIGSEGV), fault addr 00000003
02-05 06:41:20.045 I/DEBUG   (  551):  r0 00000000  r1 00000000  r2 807248ec  r3 807248ec
02-05 06:41:20.055 I/DEBUG   (  551):  r4 00252d80  r5 00000004  r6 00000001  r7 00000000
02-05 06:41:20.055 I/DEBUG   (  551):  r8 beff8550  r9 41459d28  10 41459d18  fp 00000000
02-05 06:41:20.055 I/DEBUG   (  551):  ip 8072430c  sp beff84f0  lr 80716b4f  pc 80717bce  cpsr 60000030
02-05 06:41:20.135 I/DEBUG   (  551):          #00  pc 00017bce  /system/lib/libimezi.so
02-05 06:41:20.135 I/DEBUG   (  551):          #01  pc 00010f80  /system/lib/libimezi.so
02-05 06:41:20.145 I/DEBUG   (  551): stack:
02-05 06:41:20.155 I/DEBUG   (  551):     beff84b0  ad083e10 
02-05 06:41:20.155 I/DEBUG   (  551):     beff84b4  ad05d44f  /system/lib/libdvm.so
02-05 06:41:20.155 I/DEBUG   (  551):     beff84b8  ad06b8a0  /system/lib/libdvm.so
02-05 06:41:20.155 I/DEBUG   (  551):     beff84bc  ad083e10 
02-05 06:41:20.167 I/DEBUG   (  551):     beff84c0  43e2aa90 
02-05 06:41:20.175 I/DEBUG   (  551):     beff84c4  00000003 
02-05 06:41:20.175 I/DEBUG   (  551):     beff84c8  00000014 
02-05 06:41:20.185 I/DEBUG   (  551):     beff84cc  80716b4f  /system/lib/libimezi.so

# 保存异常日志,存为文件: 20100205_ime.txt

02-05 06:41:20.045 I/DEBUG   (  551):  r0 00000000  r1 00000000  r2 807248ec  r3 807248ec
02-05 06:41:20.055 I/DEBUG   (  551):  r4 00252d80  r5 00000004  r6 00000001  r7 00000000
02-05 06:41:20.055 I/DEBUG   (  551):  r8 beff8550  r9 41459d28  10 41459d18  fp 00000000
02-05 06:41:20.055 I/DEBUG   (  551):  ip 8072430c  sp beff84f0  lr 80716b4f  pc 80717bce  cpsr 60000030
02-05 06:41:20.135 I/DEBUG   (  551):          #00  pc 00017bce  /system/lib/libimezi.so
02-05 06:41:20.135 I/DEBUG   (  551):          #01  pc 00010f80  /system/lib/libimezi.so

# 执行脚本

xujianxiang@wingdroid-clone:~/workspace/xujx/wing15$ ./panic.py 20100205_ime.txt
read file ok
/home/xujianxiang/workspace/xujx/wing15/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-addr2line: '/home/xujianxiang/workspace/xujx/wing15/out/target/product/generic/symbols/system/lib/libimezi.so': No such file
Traceback (most recent call last):
  File "./panic.py", line 69, in <module>
    print "%-30s%s" % (list[1],list[0])
IndexError: list index out of range

# 没找到库文件,因为这个文件是第三方的,只存放在/out/target/product/generic/system/lib /libimezi.so,拷贝一份存到/out/target/product/generic/symbols/system/lib /libimezi.so,再次执行脚本

xujianxiang@wingdroid-clone:~/workspace/xujx/wing15$ ./panic.py 20100205_ime.txt
read file ok
zi81keyd.c:0                  Zi8GetTableData
zi81keyd.c:0                  Zi8InitializeDynamic

# 成功解析异常,没有zi8库文件所致,更新如下库文件,输入法支持中文拼音。

/system/lib/zi/Zi8DatPYP_CN.z8d
/system/lib/zi/Zi8DatPYS_CN.z8d
/system/lib/zi/Zi8DatZHA_CN.z8d
/system/lib/zi/Zi8DatZHA_HK.z8d
/system/lib/zi/Zi8DatZHA_TW.z8d
/system/lib/zi/Zi8DatZYP_TW.z8d
/system/lib/zi/Zi8DatZYS_TW.z8d

附 panic.py:

 

http://blog.youkuaiyun.com/netpirate/archive/2010/03/06/5351709.aspx

安卓加固基础(二) 4.反调试 4.1 思路一(一个进程最多只能被一个进程ptrace) 本文章主要针对安卓so反调试和最初的加壳方法进行了一下总结 在处于调试状态时,Linux会向/proc/pid/status写入一些进程状态信息,比如TracerPid字段会写入调试进程的pid,因此我们可以自己ptrace自己,然后让android_server不能调试 代码如下: #include //这个头文件很重要 void anti_debug01() { ptrace(PTRACE_TRACEME,0,0,0); } jint JNI_Onload(JavaVM* vm,void* reserved) 立即下载

相关推荐

从零到一:RagFlow源码架构深度解析与二次开发实战指南

本文深入解析RagFlow源码架构,提供从环境搭建到二次开发的全流程实战指南。作为企业级AI搜索框架,RagFlow通过模块化设计和多模态处理能力,支持自定义智能体开发与文搜文档功能,帮助开发者高效构建智能搜索系统。

w1x2y3的博客 267

Android渗透测试12:IDA动态调试so

上一篇分享了使用和Jeb对 Apk 文件直接进行动态调试,本文将分享使用IDA pro 调试so。调试的 apk 文件还是使用 CTF案例4 的文件,已经上传到知识星球,可自行下载本文涉及技术:IDA pro 工具使用调试android 应用动态调试技术注意:本案例所需要的 apk 文件,已经上传到知识星球,需要的朋友可以到文末关注后下载在 Android 逆向中,动态调试是非常重要的一个技术,IDA pro 时调试 so 代码的利器。感兴趣的朋友,可以下载案例的 apk 文件,实战起来。

小王的储物间 4074

LabVIEW内存优化实战:用DVR和队列高效处理大型数组,告别数据副本

本文深入探讨LabVIEW内存优化技术,重点介绍数据值引用(DVR)和单元素队列(SEQs)在高效处理大型数组中的应用。通过对比传统方法与现代引用技术的性能差异,提供减少内存副本、提升程序效率的实战方案,帮助开发者在测试测量、图像处理等数据密集型场景中实现显著性能提升。

weixin_30835649的博客 1061

Android so调试-你需要的从零开始

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33729196的博客 499

汇川EASY系列之以太网通讯(MODBUS_TCP做主站)

汇川Easy系列以太网通讯中(MODBUSTCP,plc做主站),终于可以不用使用指令就可以完成了,全程通过简单的配置就可通讯。本文将通过EASY系列PLC与调试助手之间完成此操作。

这是一个长期关注工控行业技术的博客,实现0-1的突破,期待您的关注和留言 3301

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心

在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道

weixin_29188043的博客 709

Android逆向之旅-Android Studio的调用So文件极简教程(2022最新版Android Studio2021.3.1,踩坑版)

Android Studio创建调用so文件(2021.3.1版本),全程踩坑,填坑,新手推荐

qq_41866988的博客 8204

deepfake detection数据集

最全Deepfake数据集总结,包含各个数据集下载链接: https://github.com/deepfakeinthewild/deepfake_in_the_wild Dataset name Download Generate method Deepfake videos Actors Deepfake-TIMIT low download De...

where_is_horse的博客 1万+

020 Android之so文件动态调试

文章目录ELF文件格式查看工具so文件加载时的函数执行顺序so文件动态调试so文件调试技巧使用ida动态调试的那些坑进程显示不全illegal segment bitnessmore than one special register presentadb安装强制应用App以32位运行 ELF文件格式查看工具 和PE文件类似,比PE文件简单,我们可以用NDK中提供的一个工具readelf去查看ELF文件主要表信息 目录: D:\Android\sdk\ndk-bundle\toolchains\x86-4.

鬼手的博客 2940

【RT-DETR涨点改进】全网独家首发、注意力改进篇 | ICLR 2026 | 引入 MHLA 多头线性注意力,关注不同的上下文区域,弥补卷积的长程依赖建模方面的不足,助力高效涨点,来自北京大学

🔥本文提出MHLA多头线性注意力模块,用于改进RT-DETR目标检测网络。MHLA通过恢复线性注意力的表达能力,在保持线性复杂度的同时,为网络提供高效的全局上下文建模能力。该方法解决了传统线性注意力在长序列建模中的"全局上下文坍塌"问题,使不同空间位置能关注不同上下文区域。实验表明,MHLA显著提升了RT-DETR在复杂背景、小目标和遮挡场景下的检测性能,且不增加显著计算开销。文章详细介绍了MHLA的原理、优势及8种改进方案,并提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 271

RAP Draft Handling 全面拆解:从独占 Draft 到协作 Draft 的架构与落地实践

独占 Draft 的启用点在行为定义头部的with draft。with draft;create;update;delete;with draft;上面这段代码来自一个完整的 Draft 启用示例,包含了 Draft 表声明、锁策略、ETag、Draft 动作等关键要素。:告诉框架草稿存哪。:告诉框架如何做并发控制与一致性保护。:把草稿生命周期动作显式暴露出来,让 UI 与事务引擎能正确驱动流程。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 957

android libdvm.so,Android 调试.so库文件

调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。以操作第三方的Touch input 输入法为例,过程如下:# 该输入法的英文和手写OK,操作中文输入法时,出现异常,软键盘消失,异常日志如下02-05 06:41:19.834 D/dalvikvm( 751): Trying to ...

weixin_31648507的博客 353

Unity中实现俄罗斯方块

二:实现思路 ——创建每一个方块可移动到的位置点,可以理解为创建一个游戏地图,从(0,0)点开始依次向x轴和y轴延伸,例如x最大为9,y最大为19,则创建了一个20行10列的地图 ——制作每一个形状的预制体,Shape是每一个整体形状,Block是每一块小方块,CenterPos代表这个形状的旋转中心 ——创建GameController脚本控制游戏逻辑,挂载到面板物体上。创建Block脚本控制每个形状的操作,挂载到每个形状上 ——在GameController脚本中编...

L的博客 8557

linux so文件调试,Android 调试.so库文件

调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。以操作第三方的Touch input 输入法为例,过程如下:# 该输入法的英文和手写OK,操作中文输入法时,出现异常,软键盘消失,异常日志如下02-05 06:41:19.834 D/dalvikvm( 751): Trying to ...

weixin_35887222的博客 369

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android 调试.so库文件【转】

来自: http://blog.csdn.net/netpirate/article/details/5351709 调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。 以操作第三方的Touch input 输入法为例,过程如下: # 该输入法的英文和手写OK,操作中文输入法时,出...

weixin_33895604的博客 114

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 调试.so

Android 调试.so库文件<br />作者:徐建祥(netpirate@gmail.com)<br />日期:2010/03/06<br />网址:http://www.anymobile.org<br />http://www.blogjava.net/anymobile/articles/314685.html<br /><br />调试步骤如下:<br />1/ 将异常的地址信息存到文本文件,并存放在项目根目录;<br />2/ 使用panic.py解析该文件;<br />3/ 根据返回的信息(

yewen1的专栏 747

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android如何编译出带符号表的.so库

android如何编译出带符号表的.so库 关于这个问题,其实编译器带-g就会有调试信息。这是gcc相关的。默认其实android编译的就是带符号表的,只是在strip掉了。 例如下面的操作:/$ find . | grep libext2_e2p.so./obj/SHARED_LIBRARIES/libext2_e2p_intermediates/LINKED/libext2_e2p.so./o...

weixin_34185364的博客 6875

Android studio使用JNI实例(2)- 调用外部so库

本文详细介绍了Android APK开发如何使用外部库,每个步骤都详细谁明,大部分都配有截图,适合初学者参考。

whb_fei的专栏 1万+
上一篇: Android(1.5) 开机图片/文字/动画 修改
下一篇: 如何分析 kernel panic
eustoma
博客等级 码龄18年 79粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值