Added some function disassemblies
This commit is contained in:
@@ -0,0 +1,320 @@
|
||||
|
||||
int cgi_system_status_GET_wireless_config
|
||||
(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
||||
|
||||
{
|
||||
undefined3 extraout_var;
|
||||
bool bVar4;
|
||||
char *pcVar1;
|
||||
int iVar2;
|
||||
int *piVar3;
|
||||
undefined4 uVar5;
|
||||
undefined *puVar6;
|
||||
undefined1 *puVar7;
|
||||
char local_c0 [64];
|
||||
char local_80 [64];
|
||||
char local_40 [16];
|
||||
int *local_30;
|
||||
char *local_2c;
|
||||
char *local_28;
|
||||
char *local_24;
|
||||
undefined4 local_20;
|
||||
int local_1c;
|
||||
undefined4 local_18;
|
||||
undefined4 local_14;
|
||||
|
||||
local_2c = local_c0;
|
||||
uVar5 = 0;
|
||||
memset(local_2c,0,0x40);
|
||||
local_40[0] = '\0';
|
||||
local_40[1] = '\0';
|
||||
local_40[2] = '\0';
|
||||
local_40[3] = '\0';
|
||||
local_40[4] = '\0';
|
||||
local_40[5] = '\0';
|
||||
local_40[6] = '\0';
|
||||
local_40[7] = '\0';
|
||||
local_40[8] = '\0';
|
||||
local_40[9] = '\0';
|
||||
local_40[10] = '\0';
|
||||
local_40[0xb] = '\0';
|
||||
local_40[0xc] = '\0';
|
||||
local_40[0xd] = '\0';
|
||||
local_40[0xe] = '\0';
|
||||
local_40[0xf] = '\0';
|
||||
local_80[0] = '\0';
|
||||
local_80[1] = '\0';
|
||||
local_80[2] = '\0';
|
||||
local_80[3] = '\0';
|
||||
local_80[4] = '\0';
|
||||
local_80[5] = '\0';
|
||||
local_80[6] = '\0';
|
||||
local_80[7] = '\0';
|
||||
local_80[8] = '\0';
|
||||
local_80[9] = '\0';
|
||||
local_80[10] = '\0';
|
||||
local_80[0xb] = '\0';
|
||||
local_80[0xc] = '\0';
|
||||
local_80[0xd] = '\0';
|
||||
local_80[0xe] = '\0';
|
||||
local_80[0xf] = '\0';
|
||||
bVar4 = file_exists("/tmp/sysinfo/no_ht80_with_11a",uVar5,&_mips_gp0_value,param_4);
|
||||
if (CONCAT31(extraout_var,bVar4) != 0) {
|
||||
file_first_line(local_c0,0x40,"/tmp/sysinfo/no_ht80_with_11a");
|
||||
}
|
||||
puVar7 = &_mips_gp0_value;
|
||||
local_1c = atoi(local_c0);
|
||||
local_18 = FUN_004125a0(param_2,"radios",puVar7,param_4);
|
||||
local_30 = (int *)0x0;
|
||||
do {
|
||||
pcVar1 = get_uci_value(0x14,local_30,0);
|
||||
strcpy(local_c0,pcVar1);
|
||||
local_28 = local_80;
|
||||
if (local_c0[0] == '\0') break;
|
||||
local_14 = FUN_004125c4(param_2,0,&_mips_gp0_value,param_4);
|
||||
pcVar1 = get_uci_value(0x14,local_30,0xc);
|
||||
blobmsg_add_string_3(param_2,s_disabled_00474c34,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,8);
|
||||
blobmsg_add_string_3(param_2,s_shortgi_00474a24,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,5);
|
||||
strcpy(local_c0,pcVar1);
|
||||
if (local_c0[0] == '\0') {
|
||||
strcpy(local_c0,"2346");
|
||||
}
|
||||
blobmsg_add_string_3(param_2,&DAT_00474898,local_c0);
|
||||
pcVar1 = get_uci_value(0x14,local_30,6);
|
||||
strcpy(local_c0,pcVar1);
|
||||
if (local_c0[0] == '\0') {
|
||||
strcpy(local_c0,"2347");
|
||||
}
|
||||
puVar6 = &DAT_0047491c;
|
||||
blobmsg_add_string_3(param_2,&DAT_0047491c,local_c0);
|
||||
uVar5 = get_radio_txpower_level((int)local_30,puVar6,&_mips_gp0_value,param_4);
|
||||
local_20 = 0x412629;
|
||||
FUN_00412628(param_2,s_txpower_level_00474cb7 + 1,uVar5);
|
||||
pcVar1 = get_uci_value(0x14,local_30,7);
|
||||
blobmsg_add_string_3(param_2,s_txpower_004749a0,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,2);
|
||||
blobmsg_add_string_3(param_2,s_channel_0047470c,pcVar1);
|
||||
local_24 = local_40;
|
||||
local_40[0] = '\0';
|
||||
local_40[1] = '\0';
|
||||
local_40[2] = '\0';
|
||||
local_40[3] = '\0';
|
||||
local_40[4] = '\0';
|
||||
local_40[5] = '\0';
|
||||
local_40[6] = '\0';
|
||||
local_40[7] = '\0';
|
||||
local_40[8] = '\0';
|
||||
local_40[9] = '\0';
|
||||
local_40[10] = '\0';
|
||||
local_40[0xb] = '\0';
|
||||
local_40[0xc] = '\0';
|
||||
local_40[0xd] = '\0';
|
||||
local_40[0xe] = '\0';
|
||||
local_40[0xf] = '\0';
|
||||
local_80[0] = '\0';
|
||||
local_80[1] = '\0';
|
||||
local_80[2] = '\0';
|
||||
local_80[3] = '\0';
|
||||
local_80[4] = '\0';
|
||||
local_80[5] = '\0';
|
||||
local_80[6] = '\0';
|
||||
local_80[7] = '\0';
|
||||
local_80[8] = '\0';
|
||||
local_80[9] = '\0';
|
||||
local_80[10] = '\0';
|
||||
local_80[0xb] = '\0';
|
||||
local_80[0xc] = '\0';
|
||||
local_80[0xd] = '\0';
|
||||
local_80[0xe] = '\0';
|
||||
local_80[0xf] = '\0';
|
||||
pcVar1 = get_uci_value(0x14,local_30,3);
|
||||
strcpy(local_24,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,9);
|
||||
strcpy(local_80,pcVar1);
|
||||
pcVar1 = strchr(local_24,0x61);
|
||||
if (pcVar1 == (char *)0x0) {
|
||||
pcVar1 = local_80;
|
||||
}
|
||||
else {
|
||||
pcVar1 = strstr(local_80,"20");
|
||||
if (pcVar1 == (char *)0x0) {
|
||||
pcVar1 = strstr(local_80,"40");
|
||||
if (pcVar1 == (char *)0x0) {
|
||||
pcVar1 = "VHT80";
|
||||
}
|
||||
else {
|
||||
pcVar1 = "HT40";
|
||||
}
|
||||
}
|
||||
else {
|
||||
pcVar1 = "HT20";
|
||||
}
|
||||
}
|
||||
blobmsg_add_string_3(param_2,s_htmode_00474aa7 + 1,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,3);
|
||||
blobmsg_add_string_3(param_2,s_hwmode_00474790,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,1);
|
||||
blobmsg_add_string_3(param_2,&DAT_00474688,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,4);
|
||||
blobmsg_add_string_3(param_2,s_country_00474814,pcVar1);
|
||||
pcVar1 = get_uci_value(0x14,local_30,0x10);
|
||||
blobmsg_add_string_3(param_2,s_distance_00474e44,pcVar1);
|
||||
FUN_00412628(param_2,"no_ht80_with_11a",local_1c);
|
||||
blob_nest_end(param_2,local_14,&_mips_gp0_value);
|
||||
local_30 = (int *)((int)local_30 + 1);
|
||||
} while (local_30 != (int *)0x2);
|
||||
blob_nest_end(param_2,local_18,&_mips_gp0_value);
|
||||
memset(local_c0,0,0x40);
|
||||
local_80[0] = 'l';
|
||||
local_80[1] = 'a';
|
||||
local_80[2] = 'n';
|
||||
local_80[3] = '\0';
|
||||
local_80[4] = '\0';
|
||||
local_80[5] = '\0';
|
||||
local_80[6] = '\0';
|
||||
local_80[7] = '\0';
|
||||
local_80[8] = '\0';
|
||||
local_80[9] = '\0';
|
||||
local_80[10] = '\0';
|
||||
local_80[0xb] = '\0';
|
||||
local_80[0xc] = '\0';
|
||||
local_80[0xd] = '\0';
|
||||
local_80[0xe] = '\0';
|
||||
local_80[0xf] = '\0';
|
||||
local_80[0x10] = '\0';
|
||||
local_80[0x11] = '\0';
|
||||
local_80[0x12] = '\0';
|
||||
local_80[0x13] = '\0';
|
||||
local_80[0x14] = '\0';
|
||||
local_80[0x15] = '\0';
|
||||
local_80[0x16] = '\0';
|
||||
local_80[0x17] = '\0';
|
||||
local_80[0x18] = '\0';
|
||||
local_80[0x19] = '\0';
|
||||
local_80[0x1a] = '\0';
|
||||
local_80[0x1b] = '\0';
|
||||
local_80[0x1c] = '\0';
|
||||
local_80[0x1d] = '\0';
|
||||
local_80[0x1e] = '\0';
|
||||
local_80[0x1f] = '\0';
|
||||
local_24 = (char *)FUN_004125a0(param_2,"wifis",&_mips_gp0_value,param_4);
|
||||
local_30 = (int *)0x0;
|
||||
do {
|
||||
pcVar1 = get_uci_value(0x15,local_30,0);
|
||||
strcpy(local_c0,pcVar1);
|
||||
if (local_c0[0] == '\0') break;
|
||||
pcVar1 = get_uci_value(0x15,local_30,4);
|
||||
strcpy(local_c0,pcVar1);
|
||||
iVar2 = strcmp(local_c0,"vif-sta0");
|
||||
if (iVar2 == 0) break;
|
||||
local_20 = FUN_004125c4(param_2,0,&_mips_gp0_value,param_4);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x13);
|
||||
blobmsg_add_string_3(param_2,s_macaddr_00473d40,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,1);
|
||||
blobmsg_add_string_3(param_2,s_device_004733f8,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x10);
|
||||
blobmsg_add_string_3(param_2,s_disabled_00473bb4,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0xd);
|
||||
blobmsg_add_string_3(param_2,s_hidden_00473a27 + 1,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0xe);
|
||||
blobmsg_add_string_3(param_2,&DAT_00473aac,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x11);
|
||||
blobmsg_add_string_3(param_2,s_isolate_00473c38,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x12);
|
||||
blobmsg_add_string_3(param_2,s_maxassoc_00473cbc,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0xf);
|
||||
blobmsg_add_string_3(param_2,&DAT_00473b30,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,4);
|
||||
blobmsg_add_string_3(param_2,s_ifname_00473584,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,3);
|
||||
blobmsg_add_string_3(param_2,&DAT_00473500,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,5);
|
||||
blobmsg_add_string_3(param_2,s_ssid_00473608,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,6);
|
||||
blobmsg_add_string_3(param_2,s_mesh_id_0047368c,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,7);
|
||||
blobmsg_add_string_3(param_2,s_encryption_00473710,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,8);
|
||||
blobmsg_add_string_3(param_2,s_key_00473794,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,9);
|
||||
blobmsg_add_string_3(param_2,&DAT_00473818,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,10);
|
||||
blobmsg_add_string_3(param_2,&DAT_0047389c,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0xb);
|
||||
blobmsg_add_string_3(param_2,&DAT_00473920,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0xc);
|
||||
blobmsg_add_string_3(param_2,&DAT_004739a4,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,2);
|
||||
strcpy(local_80,pcVar1);
|
||||
blobmsg_add_string_3(param_2,s_network_0047347c,local_80);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x17);
|
||||
blobmsg_add_string_3(param_2,s_wpa_group_rekey_00473f50,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x18);
|
||||
blobmsg_add_string_3(param_2,s_wpa_pair_rekey_00473fd4,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x19);
|
||||
blobmsg_add_string_3(param_2,s_wpa_master_rekey_00474058,pcVar1);
|
||||
pcVar1 = get_uci_value(0x15,local_30,0x1a);
|
||||
blobmsg_add_string_3(param_2,s_disassoc_low_ack_004740dc,pcVar1);
|
||||
blob_nest_end(param_2,local_20,&_mips_gp0_value);
|
||||
local_30 = (int *)((int)local_30 + 1);
|
||||
} while (local_30 != (int *)0x10);
|
||||
blob_nest_end(param_2,local_24,&_mips_gp0_value);
|
||||
local_40[0] = '\0';
|
||||
local_40[1] = '\0';
|
||||
local_40[2] = '\0';
|
||||
local_40[3] = '\0';
|
||||
local_40[4] = '\0';
|
||||
local_40[5] = '\0';
|
||||
local_40[6] = '\0';
|
||||
local_40[7] = '\0';
|
||||
local_40[8] = '\0';
|
||||
local_40[9] = '\0';
|
||||
local_40[10] = '\0';
|
||||
local_40[0xb] = '\0';
|
||||
local_40[0xc] = '\0';
|
||||
local_40[0xd] = '\0';
|
||||
local_40[0xe] = '\0';
|
||||
local_40[0xf] = '\0';
|
||||
memset(local_80,0,0x40);
|
||||
memset(local_c0,0,0x40);
|
||||
iVar2 = access("/etc/config/vlan",0);
|
||||
if (iVar2 == 0) {
|
||||
local_24 = (char *)FUN_004125a0(param_2,"vlan",&_mips_gp0_value,param_4);
|
||||
local_c0[0] = '\0';
|
||||
strcpy(local_c0,"lan");
|
||||
piVar3 = (int *)0x1;
|
||||
do {
|
||||
pcVar1 = get_uci_value(0x1b,piVar3,0);
|
||||
local_30 = (int *)((int)piVar3 + 1);
|
||||
if ((*pcVar1 != '\0') && (pcVar1 = get_uci_value(0x1b,piVar3,2), *pcVar1 != '\0')) {
|
||||
strcat(local_c0," ");
|
||||
sprintf(local_40,"lan%d",local_30);
|
||||
strcat(local_c0,local_40);
|
||||
}
|
||||
piVar3 = local_30;
|
||||
} while (local_30 != (int *)0x5);
|
||||
pcVar1 = get_uci_value(0x43,0,1);
|
||||
strcpy(local_80,pcVar1);
|
||||
if ((local_80[0] != '\0') && (piVar3 = set_charlist_to_intlist(local_80), *piVar3 != 0)) {
|
||||
local_30 = piVar3;
|
||||
for (local_28 = (char *)0x1; local_30 = local_30 + 1, (int)local_28 <= *piVar3;
|
||||
local_28 = local_28 + 1) {
|
||||
pcVar1 = get_uci_value(0x47,*local_30,0);
|
||||
if ((*pcVar1 != '\0') && (pcVar1 = get_uci_value(0x44,*local_30,0), *pcVar1 != '\0')) {
|
||||
strcat(local_c0," ");
|
||||
pcVar1 = get_uci_value(0x47,*local_30,4);
|
||||
strcat(local_c0,pcVar1);
|
||||
}
|
||||
}
|
||||
}
|
||||
uVar5 = FUN_004125c4(param_2,0,&_mips_gp0_value,param_4);
|
||||
blobmsg_add_string_3(param_2,s_interface_004688c8,local_c0);
|
||||
blob_nest_end(param_2,uVar5,&_mips_gp0_value);
|
||||
blob_nest_end(param_2,local_24,&_mips_gp0_value);
|
||||
}
|
||||
wireless_distance_auth_get(param_1,param_2,&_mips_gp0_value,param_4);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
int mbox_get_systemlog(undefined4 param_1,undefined4 param_2)
|
||||
|
||||
{
|
||||
size_t sVar1;
|
||||
char acStack_7821 [30721];
|
||||
char *local_20;
|
||||
FILE *local_1c;
|
||||
int local_18;
|
||||
undefined4 local_14;
|
||||
|
||||
local_20 = acStack_7821 + 1;
|
||||
memset(local_20,0,0x7800);
|
||||
local_14 = blobmsg_open_nested(param_2,"systemlog",0);
|
||||
system("logread > /tmp/systemlog");
|
||||
local_1c = fopen("/tmp/systemlog","r");
|
||||
local_18 = 8;
|
||||
if (local_1c != (FILE *)0x0) {
|
||||
fread(acStack_7821 + 1,0x7800,1,local_1c);
|
||||
sVar1 = strlen(acStack_7821 + 1);
|
||||
acStack_7821[sVar1] = '\0';
|
||||
FUN_0043f86c(param_2,"systemlog",acStack_7821 + 1);
|
||||
local_18 = 0;
|
||||
}
|
||||
blob_nest_end(param_2,local_14,&_mips_gp0_value);
|
||||
if (local_1c != (FILE *)0x0) {
|
||||
fclose(local_1c);
|
||||
}
|
||||
return local_18;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
|
||||
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
||||
|
||||
int mbox_get_wifi_scan(int *param_1,undefined4 param_2)
|
||||
|
||||
{
|
||||
byte bVar1;
|
||||
byte bVar2;
|
||||
code *string;
|
||||
char *pcVar3;
|
||||
undefined *puVar4;
|
||||
char *pcVar5;
|
||||
int iVar6;
|
||||
byte *pbVar7;
|
||||
uint uVar8;
|
||||
undefined1 auStack_6040 [3];
|
||||
byte abStack_603d [45];
|
||||
undefined1 local_6010 [3];
|
||||
byte local_600d [24525];
|
||||
char *local_40;
|
||||
undefined4 local_3c;
|
||||
char *local_38;
|
||||
int local_34;
|
||||
code *local_30;
|
||||
char *local_2c;
|
||||
byte *local_28;
|
||||
undefined1 *local_24;
|
||||
undefined4 local_20;
|
||||
undefined4 local_1c;
|
||||
|
||||
local_40 = "ifname";
|
||||
local_3c = 3;
|
||||
local_24 = auStack_6040;
|
||||
memset(local_24,0,0x6000);
|
||||
iVar6 = *param_1;
|
||||
blobmsg_parse(&local_40,1,&local_38,iVar6 + 4,
|
||||
((uint)*(byte *)(iVar6 + 3) |
|
||||
(uint)*(byte *)(iVar6 + 2) << 8 | (uint)*(byte *)(iVar6 + 1) << 0x10) - 4);
|
||||
local_30 = (code *)0x8;
|
||||
if (local_38 != (char *)0x0) {
|
||||
pcVar3 = FUN_004123bc(local_38);
|
||||
local_28 = (byte *)iwinfo_backend(pcVar3);
|
||||
local_30 = (code *)0x6;
|
||||
if (local_28 != (byte *)0x0) {
|
||||
pcVar3 = FUN_004123bc(local_38);
|
||||
iVar6 = (**(code **)(local_28 + 0x60))(pcVar3,auStack_6040,&local_34);
|
||||
local_30 = (code *)0x7;
|
||||
if (iVar6 == 0) {
|
||||
pcVar3 = "wireless_scan_info";
|
||||
fprintf(_stderr,"[%s,%s,%d]: Scanning result length: %d","wireless.c","wireless_scan_info",
|
||||
0x75f,local_34);
|
||||
fputc(10,_stderr);
|
||||
iVar6 = local_34;
|
||||
syslog(6,"Scanning result length: %d");
|
||||
local_20 = FUN_004125a0(param_2,"scanResult",iVar6,pcVar3);
|
||||
local_28 = abStack_603d + 3;
|
||||
for (pbVar7 = local_600d; local_30 = (code *)local_6010,
|
||||
(int)(pbVar7 + (-3 - (int)local_30)) < local_34; pbVar7 = pbVar7 + 0x38) {
|
||||
local_1c = FUN_004125c4(param_2,0,&_mips_gp0_value,pcVar3);
|
||||
iVar6 = -(int)local_30;
|
||||
local_30 = (code *)&DAT_0047e308;
|
||||
if (pbVar7[(int)(abStack_603d + iVar6)] == 0) {
|
||||
strcpy(&DAT_0047e308,"unknown");
|
||||
}
|
||||
else {
|
||||
snprintf(&DAT_0047e308,0x23,"%s",local_28);
|
||||
}
|
||||
string = local_30;
|
||||
local_30 = blobmsg_add_string_3;
|
||||
blobmsg_add_string_3(param_2,"ssid",(char *)string);
|
||||
puVar4 = format_bssid(local_28 + -6);
|
||||
(*local_30)(param_2,"address",puVar4);
|
||||
(*local_30)(param_2,"mode",
|
||||
*(undefined4 *)(&IWINFO_OPMODE_NAMES + *(int *)(local_28 + 0x22) * 4));
|
||||
local_2c = &DAT_0047e300;
|
||||
pcVar3 = (char *)(uint)local_28[0x26];
|
||||
snprintf(&DAT_0047e300,8,"%d");
|
||||
(*local_30)(param_2,"channel",local_2c);
|
||||
uVar8 = (uint)local_28[0x28] * 100;
|
||||
if (local_28[0x29] == 0) {
|
||||
trap(7);
|
||||
}
|
||||
else {
|
||||
uVar8 = uVar8 / local_28[0x29];
|
||||
}
|
||||
FUN_00412628(param_2,"quality",uVar8);
|
||||
local_30 = (code *)&DAT_0047e100;
|
||||
if (pbVar7[-3] == 0) {
|
||||
LAB_00415790:
|
||||
strcpy(&DAT_0047e100,"none");
|
||||
}
|
||||
else {
|
||||
bVar1 = pbVar7[2];
|
||||
bVar2 = pbVar7[-2];
|
||||
if ((bVar1 == 0) || (bVar2 != 0)) {
|
||||
if (bVar2 == 0) goto LAB_00415790;
|
||||
if (bVar2 == 2) {
|
||||
local_2c = FUN_004123d8((uint)pbVar7[1]);
|
||||
puVar4 = FUN_0041246c((uint)(*pbVar7 | pbVar7[-1]));
|
||||
pcVar5 = "WPA2 %s (%s)";
|
||||
}
|
||||
else if (bVar2 == 3) {
|
||||
local_2c = FUN_004123d8((uint)pbVar7[1]);
|
||||
puVar4 = FUN_0041246c((uint)(*pbVar7 | pbVar7[-1]));
|
||||
pcVar5 = "mixed WPA/WPA2 %s (%s)";
|
||||
}
|
||||
else {
|
||||
if (bVar2 != 1) goto LAB_004157a8;
|
||||
local_2c = FUN_004123d8((uint)pbVar7[1]);
|
||||
puVar4 = FUN_0041246c((uint)(*pbVar7 | pbVar7[-1]));
|
||||
pcVar5 = "WPA %s (%s)";
|
||||
}
|
||||
pcVar3 = local_2c;
|
||||
snprintf((char *)local_30,0x200,pcVar5,local_2c,puVar4);
|
||||
}
|
||||
else {
|
||||
if ((bVar1 & 3) == 3) {
|
||||
pcVar3 = FUN_0041246c((uint)*pbVar7);
|
||||
pcVar5 = "WEP Open/Shared (%s)";
|
||||
}
|
||||
else if ((bVar1 & 1) == 0) {
|
||||
if ((bVar1 & 2) == 0) goto LAB_004157a8;
|
||||
pcVar3 = FUN_0041246c((uint)*pbVar7);
|
||||
pcVar5 = "WEP Shared Auth (%s)";
|
||||
}
|
||||
else {
|
||||
pcVar3 = FUN_0041246c((uint)*pbVar7);
|
||||
pcVar5 = "WEP Open System (%s)";
|
||||
}
|
||||
snprintf((char *)local_30,0x200,pcVar5);
|
||||
}
|
||||
}
|
||||
LAB_004157a8:
|
||||
blobmsg_add_string_3(param_2,"encryption",(char *)local_30);
|
||||
blob_nest_end(param_2,local_1c,&_mips_gp0_value);
|
||||
local_28 = local_28 + 0x38;
|
||||
}
|
||||
blob_nest_end(param_2,local_20);
|
||||
local_30 = (code *)0x0;
|
||||
}
|
||||
iwinfo_finish();
|
||||
}
|
||||
}
|
||||
return (int)local_30;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
|
||||
int mbox_set_motorhome_config_set(int *param_1)
|
||||
|
||||
{
|
||||
code *pcVar1;
|
||||
char *pcVar2;
|
||||
char *pcVar3;
|
||||
undefined1 *puVar4;
|
||||
int iVar5;
|
||||
char acStack_130 [64];
|
||||
char acStack_f0 [8];
|
||||
char acStack_e8 [64];
|
||||
char acStack_a8 [32];
|
||||
char acStack_88 [24];
|
||||
undefined1 auStack_70 [40];
|
||||
int local_48;
|
||||
int local_44;
|
||||
code *local_40;
|
||||
code *local_3c;
|
||||
undefined1 *local_38;
|
||||
undefined4 local_34;
|
||||
undefined4 local_30;
|
||||
char *local_2c;
|
||||
undefined4 local_28;
|
||||
char *local_24;
|
||||
code *local_20;
|
||||
undefined1 *local_1c;
|
||||
char *local_18;
|
||||
FILE *local_14;
|
||||
|
||||
local_1c = auStack_70;
|
||||
local_2c = "motorhome";
|
||||
local_28 = 2;
|
||||
local_18 = acStack_130;
|
||||
memcpy(local_1c,&motorhom_config_set_policy,0x28);
|
||||
iVar5 = *param_1;
|
||||
local_48 = 0;
|
||||
local_44 = 0;
|
||||
local_40 = (code *)0x0;
|
||||
local_3c = (code *)0x0;
|
||||
local_38 = (undefined1 *)0x0;
|
||||
local_24 = (char *)0x0;
|
||||
local_34 = 0;
|
||||
local_30 = 0;
|
||||
blobmsg_parse(&local_2c,1,&local_24,iVar5 + 4,
|
||||
((uint)*(byte *)(iVar5 + 3) |
|
||||
(uint)*(byte *)(iVar5 + 2) << 8 | (uint)*(byte *)(iVar5 + 1) << 0x10) - 4);
|
||||
local_14 = fopen("/tmp/sta_info","w");
|
||||
pcVar3 = local_24;
|
||||
if (local_14 == (FILE *)0x0) {
|
||||
return 9;
|
||||
}
|
||||
if (local_24 == (char *)0x0) goto LAB_00428b10;
|
||||
local_20 = FUN_00427f80;
|
||||
pcVar2 = FUN_00427f80(local_24);
|
||||
blobmsg_parse(auStack_70,5,&local_48,pcVar2,
|
||||
((uint)(byte)pcVar3[3] | (uint)(byte)pcVar3[2] << 8 | (uint)(byte)pcVar3[1] << 0x10)
|
||||
- 4);
|
||||
pcVar1 = local_20;
|
||||
if (local_48 == 0) goto LAB_00428b10;
|
||||
memset(acStack_130,0,0xc0);
|
||||
set_uci_value(0x1d,0,0,"wifi-iface");
|
||||
pcVar3 = get_uci_value(9,0,6);
|
||||
set_uci_value(0x1d,0,2,pcVar3);
|
||||
set_uci_value(0x1d,0,5,"sta");
|
||||
set_uci_value(0x1d,0,3,"wan");
|
||||
set_uci_value(0x1d,0,8,"radio0");
|
||||
local_20 = (code *)0x44e604;
|
||||
set_uci_value(0x1d,0,1,"vif-sta0");
|
||||
local_1c = (undefined1 *)local_48;
|
||||
pcVar3 = (char *)(*pcVar1)();
|
||||
strcpy(acStack_130,pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_1c);
|
||||
set_uci_value(0x1d,0,9,pcVar3);
|
||||
local_1c = local_38;
|
||||
if (local_38 != (undefined1 *)0x0) {
|
||||
pcVar3 = (char *)(*pcVar1)(local_38);
|
||||
strcpy(acStack_88,pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_1c);
|
||||
set_uci_value(0x1d,0,0xb,pcVar3);
|
||||
}
|
||||
if (local_44 != 0) {
|
||||
pcVar3 = (char *)(*pcVar1)();
|
||||
local_20 = (code *)&local_34;
|
||||
strcpy((char *)local_20,pcVar3);
|
||||
strcpy(acStack_f0,(char *)local_20);
|
||||
set_uci_value(0x1d,0,6,(char *)local_20);
|
||||
iVar5 = strcmp((char *)local_20,"psk2");
|
||||
if (iVar5 == 0) {
|
||||
local_20 = local_40;
|
||||
pcVar3 = (char *)(*pcVar1)();
|
||||
strcpy(acStack_e8,pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_20);
|
||||
puVar4 = (undefined1 *)0x10;
|
||||
}
|
||||
else {
|
||||
iVar5 = strcmp((char *)local_20,"wep");
|
||||
if (iVar5 != 0) goto LAB_00428a1c;
|
||||
local_20 = local_40;
|
||||
pcVar3 = (char *)(*pcVar1)(local_40);
|
||||
strcpy(acStack_e8,pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_20);
|
||||
set_uci_value(0x1d,0,0x10,pcVar3);
|
||||
local_20 = local_3c;
|
||||
pcVar3 = (char *)(*pcVar1)(local_3c);
|
||||
strcpy(acStack_a8,pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_40);
|
||||
local_1c = (undefined1 *)atoi(pcVar3);
|
||||
pcVar3 = (char *)(*pcVar1)(local_20);
|
||||
puVar4 = local_1c + 0x10;
|
||||
}
|
||||
set_uci_value(0x1d,0,puVar4,pcVar3);
|
||||
}
|
||||
LAB_00428a1c:
|
||||
set_uci_value(0x18,0,1,"vif-sta0");
|
||||
set_uci_value(0x18,0,2,"dhcp");
|
||||
del_uci_value(0x18,0,0xd);
|
||||
del_uci_value(0x18,0,0x19);
|
||||
del_uci_value(0x18,0,0x1a);
|
||||
del_uci_value(0x18,0,0x18);
|
||||
system("rm /etc/lte_mode");
|
||||
system("touch /tmp/change_config");
|
||||
strcpy(&WAN_TYPE_ARRAY,"");
|
||||
fwrite(acStack_130,0xc0,1,local_14);
|
||||
fclose(local_14);
|
||||
system("touch /tmp/heart_file");
|
||||
LAB_00428b10:
|
||||
wirte_apply_change("/tmp/network_change","workmode");
|
||||
config_action_set(5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user