国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
[原創] 阿里通自動撥號、瞬間掛斷實現

作者: vcvycy  日期:2017-05-12 11:00:13   來源: 本站整理


用于整人用的,立刻掛斷時阿里通不收費。
流程:寫程序向客戶端發送消息,實現撥號功能;修改客戶端,方便我們的程序獲知對方正在響鈴,然后立刻掛斷。
一、文件脫殼       客戶端加了個ASPACK 2.12的殼
      (1)先清除ASLR標記(ASLR用于隨機程序載入基地址,最好先清除掉)
      (2)直接使用脫殼機脫殼。
二、自動撥號功能
      原理:自動撥號,很自然的思路就是把子窗體控件找出來,然后從外部發送消息過來,實現按鈕點擊。
      (1)原先的思路是使用spy++把子控件都找出來,但是分析發現阿里通使用了第三方UI庫(SOUI),SPY++什么都找不到。
 
     (2)那就直接調試——產生按鍵的消息找出來。
             直接拉入OD,直接在API DispatchMessage()中設置消息條件斷點,攔截單擊釋放事件。
             攔截條件為:[[esp+4]+4]==WM_LBUTTONUP,即左鍵單擊釋放事件。很快斷下來了?梢园l現這個UI庫是通過事件

發生時的坐標軸(即消息結構體的LPARAM)來辨別是哪個按鍵被單擊的,所以找到所有的數字按鍵的lparam參數,直接記錄

下來,之后只要發送WM_LBUTTONUP消息給主窗口,填充下lparam參數就行了,宏定義如下:

  • //找到的lparam參數如下
  • #define BTN_1 0x010d01d1
  • #define BTN_2 0x010d0221
  • #define BTN_3 0x010d0301
  • #define BTN_4 0x014d01d1
  • #define BTN_5 0x014d0221
  • #define BTN_6 0x014d0301
  • #define BTN_7 0x018d01d1
  • #define BTN_8 0x018d0267
  • #define BTN_9 0x018d0301
  • #define BTN_0 0x01bd0267
  • #define BTN_BACKSPACE 0x009c02f1             //回退按鈕
  • #define BTN_CALL 0x02320260                     //撥打按鈕
  • #define BTN_STOP 0x01db02c1                     //掛斷按鈕
  • #define BTN_DIAL_PAGE 0x00AB0024             //播放頁面


三、瞬間掛斷實現
      瞬間掛斷功能比較復雜。當響鈴時,可以看到的變化如下:(即中間的文字由"正在呼叫..." 變成 "正在響鈴...")      
          
一個想法是抓包分析,找到告訴客戶端對面正在響鈴的包,但是很快放棄了。這么多包,可能還加密了,很難分析。
             另一個想法就是,找到SOUI這個第三方UI設置TEXT文本的API,雖然對這個UI庫一點都不懂,但很容易猜到API的名

字應該帶有text。其dll文件為soui.dll,于是在od查找此模塊所有api,找到以下7個候選API:

  • 5440161B   .text      輸出         SOUI::CSimpleWnd::SetWindowTextW
  • 543CDC62   .text      輸出         SOUI::SComboBase::SetWindowTextW
  • 543E6759   .text      輸出         SOUI::SRichEdit::SetWindowTextW
  • 543FC984   .text      輸出         SOUI::SWindow::SetWindowTextW
  •  
  • 543CB871   .text      輸出         SOUI::SLink::DrawTextW
  • 543CB76A   .text      輸出         SOUI::SStatic::DrawTextW
  • 543FA10F   .text      輸出         SOUI::SWindow::DrawTextW


     全部設置斷點,然后撥打號碼測試。很快就發現SWindow::SetWindowTextW 斷點下"正在響鈴..."參數。 

   定位到關鍵API。現在的問題就是怎么告訴我們程序,已經開始響鈴了。     想法一:修改API,如果參數為"正在響鈴...",

就告訴我們程序開始響鈴了。(但是不知道修改DLL怎么保存)     想法二:查看調用這個API的主模塊語句。很幸運地發現,

調用次API的那個語句只用來傳遞"正在響鈴...",也就是不和其他語句混用。所以直接修改這里就行了。     原先的匯編語句為:

(我這邊主模塊基地址為0x008c0000,以下語句地址為0x008d80e4)

  • mov edx,dword ptr ds[ebx+0x30
  • push eax                                     //字符串"正在響鈴..."
  • call   edx                                     //調用SWindow::SetWindowText

     修改后為:
  • 地址008d80e4:(6個字節替換 )
  •   jmp 0x00af2610  
  •   nop
  •  
  • 地址:00af2610(原先為0填充區域)
  • pushad
  • mov edx,dword ptr ds:[ebx+0x30
  • push eax
  • inc [0xaf260c   //注意:此處我們設置一個疊加器表示是否已經響鈴了,我們程序再通過ReadProcessMemory定時讀取這個值
  • call  edx
  • popad
  • jmp 008d80ea //繼續原來的流程


  這樣程序就改好了.注意:上面我們使用0填充區域的4個字節,設置累加器,用于判斷響鈴是否發生(初始值為4,期間API執行兩次變成6,

為什么是不是一次我也不知道,但就是兩次,表示正在響鈴),我們程序讀取這個值(ReadProcessMemory)后,會再將其置4。
四、外部程序
       登錄上述修改后的客戶端,執行這個C++程序,傳入電話號碼,就會自動撥號了,響鈴瞬間自動掛斷)
      (使用修改后的阿里通客戶端,才可以實現自動掛斷功能。超過1MB好像沒辦法上傳)

  • #include<windows.h>
  • #include<stdio.h>
  •  
  • #define CNT_ADDR 0x00af260c
  • #define BTN_1 0x010d01d1
  • #define BTN_2 0x010d0221
  • #define BTN_3 0x010d0301
  • #define BTN_4 0x014d01d1
  • #define BTN_5 0x014d0221
  • #define BTN_6 0x014d0301
  • #define BTN_7 0x018d01d1
  • #define BTN_8 0x018d0267
  • #define BTN_9 0x018d0301
  • #define BTN_0 0x01bd0267
  • #define BTN_BACKSPACE 0x009c02f1
  • #define BTN_CALL 0x02320260
  • #define BTN_STOP 0x01db02c1
  • #define BTN_DIAL_PAGE 0x00AB0024
  • static int btn_pos[12]={BTN_0,BTN_1,BTN_2,BTN_3,BTN_4,BTN_5,BTN_6,BTN_7,BTN_8,BTN_9};
  • int read_count(HWND hwnd){ //讀取阿里通客戶端,我們設置的累加器。其初值為4。當其為6時(因為SWindow::SetWindowTest會執行兩次,
  • 我也不知道為什么兩次),表示正在響鈴
  •   int ret;
  •   DWORD pid;
  •   GetWindowThreadProcessId(hwnd,&pid);
  •   HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | 
  • PROCESS_VM_READ | PROCESS_VM_WRITE, 0, pid);
  •   if (hProcess==0){printf("OpenProcess失敗...\n");exit(-1);}
  •   DWORD bytes_read=0;
  •   bool bIsOk=ReadProcessMemory(hProcess,(LPCVOID)CNT_ADDR,(LPVOID)&ret,4,&bytes_read);
  •   if (!bIsOk || bytes_read!=4){
  •       printf("進程讀取失敗...ok=%d bytes_read=%d\n",bIsOk,bytes_read);
  •       exit(-1);
  •   }
  •   CloseHandle(hProcess);
  •   //printf("ret=%d\n",ret);
  •   return ret;
  • }
  • int reset_count(HWND hwnd){      //將累加器重置為0
  •   DWORD pid;
  •   GetWindowThreadProcessId(hwnd,&pid);
  •   HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_
  • VM_OPERATION | PROCESS_VM_READ | 
  • PROCESS_VM_WRITE, 0, pid);
  •   if (hProcess==0){printf("OpenProcess失敗...\n");exit(-1);}
  •  
  •   char data[4];data[0]=0x4;data[1]=0x0;data[2]=0;data[3]=0;
  •   //int *k=(int*)data;
  •   //printf("k=%x\n",*k);
  •   DWORD bytes_write;
  •   bool bIsOk=WriteProcessMemory(hProcess,(LPVOID)CNT_ADDR,data,4,&bytes_write);
  •   if (!bIsOk || bytes_write!=4){printf("進程寫入失敗...\n");exit(-1);}
  •   if (read_count(hwnd)!=4){
  •     printf("unknown error!\n");
  •   }
  •   CloseHandle(hProcess);
  •   return 0;
  • }
  • int waitForRing(HWND hwnd){   //等待"正在響鈴..."出現
  •   if (hwnd==0){printf("hwnd=0\n");exit(-1);}
  •     while (true){
  •       if (read_count(hwnd)==6){
  •         //printf("start ringing...!\n");
  •         reset_count(hwnd);
  •         break;
  •       }
  •       Sleep(100);
  •     }
  •   return 0;
  • }
  • class ALI{
  • public:
  •   HWND hwnd;
  •   int click(int pos){
  •     if (hwnd)SendMessage(hwnd,WM_LBUTTONUP,0,pos);
  •     else exit(-1);
  •     return 0;
  •   }
  •   int clear(){                                //清空電話欄
  •     for (int i=0;i<30;i++) {
  •       if (click(BTN_BACKSPACE)==-1)return -1;
  •     }
  •     return 0;
  •   }
  •   int call(char *phone){                       //發送消息自動按鍵,并撥號
  •     hwnd=FindWindow(0,"阿里通");
  •     //printf("hwnd=%x\n",hwnd);
  •     click(BTN_DIAL_PAGE);
  •     //exit(-2);
  •     clear();
  •     int len=strlen(phone);
  •     if (len>11 || len<8)return -1;
  •     for (int i=0;i<len;i++){
  •       click(btn_pos[phone[i]-'0']);
  •     }
  •     click(BTN_CALL);
  •     //printf("waitForRing...\n");
  •     waitForRing(hwnd);
  •  
  •     click(BTN_STOP);
  •     Sleep(5000);
  •     return 0;
  •   }
  • };
  •  
  • int main(int argc,char** argv){
  •   ALI ali;
  •   if (argc<2) return -1;
  •   ali.call(argv[1]);
  •   return 0;
  • }
  •  

捕獲.JPG (51.68 KB, 下載次數: 5)

捕獲.JPG

1.JPG (7.92 KB, 下載次數: 3)

1.JPG


熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    亚洲成a人v欧美综合天堂麻豆| 成人午夜视屏| 国产露脸91国语对白| 成人性生活免费看| 丝袜人妻一区二区三区| 91精品国产91久久久久青草| 中文字幕亚洲在线| 在线播放中文一区| 亚洲柠檬福利资源导航| 国产成人午夜片在线观看高清观看| 四季av一区二区三区免费观看 | 色视频免费网站| 国产成人精品一区二区无码呦| 朝桐光av在线| 亚洲黄色免费在线观看| 欧美性猛交久久久乱大交小说| 欧美日韩在线播放视频| 精品人人视频| 国产女人av| 伊人久久国产精品| 九九热只有精品| 欧美xxxx日本和非洲| av动漫在线播放| 日韩视频第一页| 777亚洲妇女| 欧美日韩精品在线视频| 亚洲黄色精品| 极品美女一区二区三区| 嫩呦国产一区二区三区av| 比比资源先锋| 免费国产高清| 亚欧精品一区二区三区| 国精产品一品二品国精品69xx | 国产高清视频免费在线观看| 北京富婆泄欲对白| 韩国三级hd中文字幕有哪些| 日本三级免费网站| 国产精品成人久久电影| 蜜桃网站在线观看| 热久久最新地址| 亚洲精品天堂成人片av在线播放 | 国产成人av网站| 国产九色精品成人porny| 久久久天天操| 日韩高清不卡一区| 精品福利在线| 性xxxxfreexxxxx欧美丶| 欧美videos另类精品| 久久青青色综合| 高清在线视频不卡| 91看片一区| 精品国产不卡一区二区| 国内精品国产成人国产三级粉色| 日韩一区二区三区色| 女人抽搐喷水高潮国产精品| 台湾色综合娱乐中文网| 日韩成人激情| 亚洲精品成人图区| 日本在线啊啊| 亚洲91在线| 国产精品乱战久久久| 亚洲福利网站| 66视频精品| 最新成人av网站| 久久av老司机精品网站导航| 国产suv一区二区三区88区| www国产精品av| 国产精品污www在线观看| 视频在线观看一区| 亚洲中字黄色| 国产在线播放一区三区四| 2欧美一区二区三区在线观看视频| 国产丝袜欧美中文另类| 五月天亚洲精品| 91精品欧美福利在线观看 | 亚洲激情中文字幕| 自拍偷拍亚洲欧美| 51午夜精品视频| 精品乱码一区| www.avtt| 国产人妻黑人一区二区三区| 婷婷久久综合网| 在线观看一二三区| 欧美性猛交99久久久久99| 久草在线免费二| www在线播放| 国产成人午夜性a一级毛片| 精品国产一区二区三区噜噜噜| 激情文学一区| 99久久夜色精品国产网站| 亚洲18色成人| 亚洲精品wwww| 国产成人aa精品一区在线播放| 免费精品视频一区二区三区| 欧美日韩黄色一级片| 久久午夜夜伦鲁鲁片| 国产又大又黄又粗| 小说区图片区综合久久亚洲| 女人被爽到呻吟gif动态图下载| 成人av影院在线观看| 亚洲伊人春色| 国产精品一级二级三级| 五月天亚洲精品| 中文字幕免费国产精品| 国产成人精品日本亚洲11 | 国产精品19p| 日本少妇bbwbbw精品| 亚洲男人天堂2017| 最新亚洲伊人网| 天天射天天拍| 激情成人四房播| 要久久爱电视剧全集完整观看| 秋霞午夜鲁丝一区二区老狼| 国产精品传媒入口麻豆| 亚洲第一av网站| 亚洲最大福利网站| www日韩在线观看| 国产一级特黄aaa大片| 免费国产高清| avtt在线播放| 亚洲区小说区| 成人黄色a**站在线观看| 69av一区二区三区| 欧洲日本亚洲国产区| www.欧美黄色| 182在线观看视频| 麻豆国产原创| 七七久久电影网| 欧美精品日本| 一区二区不卡在线视频 午夜欧美不卡在 | 91精品国产沙发| www.国产亚洲| 欧美日韩精品在线观看视频 | 69视频免费在线观看| 你懂的在线观看视频| av资源在线看片| 极品av少妇一区二区| 亚洲一区在线电影| 国内精品久久影院| 欧美日韩精品在线一区二区 | 五月婷婷综合在线观看| 熟妇人妻中文av无码| 国产亚洲精品拍拍拍拍拍| 日韩大片在线永久免费观看网站| 精品久久国产| 亚洲男人的天堂网| 欧美精品久久久久久久| 水蜜桃色314在线观看| 天天综合网入口| 看黄的a网站| 国产精品片aa在线观看| 成人欧美一区二区三区小说 | 精品国产无码一区二区三区| 在线国产中文字幕| 精品久久电影| 亚洲.国产.中文慕字在线| 国产成人精品久久久| 午夜性福利视频| 日韩在线第二页| 在线观看v片| 国产91综合网| 中日韩午夜理伦电影免费| 青青在线免费视频| 最近中文字幕在线观看| av在线首页| 日本视频一区二区| 精品视频在线播放色网色视频| 国产一级黄色录像片| 亚洲 小说区 图片区| 自拍视频在线| 91精品99| 制服丝袜在线91| 欧美日韩激情四射| 亚洲女人18毛片水真多| 国模冰冰炮一区二区| 国产欧美日韩综合精品一区二区| 68精品国产免费久久久久久婷婷| 亚洲网中文字幕| 欧美成人禁片在线www| 成人午夜888| 亚洲精品福利视频网站| 国产精品香蕉国产| 日韩一卡二卡在线观看| 中文字幕在线一二| 日韩和的一区二区| 最好看的2019年中文视频| 日韩av一卡二卡三卡| 一级做a爰片性色毛片视频| 欧美巨大xxxx| 一本到一区二区三区| 亚洲高清视频在线观看| 999在线观看| 免费a级毛片永久免费| 婷婷成人av| 亚洲综合一区在线| 免费一区二区三区| 亚洲性生活大片| 日韩欧美精品一区二区综合视频| 国产精品久久久久天堂| 国内外成人免费视频|