[Official] Android reverse engineering tool focused on dynamic instrumentation automation leveraging Frida. It disassembles dex, analyzes it statically, generates hooks, discovers reflected methods, stores intercepted data and does new things from it. Its aim is to be an all-in-one Android reverse engineering platform.
Device listing works regardless of the ADB connection (USB, network).
Actual behaviour
When using adb+tcp devices wont be listed in dexcalibur.
Issue
...
if(this.devices[i].id=="<pending...>"){
for(let k in this.devices[i].bridges){
b = this.devices[i].bridges[k];
if(b.isNetworkTransport()){
d = this.getDeviceByIP(b.ip, b.port, false);
if(d == null){
devs[this.devices[i].uid] = this.devices[i];
}
}else{
d = this.getDeviceByID(b.deviceID);
if(d == null){
devs[this.devices[i].uid] = this.devices[i];
}
}
}
....
As seen in above piece of code, when doing d = this.getDeviceByIP(b.ip, b.port, false); afterwards d wont have a null value, but since the if statement is set to == null, the device wont be added to the active devices list.
Solution
The solution is easy, as proposed in this pull request, just needs to update the if statement to != null.
Env
Expected behaviour
Actual behaviour
adb+tcp
devices wont be listed in dexcalibur.Issue
As seen in above piece of code, when doing
d = this.getDeviceByIP(b.ip, b.port, false);
afterwardsd
wont have anull
value, but since the if statement is set to== null
, the device wont be added to the active devices list.Solution
The solution is easy, as proposed in this pull request, just needs to update the if statement to
!= null
.CC: @cryptax