Тут я так понял цикл main
Code:
//----- (000000C8) --------------------------------------------------------
void sub_C8()
{
int v0; // r0@1
int v1; // r0@1
int v2; // r0@5
int v3; // r0@9
sub_1F30();
sub_26D0();
sub_26FC();
sub_498();
v0 = sub_FA8();
sub_9538(v0);
sub_2518();
sub_9696();
<b>v1 = sub_AC74();</b>
sub_2572(v1);
sub_1106(0);
sub_20FC(17, 1500);
sub_9E6(1, 300);
while ( 1 )
{
if ( !sub_2104(2) )
{
sub_20FC(2, 1);
sub_35A();
}
if ( !sub_2104(1) )
{
sub_20FC(1, 20);
v2 = sub_A258();
sub_25B4(v2);
v20000C64 = 1;
v20000C68 = 1;
v20000C6C = 1;
sub_B984(2, 3u);
}
if ( !sub_2104(0) )
{
sub_20FC(0, 2);
sub_979E();
}
if ( !sub_2104(27) )
{
v3 = sub_20FC(27, 50);
((void (__fastcall *)(_DWORD))loc_1196)(v3);
}
if ( !sub_2104(29) )
{
sub_20FC(29, 50);
sub_1B80();
}
if ( !sub_2104(28) )
{
sub_20FC(28, 50);
sub_1868();
}
if ( !sub_2104(4) )
{
sub_20FC(4, 1000);
sub_1D64();
}
if ( !sub_2104(36) )
{
sub_20FC(36, 5);
((void (__fastcall *)(_DWORD))loc_52C)(536871800);
}
if ( !sub_2104(73) )
{
sub_20FC(73, 5);
sub_3DC();
}
}
}
// 2572: using guessed type int __fastcall sub_2572(_DWORD);
// 25B4: using guessed type int __fastcall sub_25B4(_DWORD);
// 9538: using guessed type int __fastcall sub_9538(_DWORD);
А тут собственно вывод на экран девайса ошибки
Code:
int sub_AC74()
{
unsigned int v0; // r4@1
int result; // r0@6
char v2; // [sp+4h] [bp-94h]@1
v0 = 0;
v50000100 = 136;
sub_2650(&v2, 130816, 32);
do
{
if ( sub_FD34(~dword_127A8[v0 + 155], 0x671243u) != *((_DWORD *)&v2) )
{
sub_1088(1);
sub_E78();
sub_DD6(0, 0, (int)"ERROR: \n", 0);
sub_DD6(0, 2u, (int)"NO SECRET\n", 0);
sub_DD6(0, 3u, (int)"-KEY! \n", 0);
sub_1080(0xAFu);
sub_1088(0);
while ( 1 )
;
}
v0 = (unsigned __int8)(v0 + 1);
}
while ( v0 < 0x20 );
result = 0;
v50000100 = 0;
return result;
}
Чтобы не думали что я ничего сам не делал.... Но на этом мои познания закончились.... как изменить сам бинарник прошивки я не представляю... вернее догадываюсь что винхексом, но как и что непонимаю..... в asm не разбираюсь в C перевел hex rays - ом.... Спасибо кто поможет!!!!!!!!!!!!!!