Quantcast
Channel: 睿论坛 - 最新话题
Viewing all articles
Browse latest Browse all 5702

帮我分析一下这个CPP function中的参数的数据类型

$
0
0

@hallever wrote:

这是一个unity游戏, 它用了best http lib
然后unity 的mono把c#代码转化成了c/c++ function
先贴ida

_HTTPRequest_get_RawData_m1733053415 
LDR X0, [X0,#0x78]
RET
End of function _HTTPRequestget_RawData_m1733053415

 _HTTPRequest_set_RawData_m3901754572    
    STR             X1, [X0,#0x78]
   RET
End of function _HTTPRequest_set_RawData_m3901754572

看起来很简单,只是把X0存起来了
C#原始代码例子是这样的

HTTPRequest request = new HTTPRequest(new Uri("http://server.com/path"), HTTPMethods.Post,
OnRequestFinished);
**request.RawData =  Encoding.UTF8.GetBytes("Field Value");**
request.Send();

看起来一组Bytes类型的数据被传到了RawData里,但是我试过 unsigned char* 并不能正确的显示出data
下面是我的hook

void (*orig_testFunc)(const unsigned char *a);
void hook_testFunc(const unsigned char *a) {           // our replacement of CFShow()
  NSLog(@"====Calling setRawData a = %p\n", &a); //output:====Calling setRawData a = 0x16fd48918
  printf_ByteArray(a, 30); //output: ====printRes= 209172410100000000000000000000000000000000000000000000000000
  orig_testFunc(a);                         // calls the original function
}

printf_ByteArray只是尝试显示16进制的数据

也可能我找的function位置不对,也可能是我不知道正确的方法显示这个数据类型。
我的目标是显示setRawData 中的参数。
谢谢。

besthttp doc传送门

Posts: 3

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 5702

Trending Articles