[GH-ISSUE #556] Remote Microphone Implemented #315

Closed
opened 2026-02-27 15:49:50 +03:00 by kerem · 40 comments
Owner

Originally created by @ValonK on GitHub (Nov 26, 2016).
Original GitHub issue: https://github.com/quasar/Quasar/issues/556

Im following this project for a while now always a quite reader :) In my version of Quasar ive finished building remote microphone using https://github.com/naudio/NAudio . Is anybody interested so i could commit.

Originally created by @ValonK on GitHub (Nov 26, 2016). Original GitHub issue: https://github.com/quasar/Quasar/issues/556 Im following this project for a while now always a quite reader :) In my version of Quasar ive finished building remote microphone using https://github.com/naudio/NAudio . Is anybody interested so i could commit.
kerem 2026-02-27 15:49:50 +03:00
  • closed this issue
  • added the
    wont-add
    label
Author
Owner

@DragonzMaster commented on GitHub (Nov 27, 2016):

You can fork this repo and add your changes then send a pull request, So when @MaxXor finishes his studying can merge it or anyone else can add this change to his fork too.

<!-- gh-comment-id:263117791 --> @DragonzMaster commented on GitHub (Nov 27, 2016): You can fork this repo and add your changes then send a pull request, So when @MaxXor finishes his studying can merge it or anyone else can add this change to his fork too.
Author
Owner

@ValonK commented on GitHub (Nov 27, 2016):

Ok thanks i will do that. :)

<!-- gh-comment-id:263133070 --> @ValonK commented on GitHub (Nov 27, 2016): Ok thanks i will do that. :)
Author
Owner

@igromanru commented on GitHub (Nov 27, 2016):

It would be better, if someone start take care of the project in another fork and we will keep working there until @MaxXor come back. Then he can merge it.

<!-- gh-comment-id:263133268 --> @igromanru commented on GitHub (Nov 27, 2016): It would be better, if someone start take care of the project in another fork and we will keep working there until @MaxXor come back. Then he can merge it.
Author
Owner

@MaxXor commented on GitHub (Nov 27, 2016):

I don't think anyone else need to take care of this project as I will still merge well tested PRs and critical fixes. It's very stable as of now and I don't think this will change anytime soon. Once I get more spare time I'll also continue to work on my own on this project again.

<!-- gh-comment-id:263133453 --> @MaxXor commented on GitHub (Nov 27, 2016): I don't think anyone else need to take care of this project as I will still merge well tested PRs and critical fixes. It's very stable as of now and I don't think this will change anytime soon. Once I get more spare time I'll also continue to work on my own on this project again.
Author
Owner

@KX-Reaper commented on GitHub (Nov 27, 2016):

Awsome! Great that you are willing to share your work with the community.

<!-- gh-comment-id:263133779 --> @KX-Reaper commented on GitHub (Nov 27, 2016): Awsome! Great that you are willing to share your work with the community.
Author
Owner

@ValonK commented on GitHub (Nov 27, 2016):

Ive commited the Remote Microphone Feature. Work really well tested on 20 machines.
http://imgur.com/a/fRCEF Preview Image

<!-- gh-comment-id:263136547 --> @ValonK commented on GitHub (Nov 27, 2016): Ive commited the Remote Microphone Feature. Work really well tested on 20 machines. http://imgur.com/a/fRCEF Preview Image
Author
Owner

@DragonzMaster commented on GitHub (Nov 27, 2016):

Nice work @ValonK .
Want to mention that 1 channel (mono) audio is fine for VOIP so we don't really need 2 channels (they only double the bandwidth used) unless the remote computer has microphone array ( double microphones like what I have in my laptop).
Fact: I think we won't listen to Adele singing Hello. 😛

So It would be nice if we can choose the sample rate starting from 8kHz up to 48kHz and using 16 bit depth (don't use 8 bit) as that what really make a difference.

These tips are taken from an article on codeproject which is written by NAudio owner (Mark Heath), if you have time you can take a look at the article. It can be found here : https://www.codeproject.com/articles/501521/how-to-convert-between-most-audio-formats-in-net

EDIT: Can you push a commit to your repo (fork) so we can see the code ??

<!-- gh-comment-id:263149020 --> @DragonzMaster commented on GitHub (Nov 27, 2016): Nice work @ValonK . Want to mention that 1 channel (mono) audio is fine for VOIP so we don't really need 2 channels (they only double the bandwidth used) unless the remote computer has microphone array ( double microphones like what I have in my laptop). Fact: I think we won't listen to Adele singing Hello. 😛 So It would be nice if we can choose the sample rate starting from 8kHz up to 48kHz and using 16 bit depth (don't use 8 bit) as that what really make a difference. These tips are taken from an article on codeproject which is written by NAudio owner (Mark Heath), if you have time you can take a look at the article. It can be found here : https://www.codeproject.com/articles/501521/how-to-convert-between-most-audio-formats-in-net EDIT: Can you push a commit to your repo (fork) so we can see the code ??
Author
Owner

@ValonK commented on GitHub (Nov 27, 2016):

Thanks! yeah im a github noob so i think i will give you a download link to the project :) is that ok?

<!-- gh-comment-id:263150330 --> @ValonK commented on GitHub (Nov 27, 2016): Thanks! yeah im a github noob so i think i will give you a download link to the project :) is that ok?
Author
Owner

@DragonzMaster commented on GitHub (Nov 27, 2016):

Yup, that will be fine and then it will be available for anyone else want to see the code.

EDIT: You can download GitHub for windows then log in and fork this repo and make your changes on your PC then send pull request. See, It 's pretty easy 😉

<!-- gh-comment-id:263150389 --> @DragonzMaster commented on GitHub (Nov 27, 2016): Yup, that will be fine and then it will be available for anyone else want to see the code. EDIT: You can download GitHub for windows then log in and fork this repo and make your changes on your PC then send pull request. See, It 's pretty easy 😉
Author
Owner

@ValonK commented on GitHub (Nov 27, 2016):

EDIT: Ive forked Quasar and commited the changes to my Fork.
let me know what you think :) and what can be improved!

<!-- gh-comment-id:263154453 --> @ValonK commented on GitHub (Nov 27, 2016): EDIT: Ive forked Quasar and commited the changes to my Fork. let me know what you think :) and what can be improved!
Author
Owner

@DragonzMaster commented on GitHub (Nov 28, 2016):

Great Job @ValonK . 👍
I have cleaned up NAudio code so it is really smaller now (about 60KB added to client) instead of ~350KB .
First : You can replace NAudio files with these files in ZIP file below.
Second : You can change "channels" at audio packet to simple rate and change that ComboBox also in Microphone form (FrmMicrophone) and add these values :
8000, 11025, 16000, 22050, 32000, 44100, 48000
all of them 16-bit depth and mono (1 Channel), feel free to add 2-Channel support.

Go to "AudioHandler.cs" in client and change this line:
var waveFormat = new WaveFormat(44100, command.Channels);
To
var waveFormat = new WaveFormat(command.rate,16,1);

NAudio Cleaned / Mirror

EDIT: Please, Can you add a new Branch at your repo and add these changes to a new version (fork new one) ?? so the commit be clean and organized and we don't have to commit files and delete it again. 😄

I've noticed that you have changed the client settings and used "var" to initialize variables (for single file), Can you keep original code formatting and settings ?

<!-- gh-comment-id:263339584 --> @DragonzMaster commented on GitHub (Nov 28, 2016): Great Job @ValonK . 👍 I have cleaned up NAudio code so it is really smaller now (about 60KB added to client) instead of ~350KB . First : You can replace NAudio files with these files in ZIP file below. Second : You can change "channels" at audio packet to simple rate and change that ComboBox also in Microphone form (FrmMicrophone) and add these values : 8000, 11025, 16000, 22050, 32000, 44100, 48000 all of them 16-bit depth and mono (1 Channel), feel free to add 2-Channel support. Go to "AudioHandler.cs" in client and change this line: `var waveFormat = new WaveFormat(44100, command.Channels);` To `var waveFormat = new WaveFormat(command.rate,16,1);` [NAudio Cleaned](http://www.filedropper.com/naudio) / [Mirror](http://s000.tinyupload.com/index.php?file_id=74737560911854711261) EDIT: Please, Can you add a new Branch at your repo and add these changes to a new version (fork new one) ?? so the commit be clean and organized and we don't have to commit files and delete it again. 😄 I've noticed that you have changed the client settings and used "var" to initialize variables (for single file), Can you keep original code formatting and settings ?
Author
Owner

@ValonK commented on GitHub (Nov 28, 2016):

Wow thanks for the Amazing feedback☺ Thanks for the size reducing and code clean up👍. I was worried because of the size! I will asap fork and add your Changes to my Repo.

<!-- gh-comment-id:263367959 --> @ValonK commented on GitHub (Nov 28, 2016): Wow thanks for the Amazing feedback☺ Thanks for the size reducing and code clean up👍. I was worried because of the size! I will asap fork and add your Changes to my Repo.
Author
Owner

@DragonzMaster commented on GitHub (Nov 28, 2016):

You are welcome. 😄
Want to remind you to make these changes on a NEW fork not the same one.
(you can delete your existent fork and re-fork again if it is possible please or make a NEW branch)

<!-- gh-comment-id:263369367 --> @DragonzMaster commented on GitHub (Nov 28, 2016): You are welcome. 😄 Want to remind you to make these changes on a NEW fork not the same one. (you can delete your existent fork and re-fork again if it is possible please or make a NEW branch)
Author
Owner

@ValonK commented on GitHub (Nov 28, 2016):

oh thanks for the info. im currently reforking :) and adding your changes :)

<!-- gh-comment-id:263369724 --> @ValonK commented on GitHub (Nov 28, 2016): oh thanks for the info. im currently reforking :) and adding your changes :)
Author
Owner

@ValonK commented on GitHub (Nov 28, 2016):

Ok fixed everything youve said :) Works like charm :) thanks again for the size reducing ! Should be available at my fork now.
EDIT: Tomorrow i will implement Speak feature :)

<!-- gh-comment-id:263387964 --> @ValonK commented on GitHub (Nov 28, 2016): Ok fixed everything youve said :) Works like charm :) thanks again for the size reducing ! Should be available at my fork now. EDIT: Tomorrow i will implement Speak feature :)
Author
Owner

@DragonzMaster commented on GitHub (Nov 28, 2016):

First, I want to thank you for your efforts. But unfortunately you didn't get my point about adding the changes to NEW fork.
I meant that you don't add the old changes to a commit again but just push all the new work in one commit to original code from this repo. I can guess that you just don't know how to do this but I think it can be done by downloading Quasar master branch again and work on it INSTEAD of working on the copy on your PC.

Another time you have changed the client settings ( IP:port) 😛

I've tested it with another simple rates (22kHz, 16kHz) but it seams to be not working as expected, I will look into this.

EDIT: Go to ComboBox >> Change: DropDownStyle = DropDownList

<!-- gh-comment-id:263398965 --> @DragonzMaster commented on GitHub (Nov 28, 2016): First, I want to thank you for your efforts. But unfortunately you didn't get my point about adding the changes to NEW fork. I meant that you don't add the old changes to a commit again but just push all the new work in one commit to original code from this repo. I can guess that you just don't know how to do this but I think it can be done by downloading Quasar master branch again and work on it INSTEAD of working on the copy on your PC. Another time you have changed the client settings ( IP:port) 😛 I've tested it with another simple rates (22kHz, 16kHz) but it seams to be not working as expected, I will look into this. EDIT: Go to ComboBox >> Change: DropDownStyle = DropDownList
Author
Owner

@ValonK commented on GitHub (Nov 28, 2016):

Do you have skype ? or some kind of chat app? i would like to speak to you?

<!-- gh-comment-id:263400949 --> @ValonK commented on GitHub (Nov 28, 2016): Do you have skype ? or some kind of chat app? i would like to speak to you?
Author
Owner

@DragonzMaster commented on GitHub (Nov 28, 2016):

Only I'm using Wire.

<!-- gh-comment-id:263401812 --> @DragonzMaster commented on GitHub (Nov 28, 2016): Only I'm using Wire.
Author
Owner

@Lavarp commented on GitHub (Dec 15, 2016):

Hi !

I have tried you Quasar version. I have installed it on a VPS and I cannot use the mic recording function...
See my error :

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen
at xServer.Core.NAudio.Wave.WaveOutputs.WaveOut.Init(IWaveProvider waveProvider)
at xServer.Forms.FrmMicrophone.InitializeNAudio()
at xServer.Forms.FrmMicrophone..ctor(Client c)
at xServer.Forms.FrmMain.remoteMicrophoneToolStripMenuItem_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************

Have you any idea?

<!-- gh-comment-id:267347382 --> @Lavarp commented on GitHub (Dec 15, 2016): Hi ! I have tried you Quasar version. I have installed it on a VPS and I cannot use the mic recording function... See my error : See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen at xServer.Core.NAudio.Wave.WaveOutputs.WaveOut.Init(IWaveProvider waveProvider) at xServer.Forms.FrmMicrophone.InitializeNAudio() at xServer.Forms.FrmMicrophone..ctor(Client c) at xServer.Forms.FrmMain.remoteMicrophoneToolStripMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** Have you any idea?
Author
Owner

@ValonK commented on GitHub (Dec 15, 2016):

Ive tested the Remote mic on 50+ windows Machines but i didnt test on a VPS.
xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen
The device that you are trying to listen to doesnt work or seems corrupt. Never had this exception before.
I will try to reproduce it.

<!-- gh-comment-id:267350318 --> @ValonK commented on GitHub (Dec 15, 2016): Ive tested the Remote mic on 50+ windows Machines but i didnt test on a VPS. xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen The device that you are trying to listen to doesnt work or seems corrupt. Never had this exception before. I will try to reproduce it.
Author
Owner

@ghost commented on GitHub (Dec 15, 2016):

ValonK,

How is it possible to use your version of the Client and Server?

Can you share it as a zip file ?

Thank you in advance.

<!-- gh-comment-id:267353842 --> @ghost commented on GitHub (Dec 15, 2016): ValonK, How is it possible to use your version of the Client and Server? Can you share it as a zip file ? Thank you in advance.
Author
Owner

@ValonK commented on GitHub (Dec 15, 2016):

go to my github profile and download the fork of qasar.
https://github.com/ValonK/QuasarRAT

<!-- gh-comment-id:267354641 --> @ValonK commented on GitHub (Dec 15, 2016): go to my github profile and download the fork of qasar. https://github.com/ValonK/QuasarRAT
Author
Owner

@ghost commented on GitHub (Dec 15, 2016):

ValonK,

Thank you for your advice. However, I am using Visual Studio 2015 and run the project. I managed to build, but unable to see hosts although when using the stable release 1.3.0.0, i see them immidiatelly.
Can you advise what is the problem ? Do i need to upload a new server, built with your fork or ?

Thank you in advance.

<!-- gh-comment-id:267388256 --> @ghost commented on GitHub (Dec 15, 2016): ValonK, Thank you for your advice. However, I am using Visual Studio 2015 and run the project. I managed to build, but unable to see hosts although when using the stable release 1.3.0.0, i see them immidiatelly. Can you advise what is the problem ? Do i need to upload a new server, built with your fork or ? Thank you in advance.
Author
Owner

@ValonK commented on GitHub (Dec 15, 2016):

Hmm i only added Remote Mic and nothing else so i dont understand why you get connection issues?
ive got only positive Response from people.

Download my fork and Rebuild. I cant see what setup your using so helping you would be difficult.

<!-- gh-comment-id:267410943 --> @ValonK commented on GitHub (Dec 15, 2016): Hmm i only added Remote Mic and nothing else so i dont understand why you get connection issues? ive got only positive Response from people. Download my fork and Rebuild. I cant see what setup your using so helping you would be difficult.
Author
Owner

@DragonzMaster commented on GitHub (Dec 19, 2016):

You have one bug as I remember just check Wire, @ValonK .
The WaveOut MUST be the same as WaveIn on remote PC so you have to change WaveFormat to the selected one from Combobox for both WaveIn & WaveOut.

<!-- gh-comment-id:267865592 --> @DragonzMaster commented on GitHub (Dec 19, 2016): You have one bug as I remember just check Wire, @ValonK . The WaveOut MUST be the same as WaveIn on remote PC so you have to change WaveFormat to the selected one from Combobox for both WaveIn & WaveOut.
Author
Owner

@ValonK commented on GitHub (Dec 19, 2016):

@DragonzMaster thanks for the Information.
I will continue to fix and make improvements friday starting. Vacation Time :)

<!-- gh-comment-id:267900788 --> @ValonK commented on GitHub (Dec 19, 2016): @DragonzMaster thanks for the Information. I will continue to fix and make improvements friday starting. Vacation Time :)
Author
Owner

@FADDD commented on GitHub (Dec 29, 2016):

ValonK I have an old version of Quasar how to install this thing?
Explain step by step, thank you very much
I tried, but as option did not work and the client disappeared

<!-- gh-comment-id:269567505 --> @FADDD commented on GitHub (Dec 29, 2016): ValonK I have an old version of Quasar how to install this thing? Explain step by step, thank you very much I tried, but as option did not work and the client disappeared
Author
Owner

@badmanbh commented on GitHub (Mar 14, 2017):

It's possible download a build of quasar with microphone feature ?

<!-- gh-comment-id:286312732 --> @badmanbh commented on GitHub (Mar 14, 2017): It's possible download a build of quasar with microphone feature ?
Author
Owner

@ValonK commented on GitHub (Mar 14, 2017):

Of course it's on my page

<!-- gh-comment-id:286340433 --> @ValonK commented on GitHub (Mar 14, 2017): Of course it's on my page
Author
Owner

@badmanbh commented on GitHub (Mar 15, 2017):

I'm new in github. I tried to fork your project, but the download is only the source-code.

<!-- gh-comment-id:286630232 --> @badmanbh commented on GitHub (Mar 15, 2017): I'm new in github. I tried to fork your project, but the download is only the source-code.
Author
Owner

@ValonK commented on GitHub (Mar 15, 2017):

With the source code build it in visual studio. I will try to build it when I have time and add the link here.

<!-- gh-comment-id:286659918 --> @ValonK commented on GitHub (Mar 15, 2017): With the source code build it in visual studio. I will try to build it when I have time and add the link here.
Author
Owner

@Anawaz commented on GitHub (Oct 19, 2017):

I also get this exception on VPS.

xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen

<!-- gh-comment-id:337827910 --> @Anawaz commented on GitHub (Oct 19, 2017): I also get this exception on VPS. xServer.Core.NAudio.Wave.MmeInterop.MmException: BadDeviceId calling waveOutOpen
Author
Owner

@abdullah2993 commented on GitHub (Oct 19, 2017):

do you have audio on your VPS?

<!-- gh-comment-id:337843590 --> @abdullah2993 commented on GitHub (Oct 19, 2017): do you have audio on your VPS?
Author
Owner

@77Dann commented on GitHub (Nov 27, 2017):

Valonk could you upload the version Quasar RAT with remote microphone? I'm in a lot of need and your repository does not exist anymore.

<!-- gh-comment-id:347060116 --> @77Dann commented on GitHub (Nov 27, 2017): Valonk could you upload the version Quasar RAT with remote microphone? I'm in a lot of need and your repository does not exist anymore.
Author
Owner

@XYDsoft commented on GitHub (May 29, 2018):

@ValonK “Hold to” Test null and void !

<!-- gh-comment-id:392846577 --> @XYDsoft commented on GitHub (May 29, 2018): @ValonK “Hold to” Test null and void !
Author
Owner

@xALEGORx commented on GitHub (Feb 20, 2019):

Valonk please! Can you upload Quasar RAT with microphone! I'm in a lot of need. Your repository does not exist anymore!!!

<!-- gh-comment-id:465527998 --> @xALEGORx commented on GitHub (Feb 20, 2019): Valonk please! Can you upload Quasar RAT with microphone! I'm in a lot of need. Your repository does not exist anymore!!!
Author
Owner

@jonrules48 commented on GitHub (Feb 9, 2020):

Hello, Sorry a little late but does anyone still need Quasar with microphone?

<!-- gh-comment-id:583792873 --> @jonrules48 commented on GitHub (Feb 9, 2020): Hello, Sorry a little late but does anyone still need Quasar with microphone?
Author
Owner

@fbra-dev commented on GitHub (Feb 19, 2020):

@jonrules48 yes

<!-- gh-comment-id:588227329 --> @fbra-dev commented on GitHub (Feb 19, 2020): @jonrules48 yes
Author
Owner

@jonrules48 commented on GitHub (Feb 26, 2020):

github.com/quasar/QuasarRAT@b2c6aabcab

<!-- gh-comment-id:591672221 --> @jonrules48 commented on GitHub (Feb 26, 2020): https://github.com/quasar/QuasarRAT/tree/b2c6aabcabf8bc24929d2b05393d24f236d94659
Author
Owner

@jonrules48 commented on GitHub (Feb 26, 2020):

although it is a bit buggy, but works

<!-- gh-comment-id:591672416 --> @jonrules48 commented on GitHub (Feb 26, 2020): although it is a bit buggy, but works
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Quasar#315
No description provided.