Open source, closed source và việc bảo vệ software
Đa số software mình xài đều là bản được cr@ck hoặc có keygen hoặc serial kèm theo.
Nghĩ lại nếu mình làm software thì mình sẽ bảo vệ nó ra sao đây, bà con có cao kiến gì
ko?
PS: trong UDS có bác Merc, bác chỉ bảo cái nì với nhé, thanks.
Trac(UDS)
Theo Merc được biết, protect các software có rất nhiều dạng. Từ dạng đơn giản chỉ là yêu
cầu số đăng kí tới các dạng sử dụng khóa cứng. Mục tiêu trước tiên của các coder là phải
giảm thiểu khả năng disassembly (dịch ngược) và debug của các cr@cker : Sử dụng các
packer, antidebug, CRC check Thêm đó là sử dụng một thuật toán mã hóa mạnh để mã
hóa quá trình tạo License.
Các soft lớn cỡ vài ba nghìn $ thì đa số sử dụng khóa cứng nh
ư Adobe Acrobat Reader,
Orcad Thêm nữa, khi mà Internet được phổ biến rộng rãi như hiện nay thì các hãng
phần mềm áp dụng quá trình đăng kí online (gần như là chỉ có bỏ tiền ra mua thì xài ổn).
Merc(UDS)
Nếu được thì Merc có thể nói chi tiết một số kiểu protect thường sử dụng được ko. Xin
cảm ơn
Sau khi suy đi tính lại thì cuối cùng mình quyết định là sẽ làm theo kiểu là dựa vào
hardware ID để sinh ra serial, và quả thật là lưu ở đâu cũng sẽ có vấn đề hết. Theo mình
thấy thì bất cứ việc reg nào cũng có chuyện so sánh (ở đây ko nói đến validate online
nhé) giá trị A (giả sử là giá trị dựa vào hardware để sinh ra) và giá tr
ị B (key mà mình
đưa cho khách hàng).
Mới đầu mình nghĩ mình sẽ nhúng cái đoạn đọc hardware ID + 1 đống cộng trừ nhân chia
==> A rồi sau đó sẽ so sánh với B.
Có 2 vấn đề với cách trên:
1. Đoạn code xử lý trên bị decompile: mình làm .NET và mình cũng có 1 số tool để
chống decompile nhưng thật sự là ko tin tưởng lắm. Mình cũng đã thấy 1 số soft chống
decompile rất tốt nhưng ko biết nó chống bằng tool gì (tiêu biểu là SQL Examiner -
google for more)
2. Giả sử chuyện (1) ko x
ảy ra, sinh ra giá trị OK=A. Giá trị A này sẽ được lưu ở 1 vùng
nhớ (ko biết dùng từ này đúng ko) nào đó rồi sau đó user sẽ nhập giá trị B rồi so sánh với
A, valid thì OK. Vấn đề là có thể access vùng nhớ đó để lấy ra giá trị A, lúc đó thì chỉ
việc lấy
nhìn 1 ô
nhe, ổn
g
Cuối cù
n
1. user
x
2. mình
3. nhún
g
4. khi r
e
5. so sá
n
Nói tới
đ
hic
Trac(U
D
.
Merc(
U
Tôi xin
c
messag
e
sửa để c
kiểm tr
a
tìm đượ
c
giá trị đó=
B
ng cr@ck
c
g
là compu
t
n
g mình n
g
x
ài 1 softw
a
sẽ dựa vào
g
B vào tro
n
e
g thì app s
ẽ
n
h A và A1
đ
ây thì thấ
y
D
S)
U
DS)
c
ó chút ý k
i
e
Box đề ph
ă
ho nó Jum
p
a
không đú
n
c
điểm để
đ
B
là OK. C
c
ái XML S
p
t
er virus an
g
g
hĩ mãi rồi
m
a
re để scan
cái A này
đ
n
g code
r
ồi
ẽ
dùng (1)
+
, nếu matc
h
y
nó hơi củ
i
ến về cái
n
ă
ng ngược
l
p
tới đoạn
k
n
g nó khôn
g
đ
ặt breakpo
i
ái này làm
p
y bằng cá
c
g
el - anh K
h
m
ình tính l
à
hardware I
D
đ
ể sinh ra
B
build > e
+
(2) ==>
A
h
thì OK
chuối như
n
n
ày: thườn
g
l
ại
t
ìm đoạ
n
k
iểm tra đú
n
g
báo gì hế
t
i
nt.
mình đau
đ
c
h này (Me
r
h
iêm đó -
h
à
m theo cá
c
D
==> A,
e
B
xe
A
1
n
g mình cũ
n
g
cracker sẽ
n
code chứ
a
n
g. Tôi thấ
y
t
?. Quả thậ
t
đ
ầu hết sức,
r
c biết ông
h
ồi đó làm
c
c
bước như
e
mail A ch
o
n
g ko biết c
dựa vào c
á
a
câu lệnh
s
y
một soft
c
t
như vậy r
ấ
vì 1 lần m
ì
này nhưng
c
hung cty v
sau:
o
mình
ách giải qu
.
á
c thông bá
o
s
o sánh, sa
u
c
ó ý
t
ưởng
r
ấ
t khó cho t
ụ
ì
nh đã ngồi
đừng nói ổ
ới mình)
yết ra sao
n
o
bằng
u
đó ráng c
h
r
ất hay là n
ế
ụ
i cracker
n
ng
n
ữa,
h
ỉnh
ế
u
n
ó
Để chố
n
vào, mụ
sánh nh
ư
Tôi ngh
ĩ
thôi.
Nicole8
2
@Merc:
thể thay
của mìn
h
mình th
ì
soft của
cũng qu
á
@nicol
e
Quote:
Tôi ngh
ĩ
thôi.
đúng là
m
b
ox đó;
applicat
i
xài; chỉ
n
đọc các
làm cho
những c
là ý của
mò ra.
Xem ra
c
trac(U
D
Quote:
Xin Me
r
cr@cke
r
n
g memory
c đích là đ
á
ư
ng key th
ậ
ĩ
không cá
c
2
(UDS)
mình nhớ
giá trị của
h
cũng tèo
l
ì
m
ĩ
nh ngh
ĩ
mình ko h
a
á
lí thú)
e
82: đồng ý
ĩ
không cá
c
m
ình cũng
nhưng mìn
h
i
on đang d
ù
n
hìn thấy t
h
t
ài liệu về
o
khó hơn t
h
ách mà nó
r
bạn ko nhỉ
c
huyện bả
o
D
S)
r
c nói kỹ h
ơ
r
remove c
á
dump, bạn
á
nh lạc hướ
n
ậ
t sự thì bạ
n
c
h nào để b
ả
lộn, nick c
ủ
1 vùng nh
ớ
l
uôn. Trên
H
ĩ
chắc là ko
a
y đến nỗi
m
c
h nào để b
ả
thấy cr@k
e
h
cũng thấ
y
ù
ng vùng n
h
h
ôi)
o
bfuscaste
c
h
ôi chứ ko
p
r
eccomend
.
Mà nói th
i
o
vệ softwa
r
ơ
n cái này,
c
á
i đoạn che
c
có thể để
v
n
g khi crac
n
nên encry
p
ả
o vệ tuyệt
ủ
a anh Khi
ê
ớ
đúng ko.
G
H
DD có v
ù
có, chạy r
a
m
à bà con
p
ả
o vệ tuyệt
e
r sẽ giới h
ạ
y
là cr@ke
r
h
ớ nào (có
c
c
ho .NET (
n
p
hải là bảo
v
là đặt tên
b
i
ệt là nếu
m
r
e là 1 câu
c
c
ó phải là
m
c
k). Sẵn đâ
y
v
ài biến tro
n
ker cố gắn
g
p
nó.
đối, chỉ có
ê
m
r
ồi, hic.
G
iả sử mìn
h
ù
ng nào đư
ợ
a
ngoài DO
S
p
hải ngồi c
r
đối, chỉ có
ạ
n vùng tì
m
r
hoàn toàn
c
ái tool nh
ư
n
gay cả cá
i
v
ệ ) thì
n
b
iến dài, kh
m
à muốn th
ì
c
huyện dài
m
ình build
l
y
hỏi luôn,
n
g đó chứa
g
đọc từ m
e
là chúng t
a
Merc cho
m
h
thay đượ
c
ợ
c gọi là b
ấ
S
scan 1 h
ồ
r
@ck nhưn
g
là chúng t
a
m
kiếm bằn
g
có thể ma
n
ư
ng mình k
o
i
chữ obfus
c
n
ó cũng nói
ó hiểu + c
h
ì
chạy lòng
l
ại cái exe
l
đây có phả
key mà kh
á
e
mory ra đ
ể
a
làm cho n
ó
m
ình hỏi là
c
giá trị thì
c
ấ
t khả xâm
p
ồ
i cũng ra (
đ
g
mà biết c
á
a
làm cho n
ó
g
cách che
c
n
age xem hi
o
biết tên
v
c
ate cũng c
h
là có nhiề
u
h
ạy lòng vò
n
vòng cách
l
uôn phải k
o
i là cách m
à
á
ch hàng n
h
ể
lấy key so
ó
khó bị x
ử
hoàn toàn
c
oi như cá
c
p
hạm ko ta
,
đ
ương nhiê
n
á
ch bảo vệ
ó
khó bị x
ử
c
k cái mess
a
ện tại cái
v
à cũng ko
b
h
ỉ có nghĩ
a
u
cách, 1 tr
o
n
g, đây có
p
mấy cũng
b
o
(nghĩa là
à
1 số soft
b
h
ập
ử
hơn
có
c
h
,
n
là
thì
ử
hơn
a
ge
b
iết
a
là
o
ng
p
hải
b
ị
b
ị
cr@ck
b
Cái này
Nó kiể
m
đến đoạ
n
nó làm
n
giản nh
ấ
nó, còn
t
Quote:
Cái này
để xem
g
tài liệu
A
Thân!
Chickn
s
Nếu bá
c
lần với
1
thể patc
h
hardwa
r
lần, có t
h
Còn ng
h
cũng có
,
làm ra c
ó
Còn the
o
ko cách
,từ vali
d
Check
O
thì ko p
h
dễ chịu
c
xét bản
N
dụng.
Nhưng
C
đã valid
b
ằng cách c
h
có nhiều c
á
m
tra nếu se
r
n
code B (
S
n
gược lại,
n
ấ
t để cr@c
k
t
hực tế thì
v
dùng nhiề
u
g
iá trị của
c
A
ssembly
đ
s
oup(UDS
)
c
mà dùng
h
1
key
t
ươn
g
h
cái hard
w
r
e ID thì
t
ứ
c
h
ể bị xài "
c
h
ĩ ra phươn
g
,
nhưng chi
ó
đáng giá
o
kiểu prot
e
gì giải mã
đ
d
key sẽ mò
O
nline là p
h
h
ải ai cũng
c
ho khách
h
N
orton An
t
C
heck Onli
n
ít nhất 1 b
ả
h
ép đè file
á
ch, đơn gi
ả
r
đúng thì
n
S
erial khôn
g
n
hảy đến A
k
1 soft, tuy
v
ẫn là trial.
u
trong hac
k
c
ác thanh g
h
đ
ọc sẽ
r
õ h
ơ
)
h
ardware I
D
g
ứng nào đ
w
are ID kia
c
là key kia
c
hùa" lên c
á
g
thức sinh
phí tính to
á
để bù hao l
e
ct 1 chiều
đ
ược thì c
ũ
ra key dù
n
h
ương pháp
có Internet
h
àng .(nếu
l
t
ivirus 200
7
n
e theo kiể
u
ả
n, khả năn
exe?
ả
n nhất là c
n
hảy đến đ
o
g
hợp lệ).
Đ
thay vì đế
n
nhiên tron
g
Cấn phải
đ
k
game và
f
h
i, từ đó th
a
ơ
n)
D
thì khéo
n
ó và key đ
ó
lên cho cá
c
sẽ valid lê
n
á
c máy còn
code thật
p
á
n và suy
n
ại chi phí
b
hay dùng
đ
ũ
ng bị
t
èo t
h
n
g để mã h
ó
có vẻ hoà
n
để connec
t
l
à khách h
à
7
và 2005
h
u
nhận dat
a
g làm ra 1
b
huyển mã
a
o
ạn code A
Đ
iều mà cr
@
n
B (je >jn
e
g
nhiều trư
ờ
đ
ọc
t
ài liệu
v
f
ish serial.
D
a
y đổi giá t
r
n
hé. Vì har
d
ó
đem wa
m
c
máy khác
n
những m
á
lại.
p
hức tạp thì
n
gh
ĩ
để cod
e
b
an đầu ?
đ
ể mã hóa s
e
h
eo nguyên
ó
a và
t
ất nh
i
n
hảo về m
ặ
t
mà đăng
k
à
ng ko thân
h
ay 2006 sẽ
a
từ Server
đ
b
ản non-ch
e
a
ssembly c
ủ
(đăng ký t
h
@
cker làm
ở
e
). Có thể
n
ờ
ng hợp th
ì
v
à thực hà
n
D
ùng một
c
r
ị của các t
h
d
ware ID là
m
áy khác sẽ
để chúng
đ
á
y đó . >
C
sao? Phức
e
sẽ tốn rất
e
ction file ,
t
ắc đầu : c
h
i
ên là
ặ
t protect .
N
k
í software.
thiết lâu n
ă
thấy sự kh
á
đ
ể decrypt
e
ck online
l
ủ
a đoạn co
d
h
ành công)
ở
đây là sử
a
n
ói cách nà
y
ì
lý thuyết
l
n
h nhiều m
ớ
c
hương trìn
h
h
anh ghi v
à
cách chỉ c
h
ko work .
N
đ
ều giống n
h
C
hỉ cần so
ft
tạp tới độ
k
rất nhiều ,l
t
ức ko có
p
h
ỉ cần soft
đ
N
hưng xét t
r
Do đó sof
t
ă
m với sản
p
á
c biệt về l
ư
các func bị
l
à
r
ất cao.
d
e check se
r
nếu sai nh
ả
a
lại chút x
í
y
là 1 cách
l
à bạn đã c
r
ớ
i được
h
view me
m
à
cờ nhớ (T
h
o 1 máy r
e
N
hưng giả
s
h
au về
ft
được buy
k
o mò ra t
h
iệu sản ph
ẩ
p
rivate key
t
đ
ược buy 1
r
ên diện rộ
n
t
khó đem l
ạ
p
hẩm ) Ví
d
ư
ợng ngườ
i
hide thì sa
u
r
.
ả
y
í
u để
đơn
r
@ck
m
ory
ìm
e
g 1
s
ử có
1
h
ì
ẩ
m
t
hì
lần
n
g
ạ
i sự
d
ụ:
i
sử
u
khi
Về .NET,dù là gì đi nữa thì cũng là code .Mà code thì thể nào cũng bị dịch ngược tất.
Vấn đề là thời gian thôi.
Anti-Cr@ck đúng là 1 câu chuyện dài.
Trickyboy(UDS)
. kiể
m
đến đoạ
n
nó làm
n
giản nh
ấ
nó, còn
t
Quote:
Cái này
để xem
g
tài liệu
A
Thân!
Chickn
s
Nếu bá
c
lần với
1
thể patc
h
hardwa
r
lần,. ý
ĩ
không cá
c
m
ình cũng
nhưng mìn
h
i
on đang d
ù
n
hìn thấy t
h
t
ài liệu về
o
khó hơn t
h
ách mà nó
r
bạn ko nhỉ
c
huyện bả
o
D
S)
r
c nói kỹ