改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼

 新聞資訊2  |   2023-08-10 09:45  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼,自動(dòng)輸入密碼的知識(shí),也有很多人為大家解答關(guān)于改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼的問題,今天pos機(jī)之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!

本文目錄一覽:

1、改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼

改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼

本人從事在線教育c++十年工作經(jīng)驗(yàn)現(xiàn)在精心整理了一套從小白到項(xiàng)目實(shí)踐開發(fā)各種學(xué)習(xí)資料如果你想學(xué)想加入我們請(qǐng)關(guān)注我在私信回復(fù)“編程”就可以領(lǐng)取學(xué)習(xí)資料??!

個(gè)人分類: c/c++

Lol(英雄聯(lián)盟)自動(dòng)輸入密碼

搞了一天,終于把程序?qū)懞昧耍院笤僖膊挥妹看味际謩?dòng)輸入密碼了。盡管不是很完美,但可用性還是有的。我還是太年輕了,剛開始以為只要找到了密碼框的句柄就搞定了,可找了許久仍然找不到。也許是我太年輕了,也許是Riot Games或者騰訊太牛逼了。最后只好用了穩(wěn)定性不是很好的方法:直接模擬鼠標(biāo)鍵盤輸入,之所以這么說,因?yàn)槲翌A(yù)測(cè)在很極端的情況,比如cpu比較繁忙的時(shí)候,在游戲輸入密碼界面獲得焦點(diǎn)之前,模擬鼠標(biāo)鍵盤的動(dòng)作就開始了,那么必然會(huì)失敗。還有就是焦點(diǎn)定位的問題,會(huì)因?yàn)轱@示屏的分辨率不同而不同,所以難免會(huì)出錯(cuò)。也許可以觀察幾種不同分辨率的顯示屏找到一個(gè)兼容的方法,但我懶得找,自己能用就好了。所以讀者如果想用的話,可以看下文,會(huì)有關(guān)于修改代碼的方法,。當(dāng)然也可以根據(jù)代碼各種改,改成方便自己使用的程序。

下面介紹一下程序用法吧。主要有兩個(gè)文件,主程序lol.exe和密碼記錄文件lol.ini。把這兩個(gè)文件放到 英雄聯(lián)盟\\TCLS 的文件夾下,即Client.exe所在目錄。想方便點(diǎn)呢,可以給lol.exe創(chuàng)建一個(gè)快捷方式,再移動(dòng)快捷方式到桌面,或者寫個(gè)啟動(dòng)lol.exe的bat放到桌面也可以。打開lol.exe有兩個(gè)選項(xiàng),第一是設(shè)定密碼,第二是在英雄聯(lián)盟進(jìn)入了輸入賬號(hào)密碼界面后可以自動(dòng)輸入密碼。當(dāng)然第一次使用該程序是需要設(shè)定密碼的,以后就不需要,除非更改密碼。對(duì)于管理員身份登錄windows的用戶(大多數(shù)人都是這樣子),lol.exe發(fā)現(xiàn)英雄聯(lián)盟還沒有啟動(dòng)會(huì)自動(dòng)自動(dòng)英雄聯(lián)盟的。而我一般是用標(biāo)準(zhǔn)用戶(即非管理員),由于英雄聯(lián)盟是要在管理員身份運(yùn)行才可以玩的,因此要用其他方法。我目前就是在英雄聯(lián)盟\\TCLS 的文件夾創(chuàng)建一個(gè)bat,里面的內(nèi)容是

runas /savecred /user:liulian Client.exe

lol.exe

就是先啟動(dòng)Client.exe,再自動(dòng)lol.exe。然后給該bat創(chuàng)建一個(gè)快捷方式,放到桌面。

下面闡述一下原理吧。第一次使用該程序需要設(shè)定密碼,設(shè)定密碼后密碼經(jīng)過某種方法加密后存放到lol.ini文件中,本來想rsa算法加密一下,想到最近比較忙,算了,只好自己隨便想了個(gè)算法加密,只要不會(huì)直接暴露密碼就好了。每次自動(dòng)輸入密碼,都是從lol.ini讀出密碼,解密后,再模擬鼠標(biāo)鍵盤動(dòng)作輸入。每一次先將鼠標(biāo)定位到下圖的右下角的地方,在模擬鼠標(biāo)點(diǎn)擊事件,這樣就讓密碼框獲得鍵盤輸入焦點(diǎn)了。最后就是根據(jù)密碼,模擬鍵盤按鍵了。這方法兼容性就不是很好了,因?yàn)槌绦蛑形沂歉鶕?jù)像素坐標(biāo)定位的。

在sendPswd函數(shù)中有這么一句

SetCursorPos(1012+origin.left,395+origin.top);

其中1012和395是上面那張圖的寬和高,origin是上面的圖的左上角的坐標(biāo)點(diǎn),這句話的意思就是講鼠標(biāo)定位到圖中右下角的地方,即密碼框中的一點(diǎn)。對(duì)于不同分辨率的顯示屏,需要改動(dòng)一下。

下面是代碼:

#include <cstdio>

#include <iostream>

#include <windows.h>

#include <cstring>

#include <process.h>

enum Option{setPassword =1,sendPassword = 2};

Option opt ;

#define maxLen 88

#define keyLen 8

int key[]={0,9,3,8,8,2,9,6};//奇怪用數(shù)字就不會(huì)出錯(cuò)啊

LPCTSTR appName = "lol";

LPCTSTR keyName = "pwd";

//LPCTSTR value = "";

LPCTSTR iniFileName ="lol.ini";//<windows.h>

char fullPathName[maxLen];

HWND self;

char encodedPswd[maxLen];

char decodedPswd[maxLen];

extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();

int main()

{

void init();

void showOption();

void setPswd();

void readPswd();

void decodePswd();

void sendPswd();

void close();

init();

int option = -1;

showOption();

while (opt == setPassword)

{

setPswd();

showOption();

}

readPswd();

decodePswd();

sendPswd();

close();

// system("pause");

return 0;

}

void printLine()

{

printf("-----------");

}

void waitForInput()

{

printLine();

printf(">");

}

unsigned int WINAPI getFocus(void*)

{

for(;;)

{

Sleep(1000);

SetForegroundWindow(self);

}

}

void init()

{

GetCurrentdirectory(maxLen,fullPathName);

strcat(fullPathName,"\\\\");

strcat(fullPathName,iniFileName);

self =GetConsoleWindow();

//SetForegroundWindow(self);

SetWindowPos(self,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);

_beginthreadex(NULL,0,getFocus,NULL,0,NULL);

}

void showOption()

{

printLine();

printf("1 要設(shè)定密碼請(qǐng)輸入1,再按回車");

printLine(); printf("\");

printLine();

printf("2 要自動(dòng)輸入lol密碼,請(qǐng)直接按回車(確保進(jìn)入了輸入密碼畫面)");

printLine(); printf("\");

char ch;

waitForInput();

ch = getchar();

switch(ch)

{

case \'1\':

opt = setPassword;

break;

case \'\\':

opt = sendPassword;//printf("enter");

break;

default:

exit(1);

}

}

void encodePswd()

{

// strcpy(encodedPswd,decodedPswd);//未加密,只是簡(jiǎn)單的拷貝

int i;

for( i=0;i<strlen(decodedPswd);i++)

{

encodedPswd[i] = decodedPswd[i] ^key[i%keyLen];

}

encodedPswd[i]=\'\\0\';

}

void writePswd()

{

encodePswd();

bool suc = WritePrivateProfileString(appName,keyName,encodedPswd,fullPathName);

// int error = GetLastError();

// printf("error:%d",error);

if (suc)

printf("設(shè)定成功\");

else printf("設(shè)置失敗\");

//終于知道為什么會(huì)拒絕訪問 了,注意是windows目錄需要權(quán)限,還有不是system32目錄哦

//lpFileName ----- String,初始化文件的名字。如果沒有指定完整路徑名,

// 則windows會(huì)在windows目錄查找文件。如果文件沒有找到,則函數(shù)會(huì)創(chuàng)建它

}

void setPswd()

{

printLine();

printf("請(qǐng)輸入密碼");

printLine();printf("\");

waitForInput();

scanf("%s",decodedPswd);

fflush(stdin);//清空輸入流,因?yàn)樯厦嬗昧薵etchar()

writePswd();

}

void decodePswd()

{

// strcpy(decodedPswd,encodedPswd);

int i;

for( i=0;i<strlen(encodedPswd);i++)

{

decodedPswd[i] = encodedPswd[i] ^key[i%keyLen];

}

decodedPswd[i]=\'\\0\';

}

void readPswd()

{

GetPrivateProfileString(appName,keyName,NULL,encodedPswd,maxLen,fullPathName);

decodePswd();

// printf("%s",decodedPswd);

}

void statrLol()

{

printLine();

printf("lol還沒啟動(dòng),自動(dòng)啟動(dòng)lol");

printLine();

printf("\");

char dir[maxLen];

GetCurrentDirectory(maxLen,dir);

strcat(dir,"\\\\");

strcat(dir,"Client.exe");

ShellExecute(NULL,"open",dir,NULL,NULL,SW_SHOWNORMAL);

printLine();

//使用系統(tǒng)自帶的 runas /savecred 選項(xiàng),第一次輸入密碼后,會(huì)保存憑據(jù)。

//特點(diǎn):無法限制能夠運(yùn)行的命令,安全性差。

printf("選擇服務(wù)器后,請(qǐng)按回車?yán)^續(xù)");

printLine();

printf("\");

getchar();

}

void inputUppercase(char upper)

{

keybd_event(VK_SHIFT, 0, 0 ,0);

keybd_event(upper, 0, 0 ,0);

keybd_event(upper, 0, KEYEVENTF_KEYUP ,0);

keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP ,0);

}

void sendPswd()

{

HWND lolWin = FindWindow(NULL,"英雄聯(lián)盟登錄程序");

while(lolWin == NULL)

{

statrLol();

lolWin = FindWindow(NULL,"英雄聯(lián)盟登錄程序");

}

SetForegroundWindow(lolWin);

RECT origin;

GetWindowRect(lolWin,&origin);

Sleep(500);

SetCursorPos(1012+origin.left,395+origin.top);

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

//用記事本做測(cè)試

//HWND npWnd=FindWindow( "notepad",NULL);

//HWND childWnd=FindWindowEx(npWnd, NULL, "Edit", NULL);

//SetForegroundWindow(npWnd);

int i;

char ch;

for(i=0;i<strlen(decodedPswd);i++)

{

if(decodedPswd[i]>=\'a\'&&decodedPswd[i]<=\'z\')

ch = decodedPswd[i] - \'a\' +\'A\';//小寫

else if(decodedPswd[i]>=\'A\'&&decodedPswd[i]<=\'Z\')

{

inputUppercase(decodedPswd[i]); //uppercase

continue;

}

else ch = decodedPswd[i]; //digit number

keybd_event(ch, 0, 0 ,0);

keybd_event(ch, 0, KEYEVENTF_KEYUP ,0);

}

// HWND mfpa = FindWindowEx(lolWin,NULL,"MacromediaFlashPlayerActiveX",NULL);

// if(mfpa == NULL)

// printf("1 can\'t");

/*

HWND aaWin = FindWindowEx(mfpa,NULL,"AtlAxWin",NULL);

if(aaWin == NULL)

printf("2 can\'t");

HWND seWin = FindWindowEx(aaWin,NULL,"Shell Embedding",NULL);

if(seWin == NULL)

printf("3 can\'t");

HWND sdovWin = FindWindowEx(seWin,NULL,"Shell DocObject View",NULL);

if(sdovWin == NULL)

printf("4 can\'t");

HWND iesWin = FindWindowEx(sdovWin,NULL,"Internet Explorer_Server",NULL);

if(iesWin == NULL)

printf("5 can\'t");

*/

// HWND pwdWin = FindWindowEx(lolWin,NULL,"TWINCONTROL",NULL);

// SetForegroundWindow(lolWin);

// SendMessage(mfpa,EM_REPLACESEL, 0,(LPARAM)decodedPswd);

// HWND pwdWin = FindWindowEx(lolWin,NULL,"TWINCONTROL",NULL);

// HWND pwdWin = FindWindowEx(lolWin,NULL,"AtlAxWin",NULL);

// if(pwdWin == NULL)

// printf("can\'t");

}

void close()

{}

本人從事在線教育c++十年工作經(jīng)驗(yàn)現(xiàn)在精心整理了一套從小白到項(xiàng)目實(shí)踐開發(fā)各種學(xué)習(xí)資料如果你想學(xué)想加入我們請(qǐng)關(guān)注我在私信回復(fù)“編程”就可以領(lǐng)取學(xué)習(xí)資料?。?!

以上就是關(guān)于改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼,自動(dòng)輸入密碼的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于改裝pos機(jī)自動(dòng)發(fā)卡號(hào)密碼的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請(qǐng)帶上網(wǎng)址:http://www.tjfsxbj.com/newsone/96647.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。