write bytearrays
This commit is contained in:
+36
-11
@@ -1,21 +1,28 @@
|
|||||||
|
const pack_P2pHdr = (in_buf, out_buf) => {
|
||||||
|
// shitty memcpy
|
||||||
|
out_buf.writeByteArray(in_buf.readByteArray(4));
|
||||||
|
//out_buf.writeU16(in_buf.readU16());
|
||||||
|
//out_buf.add(2).writeU16(in_buf.add(2).readU16());
|
||||||
|
return 4;
|
||||||
|
};
|
||||||
|
|
||||||
const create_LanSearch = (buf) => {
|
const create_LanSearch = (buf) => {
|
||||||
// buf is u16*
|
buf.writeByteArray([0xf1, 0x30, 0x00, 0x00]);
|
||||||
buf.writeU16(0x30f1);
|
return 4;
|
||||||
buf.add(2).writeU16(0x0);
|
|
||||||
return 4; // 2 x u16 entries = 4bytes
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const create_P2pAliveAck = (buf) => {
|
const create_P2pAliveAck = (buf) => {
|
||||||
// buf is u16*
|
buf.writeByteArray([0xf1, 0xe1, 0x00, 0x00]);
|
||||||
buf.writeU16(0xe1f1);
|
return 4;
|
||||||
buf.add(2).writeU16(0x0);
|
|
||||||
return 4; // 2 x u16 entries = 4bytes
|
|
||||||
};
|
};
|
||||||
const create_P2pAlive = (buf) => {
|
const create_P2pAlive = (buf) => {
|
||||||
// buf is u16*
|
buf.writeByteArray([0xf1, 0xe0, 0x00, 0x00]);
|
||||||
buf.writeU16(0xe0f1);
|
return 4;
|
||||||
|
};
|
||||||
|
|
||||||
|
const create_Hello = (buf) => {
|
||||||
|
buf.writeU16(0xf1);
|
||||||
buf.add(2).writeU16(0x0);
|
buf.add(2).writeU16(0x0);
|
||||||
return 4; // 2 x u16 entries = 4bytes
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const replace_func = (stub, ret, args) => {
|
export const replace_func = (stub, ret, args) => {
|
||||||
@@ -31,11 +38,29 @@ export const replace_func = (stub, ret, args) => {
|
|||||||
Interceptor.replace(symbol_addr, new NativeCallback(stub, ret, args));
|
Interceptor.replace(symbol_addr, new NativeCallback(stub, ret, args));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Send_Pkt_LanSearch =
|
||||||
|
* create_LanSearch(buf)
|
||||||
|
* pack_ClntPkt(2, buf, &packed_buf)
|
||||||
|
* UdpPktSend(packed_buf)
|
||||||
|
*/
|
||||||
|
/* Send_Pkt_Hello =
|
||||||
|
* create_Hello
|
||||||
|
* pack_ClntPkt
|
||||||
|
* UdpPktSend
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* pack_ClntPkt =
|
||||||
|
* pack_P2pHdr
|
||||||
|
* pack_
|
||||||
|
* RSLgnEx, RlyReq4, RlyPortAck, RlyPortExAck, RlyReqEx, Drw, HelloToAck, DrwAck, DevLgn4, LanSearchExtAck, P2pReq4, RSLGn
|
||||||
|
*/
|
||||||
export const replaceFunctions = () => {
|
export const replaceFunctions = () => {
|
||||||
const replacements = [
|
const replacements = [
|
||||||
[create_P2pAlive, "uchar", ["pointer"]],
|
[create_P2pAlive, "uchar", ["pointer"]],
|
||||||
[create_P2pAliveAck, "uchar", ["pointer"]],
|
[create_P2pAliveAck, "uchar", ["pointer"]],
|
||||||
[create_LanSearch, "uchar", ["pointer"]],
|
[create_LanSearch, "uchar", ["pointer"]],
|
||||||
|
[create_Hello, "uchar", ["pointer"]],
|
||||||
|
[pack_P2pHdr, "uchar", ["pointer", "pointer"]],
|
||||||
];
|
];
|
||||||
|
|
||||||
replacements.forEach((x) => replace_func(...x));
|
replacements.forEach((x) => replace_func(...x));
|
||||||
|
|||||||
Reference in New Issue
Block a user