-
-
[原创]IDA Pro 看图教程之用伪c代码调试某社交软件的so库
-
发表于: 2014-6-18 14:43 8398
-
IDA Pro 看图教程之用伪c代码调试某社交软件的so库
作者:大老
博客:blog.sina.com.cn/dalaoqd
qq:79234668
先说一下前期的准备工作
引用一篇教程里面的步骤
android native c 的so调试
基本上跟linux 一样
1.把ida 目录下android_server 传到android 目录中
如:
adb push android_server /data/local/tmp/
adb shell 进入模拟器
su ------->这个必须要打主要是提权,不然你后面看到的进程就寥寥无几啦。
cd /data/local/tmp/
chmod 755 android_server ========》给你上传上来的文件加运行权限
./android_server ------》运行你传上来的服务端给ida提供调试服务
看到监听端口 23946
2.在windows 控制台下转发window 到模拟器或者手机的端口
adb forward tcp:23946 tcp:23946 =======》这个是端口转发
3.ida 中选择android 调试
在Debuggger 中的process options 的
hostname 填上localhost
port: 23946
4.在Debuggger 中的attach 上android 所对应的安卓程序就行了
下面来张ida pro 调试的布局说明。
备注:这张是静态分析到关键点设断点后的抓图。
下面重点来了在这按F5,前提你要有arm插件哦
现在的结果是不是就清晰明朗了很多。根据这个结果很快定位到关键的call来到了下面这张图
以下是对应的汇编代码
libsign.so:5717963C LDR R3, [R0,R3]
libsign.so:5717963E LDR R6, [SP,#0x24]
libsign.so:57179640 ADD R1, PC ; dword_5717BDA4
libsign.so:57179642 STR R3, [SP,#0x14]
libsign.so:57179644 STR R6, [SP,#0xC]
libsign.so:57179646
libsign.so:57179646 loc_57179646 ; CODE XREF: libsign.so:57179600j
libsign.so:57179646 MOVS R0, R7
libsign.so:57179648 BLX sub_5717939C ===========》关键的子程序
libsign.so:5717964C ADD R0, SP, #0xB8
libsign.so:5717964E BL _ZN12Sha256Digest5resetEv ; Sha256Digest::reset(void)
libsign.so:57179652 MOVS R0, R7
libsign.so:57179654 BLX strlen_0
libsign.so:57179658 MOVS R1, R7
libsign.so:5717965A MOVS R2, R0
libsign.so:5717965C ADD R0, SP, #0xB8
对比一下2部分的代码,汇编代码看参数很难看清楚,但是伪c代码的参数还有程序执行流程就非常的清晰了。
不难看出F5功能的强大。
再这个关键点上设断点看参数入口。按F8后来到了下面这张图
这里已经可以得到想要的数据结果了。我的教程也告一段落。希望能帮助到大家
大老
QQ:79234668
http://blog.sina.com.cn/dalaoqd
20140618
作者:大老
博客:blog.sina.com.cn/dalaoqd
qq:79234668
先说一下前期的准备工作
引用一篇教程里面的步骤
android native c 的so调试
基本上跟linux 一样
1.把ida 目录下android_server 传到android 目录中
如:
adb push android_server /data/local/tmp/
adb shell 进入模拟器
su ------->这个必须要打主要是提权,不然你后面看到的进程就寥寥无几啦。
cd /data/local/tmp/
chmod 755 android_server ========》给你上传上来的文件加运行权限
./android_server ------》运行你传上来的服务端给ida提供调试服务
看到监听端口 23946
2.在windows 控制台下转发window 到模拟器或者手机的端口
adb forward tcp:23946 tcp:23946 =======》这个是端口转发
3.ida 中选择android 调试
在Debuggger 中的process options 的
hostname 填上localhost
port: 23946
4.在Debuggger 中的attach 上android 所对应的安卓程序就行了
下面来张ida pro 调试的布局说明。
备注:这张是静态分析到关键点设断点后的抓图。
下面重点来了在这按F5,前提你要有arm插件哦
现在的结果是不是就清晰明朗了很多。根据这个结果很快定位到关键的call来到了下面这张图
以下是对应的汇编代码
libsign.so:5717963C LDR R3, [R0,R3]
libsign.so:5717963E LDR R6, [SP,#0x24]
libsign.so:57179640 ADD R1, PC ; dword_5717BDA4
libsign.so:57179642 STR R3, [SP,#0x14]
libsign.so:57179644 STR R6, [SP,#0xC]
libsign.so:57179646
libsign.so:57179646 loc_57179646 ; CODE XREF: libsign.so:57179600j
libsign.so:57179646 MOVS R0, R7
libsign.so:57179648 BLX sub_5717939C ===========》关键的子程序
libsign.so:5717964C ADD R0, SP, #0xB8
libsign.so:5717964E BL _ZN12Sha256Digest5resetEv ; Sha256Digest::reset(void)
libsign.so:57179652 MOVS R0, R7
libsign.so:57179654 BLX strlen_0
libsign.so:57179658 MOVS R1, R7
libsign.so:5717965A MOVS R2, R0
libsign.so:5717965C ADD R0, SP, #0xB8
对比一下2部分的代码,汇编代码看参数很难看清楚,但是伪c代码的参数还有程序执行流程就非常的清晰了。
不难看出F5功能的强大。
再这个关键点上设断点看参数入口。按F8后来到了下面这张图
这里已经可以得到想要的数据结果了。我的教程也告一段落。希望能帮助到大家
大老
QQ:79234668
http://blog.sina.com.cn/dalaoqd
20140618
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
谁下载
WinDos2K
peterchen
dalao
huangyalei
eunt
kryso
lcjxb
gegon
ibming
thq
chuxue
bincker
MsyStudio
abomber
wzanttm
lixiny
remoo
xianboabcd
zzage
lfzyn
yingyue
jiangjing
byqzhz
koflfy
peecehood
jimpy
crabo
kapaqi
backflip
求学磊磊
babalove
iniwf
小菜鸟一
forrestfff
banditL
airbar
sethsam
MTrickster
chmlqw
liujliujie
qsdplkuht
小河北
bklang
monnyabc
bliang
凌空垫射
huangze
chdlong
dsing
东方后
无泪城
acqqer
liuqiangni
caolinkai
疯狂的壳
jiych
wg呀
azxidan
马来
celebird
fatecaster
发烧小孩
rail
robbia
ckfan
sinnel
imocha
lidagogo
tommy香山居
我是小三
zorodey
dolphinzhu
outdoxl
dddsdf
过客guoke
zilig
apxar
banik
lonelykin
Lessmore
iKira
NightGuard
satadriver
enimey
AlbertLee
ladeymomo
于阿法
棉被家族
ngcheukwai
answerer
Pumaonline
笨多多
Garantion
张丑丑
lyuanwai
nkaickaih
iomanip
逆心
iweey
谁下载
peterchen
HLTV
dalao
cqzj70
llpplplp
eunt
ibming
bincker
wzanttm
lxleng
lfzyn
jimpy
crabo
backflip
babalove
iniwf
linden
天涯一鸿
黑色追忆
zhengcai
niling
chmlqw
liujliujie
qsdplkuht
zzzzzzx
bliang
lookaside
凌空垫射
huangze
chdlong
leepupu
饭团
无泪城
robbe
wg呀
azxidan
发烧小孩
robbia
Bet
imocha
tommy香山居
我是小三
illa
konf
dolphinzhu
layerfsd
dddsdf
bengou
过客guoke
zilig
welltjc
lonelykin
Lessmore
iKira
satadriver
zhouat
AlbertLee
ladeymomo
starup
leonis
javidchen
xzmfyzy
nkaickaih
queenyy
iweey
cmelody
starbuck
grandda
地大小菜鸟
ChristmasY
zsqColin
大湿胸
qq泽哥
codezq
mishige
罗柏亮
hahahehehen
koman人
谁下载
poppig
wawt
bincker
yanzhihui
ILHWF
babalove
Flowing
sunjor
azhai
niling
liujliujie
qsdplkuht
SIsIa
webwolf
凌空垫射
huangze
chdlong
leepupu
小色
无泪城
wg呀
hxxhxx
马来
发烧小孩
tommy香山居
过客guoke
zilig
welltjc
iKira
satadriver
ladeymomo
saintshit
nkaickaih
queenyy
iweey
SugusX
starbuck
无边际的梦
grandda
ChristmasY
codezq
谁下载
llpplplp
kryso
gegon
chuxue
MsyStudio
BuyWL
muziling
zzage
yanzhihui
kenchen
netsniffer
amazingosp
imliuxin
gamehacker
babalove
iniwf
lujjjh
愚公
melchior
黑色追忆
yujianbo
azhai
niling
qsdplkuht
小河北
webwolf
bliang
凌空垫射
huangze
chdlong
dsing
东方后
飞奔的驴
疯狂的壳
wg呀
马来
Mysmxs
kozz
hawkzero
robbia
Bet
ludaxx
androidguy
lidagogo
fimer
konf
outdoxl
过客guoke
welltjc
mengjiangs
myiverson
satadriver
zhouat
twfjcn
Colbert仔
ladeymomo
walkersky
answerer
javidchen
iweey
SugusX
cmelody
starbuck
kHodor
kimnan
zsqColin
qq泽哥
codezq
mishige
idataboy
罗柏亮
看原图
赞赏
雪币:
留言: