Let's assume you just created 1,000 tokens at address 0x012345. You, the owner of 0x012345 sent by mistake all tokens and 1ETH to a smart contract with address 0x987654. This smart contract doesn't have a 'pay tokens' or 'send ethereum' function and it's pretty basic like that:
pragma solidity ^0.5.1;
contract simpleSmartContract{
address public inventor;
string public message;
constructor() public
{
inventor = msg.sender;
}
function changeMessage(string memory message_) public returns(string memory)
{
message = message_;
return message;
}
}
Can this contract use your tokens or Ethereum sent to it and maybe forward it to the owner? (assuming the smart contract has been already deployed and can't be modified)