BTC USD 81,115.0 Gold USD 4,378.12
Time now: Jun 1, 12:00 AM

Tolong : Cracking program .Net separuh jalan....

Megat Sri Rama

CG Top Poster Club
gem
Messages
20,266
Joined
Aug 28, 2007
Messages
20,266
Reaction score
507
Points
161
Siapa boleh tolong aku.....

Ada satu program ni... aku saja gatal nak crack, memang tak ada crack yang dah siap pun kat internet.

Lepas tu sekarang tanggung... tak habis, tapi hati sudah penasaran, nak kasi habis jugak.


1. Aku periksa denga PEiD, ia file .Net (C#/Vbasic .Net)
2. Aku cuba reverse dengan Reflector, gagal.. ada protection.
3. Aku unpack, pakai unpacker dari tahun 2006, sekali keluar banyak class/method/function name yang obfuscated.
4. unpack lagi pakai unpacker baru (siap dengan deobfuscator Xenocode... cantik dia keluar.
5. Aku buka semula pakai Reflector
6. Selak dan selak dan selak, ada beberapa Method yang aku dah aim untuk ditempangkan. Nak buat keygen tak boleh, sebab dia punya license generator pakai LogicNP Cryptolicensing, matematik dia sehala dan ada private/public key. Jadi ada tak ada kena tamper dengan dia punya validation logic.



nah sekarang masalah besarnya... aku tak biasa dengan Intermediary Language Assembly .Net.... Assembly biasa boleh layan lagi... ingat la lagi sikit-sikit masa belajar dulu, kalau ada rujukan masih boleh jalan lagi.

Aku bukan nak mintak tolong buatkan, tapi mintak tunjuk cara.

1. macam mana nak remove anti-disassembler protection pada fail? Sebab file yang dijana oleh Reflector dah tak boleh nak rebuild balik, dijamin tak ngam. license validation method duduk dalam banyak *.DLL. Aku nak bukak satu-satu. Dalam IDA Pro, boleh bukak tapi tak boleh save sebagai DLL atau EXE, aku tengok ada *.idb saja. Kalau buka dalam Olly payah nak locate method yang nak dicari.

2. lupa nombor dua ni nak tanya apa :">
 
ok takpe... masalah selesai.

aku tak perasan antara IL/MSIL dan C#/VB.Net/ManagedC++/F# boleh diterjemah 2 hala sesuka hati sekerap mana pun dalam Reflector.... jadi aku tukar dari C# jadi C++ lepas tu tukar jadi IL dan kemudiannya copy+paste kat IDA Pro/ILDASM.

hehehe... yeay...
 
kasik tulis howto pastu tempek kat sini ler bro.
nak gak aku belajar.
 
kasik tulis howto pastu tempek kat sini ler bro.
nak gak aku belajar.

tu yang aku tulis tu kira dah how-to lah tu.

Aku ni pun dah banyak kali nak belajar, tapi separuh jalan, kali ni panjang sikit la... hahaha.

yang penting pertama sekali kena ada tools.

1. PE Reader - untuk membaca sifat fail PE yang kau nak kerjakan. Perlu tahu asal usul fail tu. C++ kah? .Net (C#,VB.net,F#) kah? Ada pakai 'packing' atau tidak? nah... hampir semua maklumat awal boleh dapat dari PE Reader.... software yang biasanya orang pakai PEiD, boleh pasang plugin untuk banyakkan lagi fungsi dia.

2. Unpacker, jika PE reader/scanner anda tidak datang sekali dengan unpacker, anda kena cari unpacker. Unpacker apa nak pakai? Bergantung kepada software. Kalau yang buat dia pakai jenis X, kena cari unpacker yang boleh gigit X la.

3. Deobfuscator. Sesetengah jenis software, terutamanya Java atau .Net, kita boleh bogelkan dia sampai dapat source code. Untuk perlindungan, programmer akan obfuscate (kelam) kan kod mereka dengan menukar nama-nama variable secara rawak sehingga manusia susah nak baca/faham/ingat, dan juga mengucar-kacirkan flow source code. Jadi kalau dapat unpack pun, susah nak pakai balik diorang punya source code. Deobfuscator meng-ok-kan semula kod-kod tu, tapi jangan harap dapat macam asal 100%. Obfuscator/Deobfuscator ada banyak versi... Xenocode, Smart Assembly, Dotfuscator, dll.

4. PE Browser - Untuk mengintai apa ada dalam fail executable... class, methods, functions, images, structs, constants, dll.

5. Disassembler/Decompiler - Untuk .Net kau kena pakai Reflector.. memang marvelous boleh dapat balik source code (kalau tak di-obfusecate-kan. Harus juga ada decompiler untuk Assembly... yang popular adalah OllyDBg (ringkas dan mudah, ada fungsi JIT - Just in time). Yang maju sikit boleh pakai IDA Pro. Kalau zaman dulu ada SoftICE, la ni dah takda dah. Ada bahasa tertentu yang perlu disassembler nya sendiri, seperti MSIL harus pakai ILDASM.

6. Hex Editor... suka hati nak pakai apa. Ultra Edit pun sodap.

7. Compiler, untuk compile semua yang kau dah cerai beraikan tadi.

8. Tracer.... untuk memancing dan merisik, supaya mudah kau target apa yang patut dicari.

9. Dumper... dia akan dump isi dalam memori. Waktu software tu duduk diam, mungkin tak ada maklumat apa, sebab dah diencrypt misalnya... tapi waktu dia sedang hidup, kita boleh salin dia waktu dia dalam memori sebab kalau dia nak running dia mesti kena decrypt diri dia, baru processor faham... jadi tak payah susah-susah nak decrypt secara manual, kita run dia dan sedut dia keluar dari RAM.

10. Ilmu.... rajin-rajin masuk website tutorial... tukang crack ni biasa baik-baik... http://tuts4you.com ada banyak tutorial ringkas. Tutorialnya pendek-pendek, tapi banyak... seronok. Mat Salleh kongsi tutorial bahasa Vietnam, bayangkan diorang terhegeh-hegeh baca terjemahan Google.... :) Apalah sangat baca tutorial B.Inggeris, sekolah 11 tahun belajar BI.


Kumpul tools dulu.... sambil baca tutorial. Aku pun baru nak mula dah tua-tua macam ni.




Software yang aku nak crack tadi dah jahanam.... :D:D:D
 
tak merosak isi perut dalaman PC/laptop ke?

sesiapa yang ada install compiler (pelajar IT/Kejuruteraan, Profesional IT & Kejuruteraan) dlm komputer mereka akan ada debugger dan disassembler.

Testing adalah tugas kedua programmer selepas memprogram program mereka.

Hampir setiap perisian ada bug yang menanti untuk menongolkan wajah buruk mereka.

Maka, Debugging adalah tugas ketiga programmer.

Tugas lain adalah untuk mendokumentasikan program tersebut, ini boleh berlaku dalam mana-mana fasa... orang Johor kata nyambil-nyambil.

Cracking tiada beza dengan debugging, kecuali.... waktu debugging programmer buang sifat pada program yang tak dikehendaki programmer, tapi dalam cracking pengguna membuang sifat program yang tak disukai pengguna (nag screen, dll.)

apa masalahnya?

Pernah dapat exception error message?

Biasanya akan diberikan nama file exe dan juga lokasi offset pada memori. Ini untuk siapa? Jika anda, apa yang anda nampak pada mesej error tu? susunan nombor asas 16 yang tak ada maksud apa-apa kan? Bagaimana jika anda boleh terus patch tempat yang ada error tu? Tak payah nak cari kat forum-forum apa yang tak kena.

Kalau atap rumah bocor, tampal. Kalau ada skru longgar, cari pemutar skru dan ketatkan, letak loctite.

Biasanya susah untuk baiki software pada source file... kadang-kadang masalah berlaku pada low level, mungkin salah compiler, mungkin ada korupsi tanpa sengaja oleh kod itu sendiri.... kadang-kadang tiada masalah 100% pada source code, buat apa cari kat source code.

Keupayaan untuk meneropong, menilik, membelek, kod-kod mesin (opcode) satu persatu... ataupun dengan kebijakan (memancing, sengaja mencabar software, sengaja menyiksa software, menipu software, mengubah registry dan memory stack) diperlukan oleh semua programmer.


Kesimpulannya cracking menjadikan komputer lebih baik, bebas bug.... jumpa bug? settle sendiri walaupun software orang...

semua programmer perlu pandai mengcrack untuk boleh menghasilkan kod yang lebih efisien, untuk boleh mengeksploit kelebihan pada komputer.... banyak budak lepas IT (terutamanya diploma kolej cap ayam) tak tahu pun bagaimana nak mengekod untuk mengeksploit cache pada processor supaya software lebih laju, ada yang tak tahu cache tu apa... L1, L2, L3...

anda cuma perlu 24 jam penuh (tak sampai pun jika pickup kuat, biasanya 4 jam dah boleh), untuk boleh membaca kod assembly.

opcode tak banyak... opcode adalah arahan yang boleh difahami processor, dalam bentuk nombor... biasanya 1byte/8bit atau 2 byte... kadang-kadang 5 byte.

setelah ditolak varian yang ada, aku rasa yang penting tak sampai 20 pun.. yang paling utama tak sampai 10....

NOP - Do Nothing
POP - tarik dari stack masuk register
PUSH - nilai dari register dan susun kat atas stack
JMP - jump
CALL - load functions/class/method dll.
CMP - Compare
BR - Branch

itu je la kut... mungkin ada lagi sikit... tapi ini yang paling selalu jumpa (90%)

kemudian bagi setiap yang di atas... ada lagi variannya...

Contoh BRE - Branch if equal, dan lain lain.

Tak susah pun... kalau pakai IDA Pro, pilih pilihan untuk auto-comment, akan ada penerangan bagi setiap baris arahan.




Untuk boleh menulis dalam Assembly... mungkin ambil masa 7 malam yang tenang. Tapi dalam 24jam dah boleh merangkak-rangkak. Ok le tu.

Lagi senang dari C atau C++, atau VB.



Anda tahu apa ada dalam Hard Disk, bagus...
Anda tahu apa yang ada dalam memori anda sekarang?

Anda rasa komputer anda lebih selamat jika tidak tahu?

Pasti tiada software jahat di dalamnya? Masih rasa selamat?







Jom buat crack club... apa aku tulis atas bukan sebagai cracker... aku sendiri baru nak serius. Aku cakap sebagai peminat programming... dulu belajar C kat U, satu semester datang kelas 4 kali je. Tak ambik kuiz, tak hantar final assignment (blackout, bukan salah aku), terlepas satu kuiz, masih A-, ok la kan? Siapa suruh kasi aku kelas pukul 8 pagi. hahahahaha..... tapi sangkut kat C dan Assembly, buta OOP.

So jom.... siapa nak join aku belajar cracking? kita discuss kat sini... sama-sama belajar.
 
Back
Top
Log in Register