Skip to content

Commit cc249a8

Browse files
authored
feat: add support for remote devices
2 parents 33573f5 + fadf93b commit cc249a8

1 file changed

Lines changed: 38 additions & 14 deletions

File tree

cmd/fuzz.go

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ var fuzzCmd = &cobra.Command{
8383
return err
8484
}
8585

86+
network, err := cmd.Flags().GetString("network")
87+
if err != nil {
88+
return err
89+
}
90+
8691
m := tui.NewModel()
8792
m.Crash = crash
8893
m.Runs = runs
@@ -120,22 +125,40 @@ var fuzzCmd = &cobra.Command{
120125
return
121126
}
122127

123-
dev := frida.USBDevice()
124-
if dev == nil {
125-
sendErr(p, "No USB device detected")
126-
return
127-
}
128-
defer dev.Clean()
129-
130-
sendStats(p, "Attached to USB device")
131-
sendStats(p, fmt.Sprintf("Reading inputs from %s", input))
128+
//Adding support for accessing remote devices, else default is USB
129+
if network!=""{
130+
mgr := frida.NewDeviceManager()
131+
ropts := frida.NewRemoteDeviceOptions()
132+
dev, err := mgr.AddRemoteDevice(network, ropts)
133+
if err != nil {
134+
sendErr(p,err.Error())
135+
return
136+
}
137+
defer dev.Clean()
132138

133-
sess, err = dev.Attach(app, nil)
134-
if err != nil {
135-
sendErr(p, err.Error())
136-
return
139+
sess, err = dev.Attach(app, nil)
140+
if err != nil {
141+
sendErr(p, err.Error())
142+
return
143+
}
144+
sendStats(p, "Attached to Remote device")
145+
}else{
146+
dev := frida.USBDevice()
147+
if dev == nil {
148+
sendErr(p, "No USB device detected")
149+
return
150+
}
151+
defer dev.Clean()
152+
153+
sess, err = dev.Attach(app, nil)
154+
if err != nil {
155+
sendErr(p, err.Error())
156+
return
157+
}
158+
sendStats(p, "Attached to USB device")
137159
}
138-
160+
161+
sendStats(p, fmt.Sprintf("Reading inputs from %s", input))
139162
sendStats(p, fmt.Sprintf("Attached to %s", app))
140163

141164
var lastInput string
@@ -239,6 +262,7 @@ func init() {
239262
fuzzCmd.Flags().BoolP("crash", "c", false, "ignore previous crashes")
240263
fuzzCmd.Flags().UintP("runs", "r", 0, "number of runs")
241264
fuzzCmd.Flags().UintP("timeout", "t", 1, "sleep X seconds between each case")
265+
fuzzCmd.Flags().StringP("network", "n", "", "Connect to Device Remotely")
242266

243267
rootCmd.AddCommand(fuzzCmd)
244268
}

0 commit comments

Comments
 (0)