Всичко за правенето на уеб страници и езици за програмиране.
Някаква идея за реверсинжинеринг на този файл? Програма писана на джава е.

Прикачен файл

program.rar
(71.96 KиБ) Свален 42 пъти
Нещо за телефон изглежда. Но нямам идея как да се ревърсне.
$ file program.bin
program.bin: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped

Показва го като .so файл
Като го рагледах, стигнах до извода, че това е някаква програма за автодиагностика, която си свалил или купил оттук: http://www.x431.com .
Как стигна до извода, че е джава и за какво ти е да я реверс-инженерваш?
Позна :-D
Как се отваря .so файла да се види кода? Искам да мога да правя промени в него. Отварям го с 7зип и виждам кое искам да променя, но после няма как да го сглобя.
Нямам проблеми с отключването,а искам да си оправям някои бъгове, вместо да чакам китайците.

Със самото апк вече се оправих. Подредих си иконките, увеличих си броя на показваните величини. Заключих си го към кутийката и други екстри.

Можеш ли да помогнеш? Ако искаш на лични.
Някаква идея какво точно прави тази подпрограма:
// Address range: 0x108c2 - 0x108db
int32_t function_108c2(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) {
int32_t v1 = (int32_t)a1;
*a1 = v1;
*(int32_t *)(v1 + 4) = a3;
*(int32_t *)(v1 + 8) = a4;
*(int32_t *)(v1 + 12) = g226;
*(int32_t *)(v1 + 16) = g227;
*(int32_t *)(v1 + 20) = g228;
*(int32_t *)(v1 + 24) = g229;
return v1 + 28;
}

// Address range: 0x108dc - 0x10997
int32_t cal_digest_context(int32_t a1, char * a2, int32_t a3, int32_t a4, int32_t a5) {
int32_t v1 = (int32_t)a2;
int32_t v2 = v1; // R1
int32_t v3 = g228; // 0x108dc
int32_t v4 = g229; // 0x108dc
int32_t v5 = 1; // R5
g228 = 142;
g229 = 2;
int32_t v6 = 92; // R3
int32_t v7 = v1; // 0x10906
int32_t v8 = 1; // 0x10902
int32_t v9 = 142; // 0x108fe
int32_t v10 = 2; // 0x10904
int32_t v11 = &g6; // 0x10902
int32_t v12 = 174; // 0x108f4
int32_t v13 = 92; // 0x108f4
// branch -> 0x108f4
while (true) {
int32_t v14 = v13 ^ v12; // 0x108f4
int32_t v15 = (int32_t)*(char *)(v11 + 19) ^ v14; // 0x108f8
char v16 = v15;
if (v10 == 1) {
// 0x108fe
v16 = v15 ^ v9;
// branch -> 0x10900
}
// 0x10900
g229 = v10 - 1;
*(char *)v7 = v16;
int32_t v17 = g228; // 0x10908
int32_t v18 = v5 + v2; // 0x1090a
v2 = v18;
int32_t v19 = v6 - 1; // 0x1090c
v6 = v19;
int32_t v20 = g229; // 0x1090e
int32_t v21 = v20; // 0x108fa5
if (v20 == 0) {
// 0x10912
g229 = 2;
v21 = 2;
// branch -> 0x10914
}
int32_t v22 = v17 + 169; // 0x10914
g228 = v22;
if (v19 == 0) {
// 0x1091a
g220 = v1;
g228 = v3;
g229 = v4;
return 0;
}
int32_t v23 = v11 + v8;
v7 = v18;
v8 = v5;
v9 = v22;
v10 = v21;
v11 = v23;
v12 = v14 + 188 ^ v17;
v13 = v19;
// branch -> 0x108f4
}
}

Включи се в дискусията:

 Отговори   Нова тема Абонирай се

Сподели темата:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook:

Имаш нужда от подходящ професионалист за дома?

Върни се в “Уеб дизайн, PHP, MySQL, JavaScript, HTML..”