|
|
Trong TCP Header có trường Window Size, theo em hiểu thì nếu là bên nhận dữ liệu gửi, thì nó là kích thước bộ đệm mà bên nhận đã allocate cho việc nhận dữ liệu. Nó báo cho bên gửi biết để có thể gửi đồng thời nhiều TCP packet liên tục mà không cần đợi bên nhận trả lời Ack ngay cho mỗi packet, cho đến khi đầy bộ đệm này thì thôi. Sau đó bên gửi mới chờ bên nhận Ack lại cho từng Packet.
Gần đúng, TCP sử dụng window size để quản lý việc gửi-nhận dữ liệu, window-size là lượng dữ liệu nối tiếp nhau mà bên gửi có thể gửi đi mà chưa cần đợi ACK. Không nên nhầm lẫn với socket received buffer, socket received buffer - là lượng dữ liệu đã được TCP/IP stack nhận về tuy nhiên chưa được tầng ứng dụng đọc ra.
nếu có contact info thì có thể để lại để em có thể tham vấn khi cần.
Cái này ở HVA chắc là dễ ăn gạch lắm
|
|
|
bạn fork ra hai tiến trình con rồi exit tiến trình cha thì sẽ còn lại hai tiến trình anh em )
@ sao bạn lại có nhu cầu như vậy nhỉ?
|
|
|
xnohat wrote:
Mền thắc mắc là Unikey vốn là opensource với source code được public tại đây
http://unikey.org/source.php
Tại sao phải reverse rồi patch chi cho mất công nhẩy
Bác ấy opensource bản trước đó thôi, còn bản mới nhất không có source vì lý do nào đó.
xnohat wrote:
Nếu các bồ thực sự thích và muốn phát triển Unikey mở rộng tiếp thì có thể liên lạc với bác ấy, tôi có thể làm cầu nối
Hi, thx bác. Cái này mình làm theo nhu cầu cá nhân, và cũng để cho vui thôi, khi nào mình có ý định làm nghiêm túc hơn thì chắc phải liên hệ với bác Long thì mới ra hồn được.
|
|
|
quygia128 wrote:
Sau khi path hàm strcmp đến code của anh thì anh có thể GetActiveWindow, FindWindow, GetWindowText và so sánh với tên anh đã định sẵn muốn Enable hay disable -> kết quả trả về đúng sai gán vào EAX để điều khiển lệnh nhảy qua hàm hookey.
Nhất trí, cái hàm kiểm tra khi nào enable/disable Unikey thì sẽ tinh chỉnh sau để có kết quả tốt. Vấn đề là giờ hành vi của Unikey sau khi mình patch nó không ổn định, mặc dụ hàm doSkip kia mình thử để return true từ đầu hàm luôn để luôn cho gõ tiếng Viêt, mình đang vòng quanh một tí, có vẻ là việc reload DLL có cài Hook function ở trong không được sạch lắm, mình toàn phải logout hoặc restart máy mới có kết quả chính xác(sau khi build lại unihami.dll).
|
|
|
Tình hình là từ lâu mình có cái mong muốn Unikey trên Windows có tính năng rất hay như ibus trên Linux là nó phân biệt được enable/disable cho mỗi cửa sổ input thay vì global tất tật như bây giờ. Mình thường xuyên input trên nhiều loại cửa sổ nên hơi ngại switch, kể cả đã dùng phím tắt rồi.
Bắt tay vào nghiên cứu, Unikey thì không opensource rồi nên mình tính đi theo hướng hack một tí. Xem sourcecode Unikey bản cũ thấy có một chỗ tác giả lấy ClassName của cửa sổ đang typing vào, nếu ClassName là ConsoleWindowClass thì không để gõ tiếng Việt, chắc là tác giả cũng thấy việc gõ tiếng Việt trên cửa sổ console là không thường xuyên nên quyết định cho tắt luôn , mở Unikey40.dll trên IDA:
1. ở chỗ này, mình có thể patch toàn bộ đoạn push param và gọi strcmp đến một hàm khác thực hiện việc kiểm tra xem có nên bỏ qua gõ tiếng Việt trên cửa sổ input hiện thời hay không. Hàm kiểm tra này được triển khai trên một DLL khác do mình viết. Sau khi có DLL chứa hàm kiểm tra customize rồi thì tiến hành Patch UniKey40.dll, thêm vào một import entry trong bảng IAT sử dụng Stub_PE hoặc LordPE, save lại.
2. Mở lại UniKey40.dll trong IDA sẽ thấy entry import mới:
3. tiến hành patch phần gọi strmp để gọi hàm kiểm tra mới:
Code của DLL chứa hàm kiểm tra mới mình có post lên github tại https://github.com/secmaskoss/unihami , mới chỉ dạng concept thôi. Vấn đề đang gặp phải là khi chạy bản đã patch này xong thì có hiện tượng lạ là chỉ gõ được tiếng Việt được ở lần đầu tiên bật Unikey lên, sau đó thì hoàn toàn không gõ được tiếng Việt nữa sau khi chuyển sang một cửa sổ input khác. Mình kiểm tra process thấy Unikey vẫn chạy bình thường, chỉ trừ đúng việc là không gõ được tiếng Việt. Mình đưa lên đây để nếu bạn nào có hứng thú thì cùng ngâm cứu xem vấn đề nằm ở đâu nhé
|
|
|
Dùng 010 Editor cho nó trâu bò húc , 010 nó dùng memory map file nên không cần nhiều ram để mở file lớn, có điều 010 không free.
|
|
|
Bạn có chắc là muốn output ra file .exe trên linux không?. Mà cái lỗi này do bạn cấu hình build project không đúng thôi, không phải do eclipse.
|
|
|
Kiểm tra chương trình đã chạy hay chưa trong Java có lẽ có 2 cách tiêu biểu nhất đó là dùng socket như link của n2tfforever hoặc dùng File Lock. Dùng socket thì vẫn có một nguy cơ nhỏ là đụng port với một ứng dụng nào khác, tuy nhiên cũng có cái lợi là có thể dùng instance thứ 2 để pass action sang instance thứ nhất.
|
|
|
Cậu có chắc là do Swing không? Thử kiếm một máy khác có nhiều RAM hơn để chạy thử, vẫn không ra thì dùng profiler như JProfiler để tìm xem chậm ở đâu.
|
|
|
Cái này nghe giống home-work nhỉ . Những câu hỏi dạng này thường sẽ không có ai làm giúp bạn đâu.
Quay lại chủ đề, mình thì thường tiếp cận theo cách, "cái thứ mình đang tìm hiểu, ai biết rõ về nó nhất?", thông thường thì chính người tạo, sản xuất ra nó. Do vậy nếu mục tiêu của bạn là tìm hiểu về vxl thì hãy tìm những tài liệu mà nhà sản xuất dòng chip đó cung cấp.
Khi bạn chứng tỏ là bạn có đầu tư tìm hiểu một cách nghiêm túc thì mới có hy vọng có người giúp bạn được.
|
|
|
đọc "man read" thì bạn sẽ thấy đây là shell buit-in command.
|
|
|
Bạn nên giảm memory ở MySQL đi, server ngoài MySQL ra bạn còn cài cả đống thứ nữa mà.
|
|
|
computerline wrote:
@secmask: Cảm ơn bạn nhiều !
Theo mình thì nguyên nhân do phần .idata của tập tin được dịch bằng NASM nó được mã hoá hay có cấu trúc đặc biệt mà IDA không hiểu được khi tiến hành phân tích Section này. Không biết có đúng không ! Nhưng rất cảm ơn bạn đã giúp đỡ !
đúng rồi đó bạn, cái khác thường là NASM sinh ra section idata có chứa cả code.
|
|
|
Nếu bạn đã từng kết nối và gửi mail bằng gmail được rồi, và thỉnh thoảng bị timeout thì có vài nguyên nhân như
1. Đường truyền từ server của bạn đến gmail không ổn định.
2. Bạn gửi mail có nhiều, nhanh hoặc có gì bất thường khiến gmail từ chối kết nối của bạn không?
3. Kiểm tra lại một lượt xem có gì đó ngăn cản ngoài selinux nữa không.
|
|
|
Load chuơng trình trên vào IDA + bỏ lựa chọn "Make imports segment" là đâu vào đó, nguyên nhân bạn thử tìm hiểu xem
|
|
|
TQN wrote:
Và các bạn còn nhớ cái name pipe tên Nanned không trong bộ Dao360.dll.mui ?
PS: Đoạn code HideDll của stl coder có bug, nên nó không hide được cversions.2.db hay dao360.dll.mui trong list DLLs panel view của Process Explorer hay Process Hacker... Em đố bạn nào tìm ra được bug đó, nếu tìm ra, CN này đi nhậu Bữa nhậu này đáng lý phải bắt stl coder trả tiền, cho chừa cái tội copy code mà không hiểu, không test
Các bạn thử đoán xem, stl coder lấy list các software, các update trên máy victim để làm gì ? Thâm hiểm lắm đấy !
Không thấy đả động gì đến MemoryOrder list, không lẽ bug ở đây , bản Process Explorer 11.x cũ của em nó không hiện cversion2.db trong list module thật.
|
|
|
idid231 wrote:
Em bó tay với crackme này rồi, chỉ patch đc thôi.
Vài thứ e biết về cái crackme này là:
- Không protect đặc biệt, không antidebug.
- Bad/Good nag load từ messagebox(W). Nhưng đặt bp ở hàm thì olly không pause
- Có 1 đoạn check, hoàn toàn fish đc key, thoả mãn điều kiện thì đẩy chuỗi 0x82 vào để show good nag (em đoán thế) nhưng không show goodboy, toàn badboy >"<
Code:
004017F7 |. 3BF8 CMP EDI,EAX
- Em thì không nghĩ đấy là đoạn code giả, nhưng còn đoạn code check nữa thì không hiểu nó so sánh cái gì.
Em chưa biết sử dụng IDA, không rõ sai chỗ nào mong anh hướng dẫn thêm
Bạn nhảy vào đúng chỗ rồi đấy .
Căn bản là mình cũng chuyên đi patch nên mình đoán thể nào cũng có bạn patch chỗ đấy , có gài hàng một tí nên patch rồi mà vẫn ăn bad boy.
@ps: hoàn tất crackme này không quan trọng lắm, quan trọng hơn là chỉ ra được những chỗ gài hàng, làm thế nào để bạn phát hiện, vượt qua được những chỗ bị gài đó mới hay
|
|
|
Bạn cứ ngâm cứu đi , good/bad đều được thông báo ra ngoài dùng MessageBox.
|
|
|
idid231 wrote:
Không bảo vệ thế CRC32b để làm j thế ạ Cái CRC32 này có bị mod không a? A cho em xin 1 key hợp lệ test thử với Tình hình là không biết làm sao có good nag
Hehe, thì mình đã bảo là có thêm code cho nó giống một app bình thường mà, nên bạn cần cẩn thận, không phải cứ crc32 là liên quan đến kiểm tra good/bad đâu
|
|
|
idid231 wrote:
Khó quá @@ Có anti debug không anh?
Không anti-debug, không bảo vệ, chỉ thêm ít code cho nó giống app thật
|
|
|
secmask wrote:
cần cài visual c++ 2010 redistributed trước, bạn nào chưa có thì có thể download ở đây http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84
Chắc bạn chưa cài VC++ 2010 redistributed rồi.
|
|
|
Em tưởng mấy tool verify digital signature nó phải checksum cả image nữa chứ nhỉ, chứ kiểm tra mỗi cái phần thẻ digital sig không thì dính đòn cũng phải.
|
|
|
xwhitelight wrote:
secmask wrote:
xwhitelight wrote:
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
đúng nó rồi đấy. đại loại nó thêm data vào cuối file PE mà không chỉ sửa gì PE header cả nên phần data này sẽ không được load lên trong IDA hay Olly, nó load manual bằng cách đọc image, tìm ra offset bắt đầu overlay data bằng một chuỗi đặc biệt nào đó, hoặc tính thông qua thông tin có được từ PE header.
Chuỗi đặc biệt là chuỗi như thế nào ạ? +_+
Em thấy một câu lệnh PUSH text dùng tham số là địa chỉ của chuỗi, mà chuỗi overlay lại không có địa chỉ thì làm sao để tham chiếu nó ạ? Ở topic anh chỉ có nói là đọc nó từ image vật lý của file, em cũng chả hiểu.
Ví dụ như cái Overlay data đó được đặt bắt đầu bằng một chuỗi như "THIS_IS_START_OF_OVERLAY" , thì crackme nó sẽ tiến hành tìm kiếm trên image xem chuỗi này nằm ở vị trí nào để lấy data đính kèm ra. Do overlay data không thuộc một section nào trong PE header cả nên nó sẽ không được map lên memory khi chuơng trình tuơng ứng load. Thay vào đó, chuơng trình sẽ coi phần overlay data là data file (chỉ là biến thể thay vì dùng một file data tách rời hoàn toàn), seek đến đúng vị trí là có thể đọc được data này, giống như đọc file thông thường thôi.
|
|
|
Có vẻ output của một số method Serialize như java-Serializable,XML,JSON đều hướng hướng tối ưu cho dump object ra để truyền đi hoặc lưu trữ hơn là để lưu-thao tác trực tiếp trên dữ liệu đó trên đĩa. Vì vậy nên bạn sẽ thấy khó khăn khi muốn thêm-xoá-sửa trên các định dạng này, hầu hết đều phải đọc hết lên, sửa rồi lại lưu xuống.
Bản thân mình cũng ít dùng Java-Serializable interface để lưu trữ dữ liệu. Nếu bạn muốn encode dữ liệu dạng binary thì Google-Protobuf hoặc Kryo... cho kết quả tốt hơn, định dạng text thì có XML,JSON. Đây đều là các định dạng lưu trữ, trao đổi dữ liệu.
Còn Code của bạn mình download không được, mediafire báo lỗi dịch vụ.
|
|
|
hungsao wrote:
Anh secmask xem cho em cái Project này nhé
link : http://www.mediafire.com/?bc1ctfbrc5t6ncu
Ý em là em muốn sau khi ghi 1 lần vào file rồi, sau đó em lại mở file ra ghi tiếp (2 lần này là cách nhau) . Theo như anh nói thì em biết lỗi là do sau khi đọc Object lần thứ 1 , đến Object thứ 2 trong file thì lỗi là do lại ghi tiếp 1 header, nay em muốn anh chỉ cho em cách ghi lần thứ 2 thì không write header nữa ! Anh sửa luôn cho em trong Project nhé, mong anh có thể comment thêm cho em dễ hiểu
Để mình thử hỏi cái này nhé, bạn có thấy việc sử dụng ObjectXStream rắc rối khi muốn thêm dữ liệu vào file đã chứa dữ liệu sẵn không? Đây có phải là nhược điểm mà JDK nên sửa không?
|
|
|
Bạn Override cái ObjectOutputStream, để nếu đã có header rồi thì không write header nữa cũng đc, header chứa 1 short magic và 1 short version.
Mình không rõ lắm lý do tại sao bạn lại cố thử append thêm vào data file của ObjectOutputStream?
|
|
|
xwhitelight wrote:
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
đúng nó rồi đấy. đại loại nó thêm data vào cuối file PE mà không chỉ sửa gì PE header cả nên phần data này sẽ không được load lên trong IDA hay Olly, nó load manual bằng cách đọc image, tìm ra offset bắt đầu overlay data bằng một chuỗi đặc biệt nào đó, hoặc tính thông qua thông tin có được từ PE header.
|
|
|
vd_ wrote:
@secmask
Nếu đã sign vào pdf thì không thể chỉnh dữ liệu được, nếu cố ý chỉnh thì đến khi người khác mởi ra sẽ thấy ngay là có người sửa.
Nguyên lý tóm tắt như sau:
Tui là tác giả, tui tạo pdf xong, hash nội dung của pdf thành giá trị S, xong rồi encrypt = private key của tui (S1), rồi đính kèm chuỗi binary đã encrypt vào.
Đến khi đọc lên, pdf reader cũng hash nội dung, rồi dùng public key của tui decrypt chuỗi binary ra.
Nếu 2 giá trị hash và đã decrypt bằng nhau thì chứng tỏ nội dung không thay đổi.
Do giá trị S1 tạo ra từ private key của tui nên chỉ có thể decrypt bằng public key của tui -> không thể tạo ra giá trị S1 nếu không biết được private key của tui.
Thì ý tui là thế mà, vẫn là sửa được đúng không , chỉ có điều cái Sign không làm giả để đánh lừa người khác là nội dung là do chủ nhân ban đầu tạo ra. Bạn chủ topic chỉ hỏi có sửa được không, chứ không nói rõ là cái Sign đó yêu cầu thế nào. Giả sử tui giải mã xong, sửa lại rồi in ra, lúc đó có ông nào cầm bản in mà kiểm tra được Sign đâu
|
|
|
TQN wrote:
Sùng gan ông nội http://www.imageshack.us/ này quá, phải register và login vào mới xem được hình. Bà con có trang web nào upload hình mạnh, nhanh, lớn không, share cho em để em port hết mấy hình này qua !
Anh thử mấy cái hàng nội như http://uploadanh.com, http://up.anhso.net xem, không thì chơi photobucket tạm
|
|
|
|
|
|
|