简体   繁体   中英

Can't decode a simple ARM function prototype from a dissasembly?

I can't figure out the prototype for this simple function:

In stack: 堆栈截图

Function call:

函数调用屏幕截图

That's what I got so far, and it causes an error.

//No idea
void CameraDeviceCreate(int one,int two,int* three);

There are three registers used (R0,R1,R2) so there should be three arguments. Third one refers to a stack variable (I still don't get how that works). # 0x28 (var_28) is only mentioned in the ADD call, not sure what it could be. Where did I make a mistake?

If I missed some info out tell me and I'll add it. This is from Camera.framework by the way.

Why do you think you have it wrong?

Note, there is no guarantee that the third parameter is 'int*' - you need to look at what is in R4 at that point - I would guess its actually some sort of structure being pointed at, rather than an int.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM