banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thủ thuật reverse engineering Làm sao để exe file không gọi một thư viện dll?  XML
  [Question]   Làm sao để exe file không gọi một thư viện dll? 01/06/2012 09:42:33 (+0700) | #1 | 264377
longtran295
Member

[Minus]    0    [Plus]
Joined: 12/07/2011 00:54:49
Messages: 5
Offline
[Profile] [PM]
Mình lại hỏi về vấn đề này: làm thế nào để chương trình chính bỏ gọi một file dll - file dll này riêng, không phải của máy và không phát sinh lối khi bỏ gọi. Một hướng khác là chỉnh sửa file dll cho nó không thực hiện thao tác gì - gọi xong trả về chương trình chính luôn, thì làm cách nào?

Mình ko chuyên IT nên các bạn phân tích rõ dùm mình nhé.
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 01/06/2012 10:30:37 (+0700) | #2 | 264382
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]
Bạn đã không chuyên về IT, mà vấn đề này thuộc vấn đề chuyên môn thì có phân thích bạn cũng có hiểu đâu, như vậy mất công cho người phân thích và mất công cho người không biết gì cố gắng nắm bắt ?. Bạn bỏ thời gian học về RCE và sử dụng thuần thục một tool debug mọi chuyện sẽ sáng tỏ, còn bây giờ nói với bạn chẳng khác giải thích cho người mù, biết về màu trắng của sửa.
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 01/06/2012 11:02:07 (+0700) | #3 | 264386
longtran295
Member

[Minus]    0    [Plus]
Joined: 12/07/2011 00:54:49
Messages: 5
Offline
[Profile] [PM]
^
Thank bạn góp ý. RCE mình biết không nhiều nhưng ko phải không biết gì, mình cũng sử dụng Olly debug nhưng cũng chưa đạt đến mức thần thánh như bạn nói. Mình chỉ cần hướng giải quyết căn bản, với mỗi mức đô sẽ có cách hướng dẫn khác nhau, thêm vào đó mình tự tìm hiểu thêm những phần còn thiếu của bản thân, đó là cách học hỏi của mình.

Mong mọi người giúp đỡ smilie
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 01/06/2012 11:36:58 (+0700) | #4 | 264389
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

longtran295 wrote:
Thank bạn góp ý. RCE mình biết không nhiều nhưng ko phải không biết gì, mình cũng sử dụng Olly debug nhưng cũng chưa đạt đến mức thần thánh như bạn nói. 


Mình nói chổ nào ? Bạn chỉ chổ mình nói thần thánh ra.

Học RCE rồi vậy đoạn này bạn hiểu không ?
Code:
#include <windows.h>


int WINAPI WinMain (HINSTANCE hThisInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpszArgument,
                     int nCmdShow)
{
  MessageBoxA(0,"Info","Title",0);
  return 0;
}

Và:
Code:
00401318  /$ 55             PUSH EBP
00401319  |. 89E5           MOV EBP,ESP
0040131B  |. 83EC 18        SUB ESP,18
0040131E  |. C74424 0C 0000>MOV DWORD PTR SS:[ESP+C],0               ; |
00401326  |. C74424 08 2430>MOV DWORD PTR SS:[ESP+8],Test2.00403024  ; |ASCII "Title"
0040132E  |. C74424 04 2A30>MOV DWORD PTR SS:[ESP+4],Test2.0040302A  ; |ASCII "Info"
00401336  |. C70424 0000000>MOV DWORD PTR SS:[ESP],0                 ; |
0040133D  |. E8 0A000000    CALL <JMP.&USER32.MessageBoxA>           ; \MessageBoxA
00401342  |. 83EC 10        SUB ESP,10
00401345  |. 31C0           XOR EAX,EAX
00401347  |. C9             LEAVE
00401348  \. C2 1000        RETN 10


Nếu hiểu nói chuyện tiếp.

@nói riêng: tớ mới học RCE thôi.
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 01/06/2012 11:56:57 (+0700) | #5 | 264391
n2tforever
Member

[Minus]    0    [Plus]
Joined: 01/07/2011 15:39:51
Messages: 92
Offline
[Profile] [PM]
có thể edit lại IMAGE_IMPORT_DESCRIPTOR trong PE header nếu nó là autoload hoặc nop lệnh gọi hàm loadLibraryA khi manual load, nhưng thường thì khi import một dll tất yếu nó sẽ xử dụng các hàm cung cấp trong đó việc bác làm thế này sẽ dẫn đến lỗi khi chạy. Xin cho em hỏi làm sao bác biết nó không bị lỗi thế smilie
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 04/06/2012 12:06:13 (+0700) | #6 | 264606
xBoyx
Member

[Minus]    0    [Plus]
Joined: 04/12/2010 08:58:30
Messages: 37
Offline
[Profile] [PM]
Các bạn cho mình hỏi RCE là viết tắt của cụm từ gì vậy? Mình chỉ biết mỗi cụm RCA là Rồng Châu Á thôi.
Cảm ơn nhiều.
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 04/06/2012 16:07:42 (+0700) | #7 | 264626
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

xBoyx wrote:
Các bạn cho mình hỏi RCE là viết tắt của cụm từ gì vậy? Mình chỉ biết mỗi cụm RCA là Rồng Châu Á thôi.
Cảm ơn nhiều. 


RCE theo định nghĩa của anh TQNRỜ XXX EM smilie .
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 05/06/2012 21:22:04 (+0700) | #8 | 264713
xBoyx
Member

[Minus]    0    [Plus]
Joined: 04/12/2010 08:58:30
Messages: 37
Offline
[Profile] [PM]
Em hỏi thiệt mà anh. Ai biết trả lời dùm em đi ạ
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 06/06/2012 09:20:39 (+0700) | #9 | 264736
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

xBoyx wrote:
Em hỏi thiệt mà anh. Ai biết trả lời dùm em đi ạ 

Reverse code engineering
Khoảng 81.800.000 kết quả (0,17 giây)
http://bit.ly/NgjsDJ
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 14/06/2012 11:46:46 (+0700) | #10 | 265187
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 11:10:58 (+0700) | #11 | 265214
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 


Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào.
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 14:50:01 (+0700) | #12 | 265219
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]

chiro8x-c wrote:

Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào. 


à, không phaỏi winxp, mà là win2k trở lên.

Không có time để chứng minh đâu, tự tìm giùm mình nhá
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 14:53:08 (+0700) | #13 | 265221
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]
biết syscall không, hahaha, không cần bất cứ dll nào à, kể cả syscall cũng gọi mà... tới khi nào tìm được cách nào mà không sử dụng syscall để I/O(API) đi rồi nói nhá( không chơi DOS)
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 15:29:40 (+0700) | #14 | 265222
so61pi
Member

[Minus]    0    [Plus]
Joined: 05/03/2009 22:24:36
Messages: 26
Location: nowhere
Offline
[Profile] [PM] [Yahoo!]

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 

Cái phần 3 chấm (...) ấy là gồm những gì vậy bạn?

chiro8x wrote:
Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào

Cái này mình chưa thấy, mình nghĩ vẫn phải gọi các hàm API bằng 1 cách nào đó.

MinhHung1122 wrote:
biết syscall không, hahaha, không cần bất cứ dll nào à, kể cả syscall cũng gọi mà... tới khi nào tìm được cách nào mà không sử dụng syscall để I/O(API) đi rồi nói nhá( không chơi DOS) 

IO thì liên quan gì ở đây nhỉ?
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 16:27:20 (+0700) | #15 | 265228
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]
Chà mình quên nói rõ là mình sử dụng phương pháp để truy ngược về điểm mà kernell32 được nạp (sau đó tìm LoadLibraryA và GetProcAddress) khi sử dụng Dependency Walker sẽ không thấy thư viện nào "được gọi", chứ không "tự động load" như bạn MinhHung1122 (kute pro) nói.

MinhHung1122 wrote:

biết syscall không, hahaha, không cần bất cứ dll nào à, kể cả syscall cũng gọi mà... tới khi nào tìm được cách nào mà không sử dụng syscall để I/O(API) đi rồi nói nhá( không chơi DOS)
 


Dạ em chưa biết ! anh chỉ em, em ngu mong được dạy bảo.
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 15/06/2012 17:07:03 (+0700) | #16 | 265229
tieucuong
Member

[Minus]    0    [Plus]
Joined: 15/04/2012 11:05:48
Messages: 3
Offline
[Profile] [PM]
Anh chiro có phân biệt được giữa được gọi / nạp với sử dụng không, khi nào mà chương trình của anh giao tiếp trực tiếp với phần cứng không cần hdh thì nó mới không sửa dụng thư viện của người khác.
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 16/06/2012 13:08:44 (+0700) | #17 | 265253
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]

so61pi wrote:

Cái phần 3 chấm (...) ấy là gồm những gì vậy bạn?
 

có rất nhiều,có 1 số nó không hiện lên, có một số sử dụng các chương trình thì ta thấy nó, nhưng một số không thể thấy... hal.dll chẳng hạn

so61pi wrote:
IO thì liên quan gì ở đây nhỉ? 

để xử lý thì cần IO, kể cả message thì cũng IO đấy thôi, IO ra màng hình đấy, hay read/write... tất cả điều phải IO
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 16/06/2012 18:00:18 (+0700) | #18 | 265262
so61pi
Member

[Minus]    0    [Plus]
Joined: 05/03/2009 22:24:36
Messages: 26
Location: nowhere
Offline
[Profile] [PM] [Yahoo!]

MinhHung1122 wrote:
có rất nhiều,có 1 số nó không hiện lên, có một số sử dụng các chương trình thì ta thấy nó, nhưng một số không thể thấy... hal.dll chẳng hạn 

Xem bằng Process Explorer process explorer.exe, unikeynt.exe nhưng không thấy hal.dll xuất hiện, có gì sai chăng.

MinhHung1122 wrote:
để xử lý thì cần IO, kể cả message thì cũng IO đấy thôi, IO ra màng hình đấy, hay read/write... tất cả điều phải IO 

Cái này thì dễ thấy rồi, nhưng nó liên quan gì tới việc "Làm sao để exe file không gọi một thư viện dll?" ?
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 16/06/2012 19:49:28 (+0700) | #19 | 265265
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 

Hahaha. smilie Buồn cười quá. Thử xem cái Hello world này đi, nó chỉ import kernel32.dll với user32.dll thôi, còn cái ntdll.dll ở đâu rồi? (Tất nhiên những cái trong dấu ... nữa.)
http://www.mediafire.com/?nll1d3o4ix3achr

so61pi wrote:

chiro8x wrote:
Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào

Cái này mình chưa thấy, mình nghĩ vẫn phải gọi các hàm API bằng 1 cách nào đó.
 

Em thấy VC++ luôn phải dùng kernel32.dll để dùng cho các hàm môi trường, nhưng ko rõ các chương trình khác thì sao.
Life in God Mode
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 17/06/2012 08:39:21 (+0700) | #20 | 265275
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]

xwhitelight wrote:

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 

Hahaha. smilie Buồn cười quá. Thử xem cái Hello world này đi, nó chỉ import kernel32.dll với user32.dll thôi, còn cái ntdll.dll ở đâu rồi? (Tất nhiên những cái trong dấu ... nữa.)
http://www.mediafire.com/?nll1d3o4ix3achr
Em thấy VC++ luôn phải dùng kernel32.dll để dùng cho các hàm môi trường, nhưng ko rõ các chương trình khác thì sao. 


Nản
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 17/06/2012 08:43:37 (+0700) | #21 | 265276
MinhHung1122
Member

[Minus]    0    [Plus]
Joined: 03/03/2011 21:23:36
Messages: 9
Offline
[Profile] [PM]

so61pi wrote:

MinhHung1122 wrote:
có rất nhiều,có 1 số nó không hiện lên, có một số sử dụng các chương trình thì ta thấy nó, nhưng một số không thể thấy... hal.dll chẳng hạn 

Xem bằng Process Explorer process explorer.exe, unikeynt.exe nhưng không thấy hal.dll xuất hiện, có gì sai chăng.
 


nó nằm ở address lớn hơn 0x80000000, đương nhiên là không đọc được cái j ở đó, nhưng nó đã nằm ở đó, có nhiều cái k nhìn thấy được đâu.

- Sau mình nói cái j cũng có người phản bác thế, sao k xem người khác nói cái j rồi phản bác lại-> cái này người ta gọi là j nhỉ...
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 19/06/2012 17:06:56 (+0700) | #22 | 265279
[Avatar]
.lht.
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 10:06:38
Messages: 75
Location: Inside you
Offline
[Profile] [PM]
Ớ .... cho mình thắc mắc bạn chút smilie

Thế sau khi gọi API qua "syscall/sysenter" như ý 1 số bạn thì theo bạn là nó không gọi vào ntoskrnl.exe à ? smilie

1 khi đã sử dụng API từ 1 "nguồn khác" là bạn đã "sử dụng thư viện" nào rồi nhé. smilie

Tuy nhiên mình không có ý nói là "không có cách nào để tạo 1 chương trình không sử dụng bất kì thư viện nào".
Trash from trash is the place for new good things ~
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 23/06/2012 07:27:07 (+0700) | #23 | 265468
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]
@MinhHung1122: OK, tớ hiểu ý cậu rồi. Có lẽ là cậu nói đúng rồi. Nhưng chỉ có kernel32.dll và ntdll.dll thôi, ko có dấu ba chấm đâu.
Life in God Mode
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 23/06/2012 10:39:19 (+0700) | #24 | 265475
[Avatar]
bolzano_1989
Journalist

[Minus]    0    [Plus]
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
[Profile] [PM]

chiro8x wrote:

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 


Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào. 


chiro8x wrote:
Chà mình quên nói rõ là mình sử dụng phương pháp để truy ngược về điểm mà kernell32 được nạp (sau đó tìm LoadLibraryA và GetProcAddress) khi sử dụng Dependency Walker sẽ không thấy thư viện nào "được gọi", chứ không "tự động load" như bạn MinhHung1122 (kute pro) nói.

MinhHung1122 wrote:

biết syscall không, hahaha, không cần bất cứ dll nào à, kể cả syscall cũng gọi mà... tới khi nào tìm được cách nào mà không sử dụng syscall để I/O(API) đi rồi nói nhá( không chơi DOS)
 


Dạ em chưa biết ! anh chỉ em, em ngu mong được dạy bảo. 


Bạn chiro8x cho tui xem thử file .exe của bạn với smilie .
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 23/06/2012 21:43:26 (+0700) | #25 | 265495
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

bolzano_1989 wrote:

chiro8x wrote:

MinhHung1122 wrote:
không bao giờ có chuyện này xảy ra, vì từ winxp trở đi thì mọi ứng dụng chạy trên windows thì các thư viện kernel32.dll, ntdll.dll,... sẽ tự động load vào chương trình 


Bạn chắc rằng bạn nói đúng chứ ? Tài liệu kỹ thuật nào cho phép bản khẳng định hùng hồn vậy. Bạn hoàn toàn có thể viết chương trình không sử dụng bất cứ một thư viện nào. 


chiro8x wrote:
Chà mình quên nói rõ là mình sử dụng phương pháp để truy ngược về điểm mà kernell32 được nạp (sau đó tìm LoadLibraryA và GetProcAddress) khi sử dụng Dependency Walker sẽ không thấy thư viện nào "được gọi", chứ không "tự động load" như bạn MinhHung1122 (kute pro) nói.

MinhHung1122 wrote:

biết syscall không, hahaha, không cần bất cứ dll nào à, kể cả syscall cũng gọi mà... tới khi nào tìm được cách nào mà không sử dụng syscall để I/O(API) đi rồi nói nhá( không chơi DOS)
 


Dạ em chưa biết ! anh chỉ em, em ngu mong được dạy bảo. 


Bạn chiro8x cho tui xem thử file .exe của bạn với smilie


Đang tính viết lại đây ! mà lười quá ! giờ lại cài window à =.=! hồi trước mình viết trên windows xp sp2. Compile với TASM32.
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 23/06/2012 22:52:23 (+0700) | #26 | 265496
versac
Member

[Minus]    0    [Plus]
Joined: 09/04/2010 08:30:44
Messages: 25
Offline
[Profile] [PM]
Thùng rỗng kêu to smilie
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 24/06/2012 03:12:10 (+0700) | #27 | 265497
[Avatar]
bolzano_1989
Journalist

[Minus]    0    [Plus]
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
[Profile] [PM]

chiro8x wrote:

Đang tính viết lại đây ! mà lười quá ! giờ lại cài window à =.=! hồi trước mình viết trên windows xp sp2. Compile với TASM32. 


Vui cho bớt căng thẳng ở topic này chút thôi chiro8x không cần cài Windows đâu smilie , mình đã tạo được một file .exe như bạn chiro8x miêu tả bằng NASM, khi chạy sẽ tạo một message box, nếu dùng Dependency Walker thì sẽ không thấy User32.dll cũng như bất cứ thư viện liên kết động nào khác được import nhưng khi chạy file .exe trong Windows, nếu xem bằng Process Explorer của Sysinternals thì sẽ thấy các DLL này (User32.dll, kernel32.dll,...) được ánh xạ vào không gian địa chỉ của chương trình đang chạy. Mình cũng phải tìm địa chỉ cơ sở của DLL nếu theo đường này.
=> confirm ý của chiro8x.

Bạn MinhHung1122 hình như bị lạc đề khi đề cập về kernel32.dll, ntdll.dll do chủ topic đã ghi rõ "file dll này riêng, không phải của máy".

Quay lại câu hỏi của chủ topic là "làm thế nào để chương trình chính bỏ gọi một file dll - file dll này riêng, không phải của máy và không phát sinh lối khi bỏ gọi", theo ý của mình bạn có thể xóa cấu trúc IMAGE_IMPORT_DESCRIPTOR (của DLL được gọi) trong Import Directory và để không gặp lỗi bạn có thể xóa các lệnh gọi hàm được import từ DLL trên trong file .exe. Nhưng như vậy vẫn có thể gặp các lỗi nội tại khác của chương trình do bạn đã patch các lời gọi hàm trên, bạn cần tiếp tục điều chỉnh.

Mình thấy nếu bạn chủ topic không tìm hiểu chuyên sâu về mảng này thì bạn chắc chắn không làm được đâu, cũng không có ai chỉ rõ tường tận cho bạn như bạn đề nghị "phân tích rõ" được. Đã vào Reverse Code Engineering thì không thể lấy lý do "không chuyên IT" để lười tự thân tìm hiểu được smilie .
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 24/06/2012 09:04:41 (+0700) | #28 | 265500
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]
@bolzano_1989: Cậu viết trên windows 7 à ? máy tớ không đủ cấu hình để cài cái đó nên chuyển qua dùng Ubuntu lâu rồi. Haizz chuyện của tớ mà lại phiền cậu nhiều thật thất lễ. Tớ nhớ không lầm thì khi dùng ollydbg thì bên cạnh phần comment của nó vẫn hiện ra tên của API cậu sử dụng, chẳng hạn MessageBoxA, LoadLibraryA,Exitprocess,...
while(1){}
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 04/07/2012 08:04:00 (+0700) | #29 | 266072
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Có thể tìm hiểu về thêm Steath API ở trang này http://syprog.blogspot.com/2011/10/stealth-import-of-windows-api.html

p/s: blogspot.com hiện tại không truy cập được ở VN, các bạn dùng Tor Proxy hay các trang Web Proxy để vào nhé smilie
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Làm sao để exe file không gọi một thư viện dll? 04/07/2012 08:33:38 (+0700) | #30 | 266077
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Có đi đâu, đi đằng nào đi nữa thì kernel32 và ntdll.dll cũng phải được Win load lên. Không có các API của nó thì chạy bằng cái gì.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|