首页
社区
课程
招聘
[求助] IDA Pro F5 出现 positive sp value has been found
发表于: 2019-10-12 22:57 10445

[求助] IDA Pro F5 出现 positive sp value has been found

2019-10-12 22:57
10445

先上图

 

 

这个方法的汇编代码

.text:00008CB2     sub_8CB2
.text:00008CB2
.text:00008CB2     arg_4           =  4
.text:00008CB2
.text:00008CB2 000                 STRH            R6, [R1,#0xC] ; Store to Memory
.text:00008CB4 000                 STMIA           R3!, {R0,R1,R5,R6} ; Store Block to Memory
.text:00008CB6 000                 MOVS            R7, #0x1C ; Rd = Op2
.text:00008CB8 000                 ADDS            R7, R3, R7 ; Rd = Op1 + Op2
.text:00008CBA 000                 ADR             R4, unk_8DD8 ; Load address
.text:00008CBC 000                 STRH            R2, [R2,#0x10] ; Store to Memory
.text:00008CBE
.text:00008CBE     loc_8CBE
.text:00008CBE 000                 VRSHL.U8        D27, D9, D3 ; Vector Rounding Shift Left
.text:00008CC2 000                 LDR             R0, =1  ; Load from Memory
.text:00008CC4 000                 BL              loc_8CD0 ; Branch with Link
.text:00008CC4     ; ---------------------------------------------------------------------------
.text:00008CC8 000 dword_8CC8      DCD 1                   ; DATA XREF: sub_8CB2+10↑r
.text:00008CCC 000                 DCB 0x5F ; _
.text:00008CCD 000                 DCB 0x97
.text:00008CCE 000                 DCB 0x35 ; 5
.text:00008CCF 000                 DCB 0x86
.text:00008CD0     ; ---------------------------------------------------------------------------
.text:00008CD0
.text:00008CD0     loc_8CD0                                ; CODE XREF: sub_8CB2+12↑j
.text:00008CD0                                             ; sub_8CF4+64↓j
.text:00008CD0 000                 BLX             sub_4B48 ; Branch with Link and Exchange (immediate address)
.text:00008CD4 000                 MOVS            R0, R2  ; Rd = Op2
.text:00008CD6 000                 MOVS            R0, R0  ; Rd = Op2
.text:00008CD8 000                 MOVS            R0, R4  ; Rd = Op2
.text:00008CDA 000                 MOVS            R0, R0  ; Rd = Op2
.text:00008CDC 000                 LSLS            R0, R2, #2 ; Logical Shift Left
.text:00008CDE 000                 MOVS            R0, R0  ; Rd = Op2
.text:00008CE0
.text:00008CE0     loc_8CE0                                ; CODE XREF: sub_8CF4+5E↓j
.text:00008CE0 000                 MOV.W           R0, #0xFFFFFFFF ; Rd = Op2
.text:00008CE4 000                 LDR             R1, [SP,#arg_4] ; Load from Memory
.text:00008CE6 000                 LDR             R2, [R5] ; Load from Memory
.text:00008CE8 000                 SUBS            R1, R2, R1 ; Rd = Op1 - Op2
.text:00008CEA 000                 ITT EQ                  ; If Then
.text:00008CEC 000                 ADDEQ           SP, SP, #8 ; Rd = Op1 + Op2
.text:00008CEE -08                 POPEQ           {R4,R5,R7,PC} ; Pop registers
.text:00008CF0 000                 BLX             __stack_chk_fail ; Branch with Link and Exchange (immediate address)
.text:00008CF0     ; End of function sub_8CB2

出现这种没见过的错误第一反应是百度、google,也跟着操作了,我把地址8CEC处的栈指针修改成了-0x8(原来是0x8)

 

图片描述

 

之后我再F5它就提示地址8CD0处的调用分析出错

 

图片描述

 

由于本人是个新手,第一次碰到这种反分析(应该可以这么说吧),所以还请论坛大佬指教,谢谢了


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (9)
雪    币: 14539
活跃值: (17553)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
2
修改的时候上面不是提示CURRENT VALUE么,改成那个就可以了,修改了以后如果不止这一处,后面就跟着一起改,直到改对为止
2019-10-13 19:05
0
雪    币: 6086
活跃值: (1117)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
-0x8上一行ALT+K,把值修改为0x0就可以了
最后于 2019-10-13 22:45 被kabeor编辑 ,原因:
2019-10-13 22:44
0
雪    币: 352
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
kabeor 在-0x8上一行ALT+K,把值修改为0x0就可以了
已经解决,谢谢
2019-10-13 23:30
0
雪    币: 352
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
pureGavin 修改的时候上面不是提示CURRENT VALUE么,改成那个就可以了,修改了以后如果不止这一处,后面就跟着一起改,直到改对为止
已经解决,谢谢
2019-10-13 23:30
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6

请教一下大佬,为什么调试调到这里就直接结束了,按照上层大佬修改指针这里修改不了

2022-1-6 00:02
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
刚入门,望大佬指教一下
2022-1-6 00:03
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
可能跑飞了  ida 单步预判下一条指令 时 遇到ITT这种 有时候有问题, 你先判断他目的地在哪 直接下断点
2022-1-7 17:21
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
我尝试一下,感谢大佬
2022-1-7 18:06
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10

IDA 调试到了PUSH这一步怎么查看上一步的地址,求大佬解答

2022-1-9 21:28
0
游客
登录 | 注册 方可回帖
返回
//