全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1539
推到 Plurk!
推到 Facebook!

在其他程式load user32.dll 問題

答題得分者是:kuf41
agerchen
一般會員


發表:8
回覆:6
積分:2
註冊:2006-12-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-09 13:44:16 IP:122.117.xxx.xxx 訂閱
我參考了 Skyer 大大發表過的一篇文章
原文是 CreateRemoteThread 教學 XD delphi.ktop.com.tw/board.php

大部份都是參照自該大作,主要修改的是叫用的function ,Skyer 大大叫用的是 messagebox ,我想叫的是 postmessageA。
還有Skyer 大大是用 createremotethread 的方式去執行,我是直接修改 opcode 跳到我的程式,之後再跳回的方式。
(後面的方式也是參考自 Skyer 大大的 masm 源碼修改來的)


插入的程式碼如下
[code delphi]
procedure packspy(callparam:PCallParam); stdcall;
type
LoadLibraryFunc = function(lib: PChar): DWORD; stdcall;
GetProcAddressFunc = function(lib: DWORD; name: PChar): DWORD; stdcall;
// MessageBoxFunc = function(handle: DWORD; msg, title: PChar; flag: DWORD): DWORD; stdcall;
PostMessageFunc=function(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall;
var
pack_address: dword;
mbuffer: array [0..59] of byte;
headbyte: byte;
FHandle: longword;
p: pointer;
myLoad: LoadLibraryFunc;
myGetProc: GetProcAddressFunc;
myPost: PostMessageFunc;
hlib: DWORD;
begin
//先取ecx buffer
asm
pushad
pushfd
mov pack_address, ecx
end;
headbyte:=byte(pointer(pack_address)^);
if (headbyte=$50) or (headbyte=$60) or (headbyte=$80) then
begin
myLoad := LoadLibraryFunc(callparam^.general_use1);
myGetProc := GetProcAddressFunc(callparam^.general_use2);

// hlib := myLoad(@callparam^.general_str[0]); <-- 這行一執行就出錯
// myPost:=PostMessageFunc(myGetProc(hlib, @callparam^.general_str2[0]));
// mypost(hwnd(callparam^.general_use3),LINE_MSG,0,0);
end;
asm
popfd
popad
sub eax,ecx
lea edi,[esi $28]
push eax
push ecx
mov eax,CONST_JMP_BACK
jmp eax
end;
end;
[/code]

出錯的是 myload(xxxxx); 這行,只要一執行,被插入程式就報 runtime library error,有大大知道這是怎麼回事嗎?
agerchen
一般會員


發表:8
回覆:6
積分:2
註冊:2006-12-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-06-10 02:19:14 IP:122.117.xxx.xxx 訂閱
此問題已解決。
我犯的錯誤是,我並不是用正常的方式進入注入的程式 (我是用 jmp 進去的),因此我的堆疊裏面並沒有我要的參數,解決方法就是我自已 push 參數的指標,取得之後,後面就都正常了。
agerchen
一般會員


發表:8
回覆:6
積分:2
註冊:2006-12-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-06-10 02:24:18 IP:122.117.xxx.xxx 訂閱
我沒辦法結案…
有人能回覆一下嗎?方便我來結案。
kuf41
中階會員


發表:14
回覆:45
積分:51
註冊:2006-12-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-06-10 09:05:53 IP:220.136.xxx.xxx 訂閱
CCC
------
一切都為了明天
系統時間:2024-04-19 13:16:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!