გამარჯობა მეგობრებო მინდა დღეს განვიხილოთ ცოტა C++
კონკრეტულად პატარა ფუნქცია რომელსაც ვირუსები ხშირად იყენებენ, ესაა Clipboard Change-ფუნქცია
რაც ნიშნავს იმას რომ ეს კოდი ცვლის თქვენს მიერ დაკოპირებულ კონტენტს
დავწერ კოდს რომელიც
1) გახსნის თქვენს კლიპბორდს
2) წაიკითხავს კონტენტს
3) შეადარებს წინასწარ შერჩეულ სტრინგს
4) დამთხვევის შემთხვევაში შეცვლის დაკოპირებულ ტექტს
შემოვიტანოთ საჭირო ბიბლიოთეკები
მას შემდეგ რაც საჭირო ბიბლიოთეკები გვაქვს, დავიწყოთ კლიპბორდის შემცვლელის ფუნქციის წერა, კოდი გამოვა ძალიან მოკლე და მოქნილი
ფუნქცია მზადაა, მხოლოდ საჭიროა ამ გადავცეთ ტექსტი და ეს ტექსტი ჩაიწერება მომხმარებლის კლიპბორდზე...
დავიწყოთ getclipboard ფუნქციის წერა
დაგვრჩა მეინ ფუნქციის დაწერა რომელიც უყურებს კლიპბორდს და ელოდება სპეც. სტრინგს დამთხვევას და შეცვლის რეზულტატს...
სულ ეს იყო, სრული კოდი გამოიყურება ასე:
თუკი თქვენ დააკოპირებთ ტესტქს -> C.S.G Is Cool -ს მაშინ თქვენი დაკოპირებული ტექსტი მაშინვე შიეცვლება C.S.G Is Awesome-ზე
გაუშვით კოდი და გატესტეთ
<3
გაითვალისწინთ რომ ფორუმი არარის პასუხისმგებელი თქვენს ნებისმიერ დანაშაულზე!
გისურვებთ წარმატებას. პატივისცემით Z3R0 ♥
კონკრეტულად პატარა ფუნქცია რომელსაც ვირუსები ხშირად იყენებენ, ესაა Clipboard Change-ფუნქცია
რაც ნიშნავს იმას რომ ეს კოდი ცვლის თქვენს მიერ დაკოპირებულ კონტენტს
დავწერ კოდს რომელიც
1) გახსნის თქვენს კლიპბორდს
2) წაიკითხავს კონტენტს
3) შეადარებს წინასწარ შერჩეულ სტრინგს
4) დამთხვევის შემთხვევაში შეცვლის დაკოპირებულ ტექტს
შემოვიტანოთ საჭირო ბიბლიოთეკები
C++:
#include <string> //სტრინგების ბიბლოთეკა
#include "windows.h" //ვინდოუსის ბიბლიოთეკა (რათა მივიღოთ წვდომა კლიპბორდზე)
#include <iostream>; //Input Output ბიბლიოთეკა ტერმინალში ტექსტის დასაბეჭდად
//და აქვე შევამოკლოთ std
using namespace std;
C++:
void toClipboard(const string &s){ //ფუნქცია რომელიც სტრინგს შეიტანს კლიპბორდში
OpenClipboard(0); //გავხსნათ კლიპბორდი
EmptyClipboard(); // გავასუფთაოთ კონტენტი
HGLOBAL hg=GlobalAlloc(GMEM_MOVEABLE,s.size()+1); // მოვახდინოთ სტრინგის სიგრძის ალოკაცია (+1 იმიტომ რომ კოდი თვლას იწყებს ნოლიდან)
if (!hg){
CloseClipboard(); // დავხუროთ კლიპბორდი წარუმატებელი ალოკაციის შემთხვევაში
return;
}
memcpy(GlobalLock(hg),s.c_str(),s.size()+1); // გადავიტანოთ ტექსტი ოპერატიულ მეხსიეირებაში
GlobalUnlock(hg); // მოვხსნათ ბლოკი ოპერატიულ მეხსიეირებაში გადატანილ ტექსტს
SetClipboardData(CF_TEXT,hg); //შევიტანოთ კლიპბორდზე ტექსტი
CloseClipboard(); //დავხუროთ კლიპბორდი
GlobalFree(hg); // გავათავისუფლოთ ოპერატიული მეხსიეირება
}
დავიწყოთ getclipboard ფუნქციის წერა
C++:
string getclipboard() {
HANDLE clip; // გავხსნათ კლიპბორდისთვის ჰენდლი
OpenClipboard(NULL); // გავხსნათ კლიპბორდი
clip = GetClipboardData(CF_TEXT); //შევიტანოთ ტექსტი ცვლადში
CloseClipboard(); //დავხუროთ კლიპბორდი
string text; //შევქმნათ სტრინგ ცვლადი მარტივი მუშაობისთვის
text = (char*)clip; //გადავიყვანოთ კლიპბორდის ტექსტი სტრინგში
return text; //დავაბრუნოთ რეზულტატი
}
C++:
int main(){
string matchtext = "C.S.G Is Cool"; // ტექსტი რომელსაც ვეძებთ
while (true) { //უსასრულო ლუფი
string cliptext = getclipboard(); //ფუნციის რეზულტატი ცვლად cliptext-ში
if (cliptext == matchtext) { // თუ კლიპბორდის (დაკოპირებული ტესქტი) დაემთხვა ჩვენს მიერ შერჩეულ სტრინგს
toClipboard("C.S.G Is Awesome"); // შევცვალოთ ტექსტი კიპბორდზე
}
Sleep(300); //იმისთვის რომ კომპიუტერი ძალიან არ დაიტვირთოს კოდმა ყოველი დამთხვევის ძებნამდე დაისვენოს 0.3 წამით
}
}
C++:
#include <string> //სტრინგების ბიბლოთეკა
#include "windows.h" //ვინდოუსის ბიბლიოთეკა (რათა მივიღოთ წვდომა კლიპბორდზე)
#include <iostream>; //Input Output ბიბლიოთეკა ტერმინალში ტექსტის დასაბეჭდად
//და აქვე შევამოკლოთ std
using namespace std;
void toClipboard(const string &s){ //ფუნქცია რომელიც სტრინგს შეიტანს კლიპბორდში
OpenClipboard(0); //გავხსნათ კლიპბორდი
EmptyClipboard(); // გავასუფთაოთ კონტენტი
HGLOBAL hg=GlobalAlloc(GMEM_MOVEABLE,s.size()+1); // მოვახდინოთ სტრინგის სიგრძის ალოკაცია (+1 იმიტომ რომ კოდი თვლას იწყებს ნოლიდან)
if (!hg){
CloseClipboard(); // დავხუროთ კლიპბორდი წარუმატებელი ალოკაციის შემთხვევაში
return;
}
memcpy(GlobalLock(hg),s.c_str(),s.size()+1); // გადავიტანოთ ტექსტი ოპერატიულ მეხსიეირებაში
GlobalUnlock(hg); // მოვხსნათ ბლოკი ოპერატიულ მეხსიეირებაში გადატანილ ტექსტს
SetClipboardData(CF_TEXT,hg); //შევიტანოთ კლიპბორდზე ტექსტი
CloseClipboard(); //დავხუროთ კლიპბორდი
GlobalFree(hg); // გავათავისუფლოთ ოპერატიული მეხსიეირება
}
string getclipboard() {
HANDLE clip; // გავხსნათ კლიპბორდისთვის ჰენდლი
OpenClipboard(NULL); // გავხსნათ კლიპბორდი
clip = GetClipboardData(CF_TEXT); //შევიტანოთ ტექსტი ცვლადში
CloseClipboard(); //დავხუროთ კლიპბორდი
string text; //შევქმნათ სტრინგ ცვლადი მარტივი მუშაობისთვის
text = (char*)clip; //გადავიყვანოთ კლიპბორდის ტექსტი სტრინგში
return text; //დავაბრუნოთ რეზულტატი
}
int main(){
string matchtext = "C.S.G Is Cool"; // ტექსტი რომელსაც ვეძებთ
while (true) { //უსასრულო ლუფი
string cliptext = getclipboard(); //ფუნციის რეზულტატი ცვლად cliptext-ში
if (cliptext == matchtext) { // თუ კლიპბორდის (დაკოპირებული ტესქტი) დაემთხვა ჩვენს მიერ შერჩეულ სტრინგს
toClipboard("C.S.G Is Awesome"); // შევცვალოთ ტექსტი კიპბორდზე
}
Sleep(300); //იმისთვის რომ კომპიუტერი ძალიან არ დაიტვირთოს კოდმა ყოველი დამთხვევის ძებნამდე დაისვენოს 0.3 წამით
}
}
თუკი თქვენ დააკოპირებთ ტესტქს -> C.S.G Is Cool -ს მაშინ თქვენი დაკოპირებული ტექსტი მაშინვე შიეცვლება C.S.G Is Awesome-ზე
გაუშვით კოდი და გატესტეთ
გაითვალისწინთ რომ ფორუმი არარის პასუხისმგებელი თქვენს ნებისმიერ დანაშაულზე!
გისურვებთ წარმატებას. პატივისცემით Z3R0 ♥
Last edited: