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 thuật toán gỡ chương trình  XML
  [Discussion]   thuật toán gỡ chương trình 14/07/2011 05:00:29 (+0700) | #1 | 243475
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
các anh cho em hỏi cái này.
em thấy một số chương trình có chức năng là xem một chương trình nào đó có cài đặt trên máy tính đó hay không nếu có thì gỡ và nếu không thì cài nó vào ví dụ như chương trình diệt vius chẳng hạn nếu nó thấy có chương trình virus khác thì nó tự gỡ thằng kia ra và cài nó vào.
em không hiểu cơ chế nó như thế nào mà nó làm được như vậy mong các anh chỉ bảo thêm
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 14/07/2011 17:45:03 (+0700) | #2 | 243530
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
Mỗi chương trình khi cài đặt vào máy nó đều có 1 UpgradeCode nhất định, không bao giờ thay đổi để hệ điều hành có thể nhận biết, quản lý,... và tiện lợi khi nâng cấp.
Để gỡ bỏ một chương trình khác thì chỉ cần có được UpgradeCode của nó và sau đó đơn giản gọi lệnh msiexec /x UpgradeCodeOfProgram là được. Còn cài đặt thì gọi msiexec /i FileSetupOfProgram. Muốn tìm hiểu kỹ hơn thì có thể tìm từ khoá "MSI", "WIX".
My website: http://rongchaua.net
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 14/07/2011 18:50:24 (+0700) | #3 | 243532
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]

rongchaua wrote:
Mỗi chương trình khi cài đặt vào máy nó đều có 1 UpgradeCode nhất định, không bao giờ thay đổi để hệ điều hành có thể nhận biết, quản lý,... và tiện lợi khi nâng cấp.
Để gỡ bỏ một chương trình khác thì chỉ cần có được UpgradeCode của nó và sau đó đơn giản gọi lệnh msiexec /x UpgradeCodeOfProgram là được. Còn cài đặt thì gọi msiexec /i FileSetupOfProgram. Muốn tìm hiểu kỹ hơn thì có thể tìm từ khoá "MSI", "WIX". 


trước tiên cho em xin cảm ơn anh đã trả lời bài viết của em.
nhưng cho em hỏi là anh dùng ngôn ngữ nào để gọi lệnh msiexec /x UpgradeCodeOfProgram?
em chỉ thích chuyên về vb.net còn C++ hay C# em không thông cho mấy.
liệu vb.net có msiexec /x UpgradeCodeOfProgram không anh?vì em học không thấy thầy nói hay là em học chưa tới em cũng không biết nữa.nhưng em phải xem thêm thông tin với các từ khoá anh gợi ý để em tìm hiếu thêm cảm ơn anh.
mong anh hồi âm
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 14:03:00 (+0700) | #4 | 243831
thinh191
Member

[Minus]    0    [Plus]
Joined: 25/08/2007 16:07:21
Messages: 13
Offline
[Profile] [PM]
Lệnh này chạy được ở phần windows / Run đó bạn
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 15:00:39 (+0700) | #5 | 243835
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
ý mình là muốn xây dựng một chương trình hẳn hoi giống như Cleaner vậy đó chỉ cần kích vào một Button là có thể gở bỏ chương trình đó

[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 15:14:31 (+0700) | #6 | 243837
thinh191
Member

[Minus]    0    [Plus]
Joined: 25/08/2007 16:07:21
Messages: 13
Offline
[Profile] [PM]
Một ví dụ về call command trong Vb
http://www.daniweb.com/software-development/vbnet/threads/84069
http://www.google.com.vn/search?ie=UTF-8&q=vb.net+call+command
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 15:23:03 (+0700) | #7 | 243838
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
hình như bạn hiểu sai ý mình thì phải đoạn code này

Code:
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
	Dim process As New Process
	With process
		With .StartInfo
			.FileName = "perl.exe"
			.Arguments = "filename.pl"
			.WorkingDirectory = "C:\Perl\eg"
		End With
		.Start()
	End With
    End Sub

là khi Form load lên sẻ gọi một chuơng trình khác chạy mà có nghĩa là khi mình đã biết một Filename và WorkingDirectory.
còn theo anh rongchaua thì mình phải xác đinh được cái này UpgradeCode
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 17:17:08 (+0700) | #8 | 243842
[Avatar]
quygia128
Member

[Minus]    0    [Plus]
Joined: 15/07/2009 20:50:28
Messages: 119
Location: Somewhere
Offline
[Profile] [PM] [WWW]
Em cũng muốn hỏi anh Rongchaua ở điểm này :
Filename và WorkingDirectory thì đã quá rõ ràng rồi, 1 số chương trình gỡ bỏ cũng phải gọi file Uninstall.exe của chương trình muốn gỡ bỏ.
Như vậy nếu cần xác định được "UpgradeCode" của chương trình. Vậy cách xác định nó như thế nào ? nó nằm ở đâu của chương trình ?
Mong Anh và những bạn biết về vấn đề này định hướng để tụi em hiểu về vấn đề này!
.::Mới bắt đầu trên con đường dài::.
.::Super Newbiez::.
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 20/07/2011 20:04:01 (+0700) | #9 | 243848
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
Trong bộ cài đặt của Windows SDK có một phần mềm gọi là Orca
http://msdn.microsoft.com/en-us/library/aa370557%28v=vs.85%29.aspx
Dùng nó có thể soi ngay từ trong file .msi Upgrade Code của phần mềm khác




Cách gọi lện "msiexec /x UpgradeCode" là cách căn bản nhất, trực tiếp tác động lên HĐH. Cái này nói ra để biết HĐH nó quản lý, cài đặt chương trình như thế nào thôi. Chỉ khi nào là Guru cho Software Deployment thì mới phải nắm bắt cấu trúc của file setup, UpgradeCode, ID,... .

Chứ các chương trình như CCleaner thì nó không trực tiếp gọi lệnh này đâu. Thông thường nó sẽ thông qua WMI để liệt kê các phần mềm cài đặt trong máy rồi gọi lệnh Uninstall dựa vào giá trị Registry.

Ví dụ như bài của Coder24.com trong Thread này
http://social.msdn.microsoft.com/Forums/pl-PL/csharpgeneral/thread/87a546cd-7f18-4d7f-8bb1-e0ededc539d5

Nếu muốn viết một chương trình như CCleaner thì đọc thread post ở trên là đủ.
My website: http://rongchaua.net
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 07/08/2011 08:42:54 (+0700) | #10 | 244681
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
em định chuyển từ C# sang mà đang làm giống cái link anh rongchaua đưa nhưng lỗi chổ này em không biết sửa sao nữa em chưa học C# do từ mò nên dở lắm.anh nào rảnh chỉ em chổ sai đó sửa lại như thế nào em cảm ơn nhiều

[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 15/08/2011 09:28:28 (+0700) | #11 | 245040
cococo111111
Member

[Minus]    0    [Plus]
Joined: 15/07/2009 12:48:16
Messages: 1
Offline
[Profile] [PM]

minhhath wrote:
em định chuyển từ C# sang mà đang làm giống cái link anh rongchaua đưa nhưng lỗi chổ này em không biết sửa sao nữa em chưa học C# do từ mò nên dở lắm.anh nào rảnh chỉ em chổ sai đó sửa lại như thế nào em cảm ơn nhiều

 


Bạn phải đưa vào 1 phương thức nào đó thì mới được
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 16/08/2011 12:04:38 (+0700) | #12 | 245113
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
nói chung là C# em tự học nên không ra đâu cả nếu bạn biết chỉnh lại như thế nào hay kế thừa cái nào nói kỹ dùm mình cái nha
Thanks đã đọc bài viết
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 16/08/2011 21:05:52 (+0700) | #13 | 245128
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
@minhhath: Đề nghị về học lại từ căn bản nhập môn lập trình.
My website: http://rongchaua.net
[Up] [Print Copy]
  [Discussion]   thuật toán gỡ chương trình 19/08/2011 11:00:11 (+0700) | #14 | 245309
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]

rongchaua wrote:
@minhhath: Đề nghị về học lại từ căn bản nhập môn lập trình. 

em cảm ơn lời nhắc của anh.nhưng em chưa học C# bao giờ hết thầy đâu mà dạy anh.em chỉ cần chuyển qua được ngôn ngữ Vb.net là em cảm ơn anh lắm rồi
[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|