Jump to content




Could i release program in Programs?


  • You cannot reply to this topic
10 replies to this topic

#1 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 03:53 PM

Hello,

i would like to ask if i could release my ComputerCraft program...
It's Remote Administration Tool or Remote Access Trojan simplier RAT.
I don't know if it can be marked as malicious or not so i want to ask...
I have GUI Client to control PCs running that program like rename, upload, download, shell command.
It works on Rednet.

Sincerely,
B1N4RY

#2 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 22 April 2015 - 04:19 PM

I guess it is malicious.

#3 SquidDev

    Frickin' laser beams | Resident Necromancer

  • Members
  • 1,427 posts
  • LocationDoes anyone put something serious here?

Posted 22 April 2015 - 04:27 PM

It just sounds like a GUI version of NSH? A way to access computers remotely. I wouldn't say it is malicious. People could use it maliciously, but that is the case for most things.

#4 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 04:41 PM

I have to say i made it with malicious idea (don't tell me that anyone could think of this app without thinking about malicious ideas) but it could be even usefull for remote help. I am working on RP Server and i am programming Floppy Disks to sell in electronics shop or black market on that Server.

So well, what could be verdict? Can i release it or is it considered as malicious?

And i would also like to ask if anyone could help me with List Clients... I just tried to do something like this
rednet.broadcast("rat:getList")
	local id,message = rednet.receive()
	if message == "online" then
		if fs.exists("online") == false then
			newFile = fs.open("online","w")
			newFile.close()
		end
		file = fs.open("online", "a")
		stringId = id
		print(stringId)
		file.write(stringId)
		file.close()
		
		local file = fs.open("online", "r")
		if file then
		  local i = 0
		  while file.readLine() do
			i = i + 1
		  end
		  file.close()
		end
	end

Explanation: It sends command rat:getList to computers (all connected) and if they reply back with online:{idofPC} then it writes them to file or just list them + count them. (That's what i tried to do)

This is client side (Receiving command)
elseif string.find(message, "rat:getList") then
			rednet.send(id, "online")


#5 Anavrins

  • Members
  • 775 posts

Posted 22 April 2015 - 04:44 PM

View PostB1N4RY, on 22 April 2015 - 04:37 PM, said:

I have to say i made it with malicious idea (don't tell me that anyone could think of this app without thinking about malicious ideas) but it could be even usefull for remote help. I am working on RP Server and i am programming Floppy Disks to sell in electronics shop or black market on that Server.

So well, what could be verdict? Can i release it or is it considered as malicious?
I would say that, if there are efforts put into making it transparent, obfuscated, unremovable or hidden as much as possible, then it's malicious.
Although if there's a clear indicator that "this computer is being remotely controlled" then I guess it is okay, otherwise I don't think NSH would be available as a disk in CC...

Edited by Anavrins, 22 April 2015 - 04:46 PM.


#6 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 04:47 PM

Okay @Anavrins, thank you for explaining and also

And i would also like to ask if anyone could help me with List Clients... I just tried to do something like this
rednet.broadcast("rat:getList")
	local id,message = rednet.receive()
	if message == "online" then
		if fs.exists("online") == false then
			newFile = fs.open("online","w")
			newFile.close()
		end
		file = fs.open("online", "a")
		stringId = id
		print(stringId)
		file.write(stringId)
		file.close()
		
		local file = fs.open("online", "r")
		if file then
		  local i = 0
		  while file.readLine() do
			i = i + 1
		  end
		  file.close()
		end
	end

Explanation: It sends command rat:getList to computers (all connected) and if they reply back with online:{idofPC} then it writes them to file or just list them + count them. (That's what i tried to do)

This is client side (Receiving command)
elseif string.find(message, "rat:getList") then
			rednet.send(id, "online")


#7 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 05:48 PM

Could anyone help with that code i posted? :(

#8 KingofGamesYami

  • Members
  • 3,002 posts
  • LocationUnited States of America

Posted 22 April 2015 - 05:58 PM

Well, the main problem I see is that you only receive one message. And you hang indefinitely if no message is received.

Try something along these lines:
local id = os.startTimer( 3 )
while true do
  local event = { os.pullEvent() }
  if event[ 1 ] == "rednet_message" then
    --#handle it
  elseif event[ 1 ] == "timer" and event[ 2 ] == id then
    --#we've waited 3 seconds
    break --#exit the loop
  end
end


#9 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 06:20 PM

Wow, thank you so much. I successfully implemented that into my program... I will give you credits for helping me fix my code (if you would like to have credits)

I did thing to receive all clients once but i had problem with it freezing (forgot to break while).

#10 valithor

  • Members
  • 1,053 posts

Posted 22 April 2015 - 06:20 PM

Rednet.receive actually accepts a timeout option, so you could just do

rednet.receive(3) -- this will wait for 3 seconds, if it doesn't receive a message in that time it returns nil

If you want to know whether or not it timed out or received something check if the things it returned is nil.


edit:

Nvm I figured out what you were trying to do.

Edited by valithor, 22 April 2015 - 07:51 PM.


#11 B1N4RY

  • Members
  • 8 posts

Posted 22 April 2015 - 07:07 PM

I know but it wouldn't help me in my script by any way... Or my other script when it froze





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users