Men Windowsda emulyatsiya vositasi ustida ishlayapman.
Ilovani tutib, men bir vaziyatga tushib qoldim.
Menda quyidagi formatga ega c++ tuzilishi bor
typedef struct node {
int open;
int version;
const unsigned long long * data;
char* flags;
} _node;
Bu ikkilik faylga ishlov beruvchi. Men API tutilishini qilyapman va bu ko'rsatgichni ilova tomonidan amalga oshirilayotgan ichki API chaqiruvidan olaman.
Shuningdek, yuqoridagi tuzilmadagi ma'lumotlar maydoni bir-biriga yaqin joylashgan ikkita tuzilmaning misollariga ko'rsatgichdir. Ikki tuzilma quyidagicha.
typedef struct header{
unsigned int open;
unsigned int version;
unsigned long long int length;
} _header;
typedef struct body{
unsigned int v1, v2, v3, v4, v5, v6, v7, v8, v9, v10;
unsigned long long int ll1, ll2;
} _body;
Men ma'lumotlar maydoniga quyidagi tarzda kirishim va chop etishim mumkin.
_node* First=(node *)address;//Address is a pointer that i get from intercepting an application
_header* nodeHeader=(_header*)First->data;
char *bodyPtr=(char *)(nodeHeader+1);
_body* nodeBody=(_body *)(bodyPtr);
unsigned long long int offset=0;
while(!(nodeBody->v1 & 1) && offset< nodeHeader->length)
{
nodeBody=(_body*)(bodyPtr+offset);
offset=nodeBody->v2+nodeBody->v3;
}
Men struktura tugunining namunasini matn fayliga yozmoqchiman va keyinroq uni struktura misolida qayta o'qiy olaman. Buni qilishning eng yaxshi usuli qanday? Men c++ da javob olmoqchiman
Men c++ kodini xohlayman, chunki men ishlayotgan kod c++ da. Men bu yerga joylagan kodda typedef bor, chunki tuzilmani yozgan odamlar uni C da yozgan.
Agar bu yordam bersa, menga ushbu ma'lumotni o'z asbobim bilan ilovaga taqlid qilishim uchun tuzilishda kerak bo'ladi. Tuzilishning ba'zi jihatlari ichki bo'lgani uchun va mendan yashirin bo'lganligi sababli, tuzilma a'zolarini saqlash va uni qayta qurish eng yaxshi variantdir. keyingi vaqt (emulyatsiya vaqti)
data
ni anonimstruct
ni ko'rsatishi mumkin? - person Mark B   schedule 10.10.2011struct {} blah;
bu siz o'ylagandek emas.) - person sbi   schedule 10.10.2011node
,header
vabody
uchta tuzilishga ega emasligingiz haqida gapiryapman.struct {} blah;
blah
tuzilmasini aniqlamaydi. (Va siz C++ dastruct blah
yozishingiz shart emas, bu C-ism. Shunchakiblah
qiladi. Siz yaxshi C++ kitobi.) - person sbi   schedule 10.10.2011data
nimaga ishora qilganini aniqroq bilishingiz kerak. Bu darhol keyingi boshqasiga ega bo'lgan strukturaga ko'rsatgichmi yoki undan murakkabmi? - person David Thornley   schedule 10.10.2011