برگزیده های پرشین تولز

اموزش مهندسي معكوس يا (craking)

QITQ

کاربر تازه وارد
تاریخ عضویت
1 اکتبر 2005
نوشته‌ها
21
لایک‌ها
0
به نقل از saeedsmk :
من يادم رفت فايل رو بزارم صداي كسي هم در نيومد جالبه يعني هيچكس دقيق اين مطلب رو خونده
:blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink:
من كه با si مشكل پيدا كردم .win ام بالا نيومد مجبور شدم با سيف مد pc رو بالا بيارم و exe .ش رو ديلت كنم:wacko:
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
به نقل از saeedsmk :
من يادم رفت فايل رو بزارم صداي كسي هم در نيومد جالبه يعني هيچكس دقيق اين مطلب رو خونده
:blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink:

به هر حال اين فايل

سلام.من كه نتوستم برنامه رو اجرا كنم.همون پنجره ي Don't Send مياد.ويندوزم XP هستش.مشكل كجاست؟!
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran
من هم نتونستم اجراش كنم ، يه ثانيه پروسش باز ميشه ، بسته ميشه ....:hmm:
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
اقا معذرت فايل اصلي يه فايل پك شده بود و چون import table رو دستكاري كرده بود مجبور شدم اين قسمت رو باز سازي كنم . اما چون توي 98 اين كار رو كردم و از سه فانكشن kernel32 استفاده كرده بودم كه توي xp ادرسشون با 98 يكي نيست فايل درست كار نميكرد و error ميداد

لذا مجبور شدم از ipmrec استفاده كنم كه جواب داد اميدوارم روي دستگاه شما هم كار كنه( مگه دست خودشه!!!!!!! خوب كار نميكنه !!!!!!!!!!!)

فايل رو دوباره upload كردم

روي xp من درست كار كرد مرسي از توجه تون

حرفم پس ميگيرم همه با توجه مطلب رو خوندن
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
هر كي يه كرك مي بذاره تا در موردشون بحث كنيم
:lol:
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
آخيش!جونم در اومد!!سريال اولي 20022003 هستش.اما دومي...
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
با سلام
اين مبحث يه مقداري پيشرفته است و ممكنه كه دوستان نو اموز درست اون رو درك نكنند ( مثل خود من) پس اگه چيزي رو درست نفهميدين مشكل از منه بپرسين تا اگه ميدونستم ( چون منم مثل شما نو آموز هستم ) بگم
چنتا تاپيك بود در مورد اينكه چه طوري بتونيم يك فايل ocx و يا dll رو كه پك شده و يا قفل توسط اون چك ميشه رو مورد بررسي قرار داد
براي اين كار به لوازم زير نيازمنديم
- ProcDump32 v162 و يا ورژنهاي ديگش
- 0.93 PEiD يا ورژنهاي ديگش
- ImportREC v 1.6 يا ورژنهاي ديگش
-Hex Workshop با ورژن 2 به بالا يا برنامه هاي hex editor هاي مشابه ( ولي ترجيحا همين برنامه )
برنامه اي كه روش كار ميكنيم يه برنامه است كه با وي بي نوشتم و دو تا فايل داره
test.ocx و testocx.exe


خوب اول مثل هميشه مقدار تئوري در مورد اين مطلب از خودم در وكنم ( البته كامل نيست)
هر فايل pe يا Portable exe مثل فايلهاي exe . فايلهايdll . فايلهاي ocx و فايلهاي vbx كه تحت ويندوز اجرا ميشن حتي اونايي كه تحت لينوكس اجرا ميشن داراي يه قسمت هدر هستن .
هر هدري داراي اطلاعاتي است كه براي اجرا شدن فايل اجرايي توسط سيستم عامل . سيستم عامل به اون اطلاعت نيازمند است. خوب اين اطلاعات چيه؟
هر فايل اجرايي كه توسط ويندوز اجرا ميشه توسط يه لودر بار ميشه . ابتدا لودر چك ميكنه كه ايا هدر درست است يا نه بعد سيستم عامل يه ماشين مجازي با 4 گيگ ( 32 بيتي ) حافظه ميسازه و لودر بر اساس اطلاعات توي هدر فايل رو توي حافظه لود ميكنه
اين اطلاعت شمال تعداد سكشن ها ( هر قسمت كه داراي اعضايي است كه همگي داراي يكسري مشخصات عمومي است مثل ديتا - كد - استرينگها و جدول وردويها Import Address Tableيا iat) مقدار فضاي كه هر سكشن روي هارد ميگيره و همچنين توي مموري بهش نياز داره و محل شروع و اتمام اون روي هارد و محل شروع و اتمام اون توي حافظه و.... ميباشه .
خوب حالا وقتي لودر اختيار اين ماشين مجازي رو به دست برنامه ميده برنامه بايد از كجا شروع كنه
اينجا يكي ديگه از اطلاعات هدر به كمك لودر مياد يعني محل شروع يا entry point كه مابهش ep ميگيم . دونوع ادرس براي ep وجود داره مجازي ( يا محل شروع اون توي حافظه ) و واقعي كه محل شروع كد رو روي هارد ميگه .
خوب يه برنامه پكر چيكار ميكنه ؟
هيچي مياد هر سكشن رو تغيير ميده و بعد كد يا كمپرس كرده و روي هارد ذخيره ميكنه .
وقتي برنامه اجرا ميشه و لودر ويندوز همه كارها رو كرد و اختيار ماشين مجازي رو بدست برنامه داد . ابتدا لودر پكدر اجرا ميشه وهمه چيز رو از حالت كد شده در مياره و درست در محل هاي خودش قرار داه و بعد با پرش به ep برنامه اصلي اختيار رو بدست برنامه ما ميده .
راستي هنگامي كه يه برنامه تحت ويندوز نوشته بشه احتياج داره كه از يكسري از كتابخانه هاي ويندوز استفاده كنه ولي چه طوري ؟
خوب هنگامي كه لودر ويندوز برنامه مارو لود كرد مياد و سري به iat ميزنه و ميبينه كه چه تابع هاي لود شدن مياد و بر اساس اون تابعها ( برنامه هاي لود شده قبلي مثل كرنل و يا لود شده توسط لودر مثل dll هاي مورد نياز برنامه) پرشها و كالها رو بصورت ويرچوال يا مجازي ( يعني روي هارد اين ادرسها موجود نيستند) ادرس دهي ميكنه و برنامه رو قادر ميسازه كه از اين ادرسها استفاده كنن .
نكته : ماشين مجازي توي حلقه 3 كار ميكنه مثل كرنل و يا يوزر !!!!!!!!!!
اطلاعات پايه در زمينه انپك كردن رو بدست اورديم براي بدست اوردن نحوه كار بصورت دقيق مي تونيد به مقاله هاي كه در زمينه ساختار pe وجود داره ( منتشر شده توسط مايكروسافت ) يا ديگر منابع رجوع كرد.

توي اين مبحث بايد از قسمتهاي كه كار انپك كردن رو انجام ميدن بگذريم و هنگامي كه فايل انپك شد اون رو روي هارد ذخيره كنيم .

خوب ما ميخوايم برنامه اي رو ان پك كنيم روش كار به اين صورت كه ابتدا بايد eop برنامه رو بدست بياريم

نكته : حتي فايل هاي dll و... كه توي بالا ذكر كردم و به تنهايي نميتونيم اون ها رو اجرا كنيم و حتما بايد يه فايل exe اونها رو كال كنه هم محل شروع كد دارن كه يكسري از متغيرهاي عمومي و در صورت لزوم فانكشن هاي اصلي يا main function توي اون تعريف و مقدار دهي ميشن

بعد بايد يه جوري خودمون رو به اين كد برسونيم و با تريس كد هنگامي كه كد لودر فايل پك شده رو لود كرد و اون رو ان پك كرد و خواست به ابتداي كدمون بپره يقشو بچسبيم و فايل انپك شده رو روي هارد ذخيره كرده و با تصحيح اون اماده بشيم براي در اوردن فايل اصلي

:::شروع بازي :::

خوب فايل ocx كه پك شده رو با PEiD چك ميكنيم اين اطلاعات رو ميده ( همه اعداد در مبناي hex)
ep روي هارد يا offset ep ( كه بهش ميگيم از اين به بعد O_PE) :1470
ep در حافظه يا ويچوال اون (كه بهش ميگيم از اي به بعد V_PE):9070
كه اين مقدار رو بعلاوه محل بلر گذاري كدها ميكنيم يعني بعلاوه 11000000) ميتونيد اين رو توي سومين دكمه > بدست بياريد همون image base)
و محلي يا سكشني كه EP توش وجود قرار داره :UPX1
وكد ي كه در eP قرار داره ( متونيد اين كد رو با زدن دومين دكمه > بدست بياريد ):

کد:
11009070: 80 7C 24 08 01                 CMP BYTE PTR [ESP+08],01
11009075: 0F 85 86 01 00 00              JNZ 11009201
1100907B: 60                             PUSHAD 
1100907C: BE 00 80 00 11                 MOV ESI,11008000
11009081: 8D BE 00 90 FF FF              LEA EDI,[ESI+FFFF9000]
11009087: 57                             PUSH EDI

همون طوري كه ميبينيد كد شروع برنامه ما با 807c240801 شروع ميشه
براي اينكه بتونيم برنامه رو تريس كنيم از قابليت si استفاده ميكنيم يعني كد اول رو به اين تغيير ميديم cc7c240801 و بعد فايل رو سيو ميكنيم cc يعني ماشين كد دستور Int 3

نكته: براي اين كار برنامه test.ocx رو با hexeditor مون باز ميكنيم و بعد بازدن Alt+F5 ( گزينه goto)و انتخاب از ابتداي فايل مقدار 1470 در حالتي كه دكمه راديو اي hex انتخاب شده توي editBoxميزنيم و Go رو ميزنيم
ما بايد همچين كدي رو ببينيم 80 7c 24 08 01 و ....

خوب وارد si ميشيم و توي كامندش ميزنيم Bint 3 يعني روي int 3 بريك پوينت ميزاريم
f5 رو زده و برنامهمون رو اجرا ميكنيم ( يعني testocx.ocx) بينگو si بالا اومد خوبه ما در ابتداي كديم ولي يه مشكلي هست ابتداي كد رو تغيير داديم
براي برگدوندن اون به حالت اول توي خط كد ميزنيم e eip يعني ميخوايم كد اي كه eip نشون ميده رو اديت كنيم و اينتر ميكنيم كنترل به پنجره كد ميره
توي پنجره data مقدار cc رو به 80 تغيير داده و اينتر ميزنيم حالا ميتونيم كد رو تريس كنيم
قسمت هاي مهم كد رو كه بايد از روشون رد شد ( در واقعه توابع اي كه برنامه رو انپك ميكنم رو ميگم و كاري به اينكه دقيقا چيكار ميكنم ندارم - بعدا همشون رو توضيح ميدم )
اونقدر F10 ميزنيم تا به كد زير برسيم

کد:
1100909A: 8B 1E                          MOV EBX,[ESI] <---شروع كد انپك كردن
1100909C: 83 EE FC                       SUB ESI,FC
1100909F: 11 DB                          ADC EBX,EBX
110090A1: 72 ED                          JB 11009090
110090A3: B8 01 00 00 00                 MOV EAX,00000001
110090A8: 01 DB                          ADD EBX,EBX
دوباره اونقدر F10  ميزنيم تا به كد زير برسيم 
 ==> 11009125  8A02                MOV       AL,[EDX]                           
01A7:11009127  42                  INC       EDX                                
01A7:11009128  8807                MOV       [EDI],AL                           
01A7:1100912A  47                  INC       EDI                                
01A7:1100912B  49                  DEC       ECX                                
01A7:1100912C  75F7                JNZ       11009125                (JUMP ^) 
01A7:1100912E  E963FFFFFF          JMP       11009096          <--- پرش به اول حلقه كد انپك كردن *1
01A7:11009133  90                  NOP                                         
01A7:11009134  8B02                MOV       EAX,[EDX]      <--- محلي كه ميتونيم بريك پوينت بزاريم  *2
 خوب روي خط *1 بريك پوينت گذاشته و F5 رو ميزنيم و بعد از زدن F10 به اين كد ميرسيم 
1A7:11009096  01DB                ADD       EBX,EBX                           
01A7:11009098  7507                JNZ       110090A1                           
01A7:1100909A  8B1E                MOV       EBX,[ESI]                          
01A7:1100909C  83EEFC              SUB       ESI,-04                            
01A7:1100909F  11DB                ADC       EBX,EBX                            
01A7:110090A1  72ED                JB        11009090        
                          <--- پرش به محل اي كه مقداير انپك شده رو توي حافظه ميزاره 
 با زدن F10 به اين كد ميرسيم :
01A7:11009090  8A06                MOV       AL,[ESI]    <---گرفتن مقدار انپك شده 
01A7:11009092  46                  INC       ESI                     <--- افزايش كانتر            
01A7:11009093  8807                MOV       [EDI],AL                  <--- قرار دهي كد درون ادرس         
01A7:11009095  47                  INC       EDI                                
01A7:11009096  01DB                ADD       EBX,EBX                            
01A7:11009098  7507                JNZ       110090A1

حالا اگر توي si بزنيم d edi توي پنجره كد ميتونيم مقادير انپك شده رو ببينم. هر دفعه كه F5 بزنيم محتوايات اين پنجره عوض ميشه .
خوب بايد اين مرحله رو رد كنيم چيكار كنيم ايندفعه كه f5 زديم و وارد Si شديم بريك پوينت قبلي رو برميداريم و بعد كد رو اناليز ميكنيم كه كجا بريكپوينت بزاريم

کد:
01A7:1100912C  75F7                JNZ       11009125                          
01A7:1100912E  E963FFFFFF          JMP       11009096                (JUMP ^) <--- we here 
01A7:11009133  90                  NOP                                           |--'if we hmp from this jmp 
01A7:11009134  8B02                MOV       EAX,[EDX]                 <---' we land here
01A7:11009136  83C204              ADD       EDX,04                             
01A7:11009139  8907                MOV       [EDI],EAX                          
01A7:1100913B  83C704              ADD       EDI,04                             
01A7:1100913E  83E904              SUB       ECX,04                             
01A7:11009141  77F1                JA        11009134                           
01A7:11009143  01CF                ADD       EDI,ECX                            
01A7:11009145  E94CFFFFFF          JMP       11009096       <--- again to top 
01A7:1100914A  5E                  POP       ESI                      <--- we Bpx here

بر اساس توضيحاتي كه دادم ما روي خط 1100914A بريك پوينت ميزاريم
-F5 رو ميزنيم خوب قسمت اول انپك رو رد كرديم بريم ببينيم قسمت دوم رو ميتونيم رد كنيم يا نه
كد رو اناليز ميكنيم

کد:
01A7:1100914A  5E                  POP       ESI                               <-- we here
01A7:1100914B  89F7                MOV       EDI,ESI                            
01A7:1100914D  B907000000          MOV       ECX,00000007                       
01A7:11009152  8A07                MOV       AL,[EDI]                          <--- آغاز يه حلقه  
01A7:11009154  47                  INC       EDI                                
01A7:11009155  2CE8                SUB       AL,E8                              
01A7:11009157  3C01                CMP       AL,01                              
01A7:11009159  77F7                JA        11009152                           <-- پرش به بالا
01A7:1100915B  803F00              CMP       BYTE PTR [EDI],00                  
01A7:1100915E  75F2                JNZ       11009152                           <-- دوباره پرش به بالا
01A7:11009160  8B07                MOV       EAX,[EDI]                          
01A7:11009162  8A5F04              MOV       BL,[EDI+04]                        
01A7:11009165  66C1E808            SHR       AX,08                              
01A7:11009169  C1C010              ROL       EAX,10                             
01A7:1100916C  86C4                XCHG      AL,AH                              
01A7:1100916E  29F8                SUB       EAX,EDI                            
01A7:11009170  80EBE8              SUB       BL,E8                              
01A7:11009173  01F0                ADD       EAX,ESI                            
01A7:11009175  8907                MOV       [EDI],EAX                          
01A7:11009177  83C705              ADD       EDI,05                             
01A7:1100917A  89D8                MOV       EAX,EBX                            
01A7:1100917C  E2D9                LOOP      11009157                           <-- ادامه حلقه 
01A7:1100917E  8DBE00700000        LEA       EDI,[ESI+00007000]		<-- محل مناسب

خوب روي خط 1100917E بريك پوينت مي زاريم
دوباره چندتا f10 ميزنيم ميبينيم هي به اين كد ميرسيم

کد:
 ==> 110091A1  8A07                MOV       AL,[EDI]                           
01A7:110091A3  47                  INC       EDI                                
01A7:110091A4  08C0                OR        AL,AL                              
01A7:110091A6  74DC                JZ        11009184                           
01A7:110091A8  89F9                MOV       ECX,EDI                            
01A7:110091AA  7907                JNS       110091B3                           
01A7:110091AC  0FB707              MOVZX     EAX,WORD PTR [EDI]                 
01A7:110091AF  47                  INC       EDI                                
01A7:110091B0  50                  PUSH      EAX                                
01A7:110091B1  47                  INC       EDI                                
01A7:110091B2  B95748F2AE          MOV       ECX,AEF24857                       
01A7:110091B7  55                  PUSH      EBP                                
01A7:110091B8  FF96949A0000        CALL      [ESI+00009A94]                     
01A7:110091BE  09C0                OR        EAX,EAX                            
01A7:110091C0  7407                JZ        110091C9                           
01A7:110091C2  8903                MOV       [EBX],EAX                          
01A7:110091C4  83C304              ADD       EBX,04                             
01A7:110091C7  EBD8                JMP       110091A1                (JUMP  )<--كد تكرار شونده
01A7:110091C9  61                  POPAD

<--- اگه اينجا بريك پوينت بزاريم هيچ وقت به si برنميگرديم چون اين در صورتي صورت ميگيره كه خطايي روي بده از روي صفر كردن eax و تابع خروج فهميدم ( ميتونيد تست كنيد )

کد:
01A7:110091CA  31C0                XOR       EAX,EAX 
01A7:110091CC  C20C00              RET       000C

خوب حال چيكار بايد كرد تنها پرش هاي ما توي اين چرخه يكي خط 11001a6 وديگري 110091c0 هستش
خط دوم كه هيچي( بالا توضيح دادم چرا )ولي كدي كه توي خط اول بهش پرش ميشه اينه

کد:
01A7:11009184  8B07                MOV       EAX,[EDI]                          
01A7:11009186  09C0                OR        EAX,EAX                            
01A7:11009188  7445                JZ        110091CF                           <--- پرش به انتهاي حلقه

خوب معلومه روي خط 110091CF بريك پوينت ميزاريم و F5 رو ميزنيم بينگو اين مرحله رو هم رد كرديم
چنتا F10 ميزنيم ميبينيم كه هي به اين پرش ميرسيم :

کد:
 ==> 110091D5  31C0                XOR       EAX,EAX              <--- اغاز شروع حلقه
01A7:110091D7  8A07                MOV       AL,[EDI]                        
01A7:110091D9  47                  INC       EDI                                
01A7:110091DA  09C0                OR        EAX,EAX                            
01A7:110091DC  7422                JZ        11009200              <---ممكنه خروج از حلقه باشه 1
01A7:110091DE  3CEF                CMP       AL,EF                              
01A7:110091E0  7711                JA        110091F3              <---2ممكنه خروج از حلقه باشه 
01A7:110091E2  01C3                ADD       EBX,EAX                            
01A7:110091E4  8B03                MOV       EAX,[EBX]                          
01A7:110091E6  86C4                XCHG      AL,AH                              
01A7:110091E8  C1C010              ROL       EAX,10                             
01A7:110091EB  86C4                XCHG      AL,AH                              
01A7:110091ED  01F0                ADD       EAX,ESI                            
01A7:110091EF  8903                MOV       [EBX],EAX                          
01A7:110091F1  EBE2                JMP       110091D5                (JUMP ^)   پرش به ابتداي حلقه
01A7:110091F3  240F                AND       AL,0F                              
01A7:110091F5  C1E010              SHL       EAX,10                             
01A7:110091F8  668B07              MOV       AX,[EDI]                           
01A7:110091FB  83C702              ADD       EDI,02                             
01A7:110091FE  EBE2                JMP       110091E2               <---پرش بدرون حلقه قبلي 
01A7:11009200  61                  POPAD                                        
01A7:11009201  E9AA7FFFFF          JMP       110011B0

خوب خط 2 نمي تونه خروج از حلقه باشه چون به جاي ميپره كه بعد دوباره ما رو بدون حلقه برميگردونه پس خط 1 خروج از حلقه است خوب روي 11009200 بريك پوينت ميزاريم و f5 رو ميزنيم بله درست بود .
يه نگاه به كد ميشه فهميد كه به پرش به oep نزديك شديم !!!!!!!1
چرا خوب نگاه كنيد ما اول كد داشتيم PushAD يعني همه چيز ذخيره بشه و حالا داريم popAD يعني همه چيز برگدونده بشه به حالت اول انگار نه انگار لودر پكري بوده خوب پس جامپ بعدي يعني جامپ يه Oep ( يعني نقطه شروع اصلي)
براي اطمينان تريسش ميكنيم ميبينيم كه اولين لود Api روي داده يعني خط ×× پس خط 110011b0 همون OEP ماست .
حالا چيكار كنيم كه فايل انپك شده رو روي هارد بريزيم خوب هنگامي كه به خط 11009201 رسيدم اين كار رو ميكنيم كدش رو به EBFE تغيير ميديم يعني بپر به خودم يا در واقعه وايسا
براي اين كار بت زدن e eip كدرو تغيير ميديم بعد ميزنيم bd* يعني همه بريك پوينت را از كار بنداز
f5 رو ميزنيم و حالا برنامه ProcDump32 رو اجرا كرده واز ليست taskاي با نام testocx.exe رو انتخاب ميكنيم
حالا توي ليست Module روي test.ocx كليك راست كرده و گزينه dump(full) رو ميزنيم و بعد همون جاي كه فايل testocx.ocx هست رو انتخاب و با نام test-dump.exe ذخيره ميكنيم . حالا توي ليست task روي testocx.exe كليك راست كرده و گزنه killtask رو ميزنيم

نكته : فايل ما با پسوند exe ذخيره ميشه پسوند اون رو بايد بصورت دستي ocx كنيم

حالا ما يه فايل داريم كه انپك شداست ولي دو مشكل داره يكي اينكه ep اون اشتباه است ( ادرس لودر رو داره ) و دومين مشكل اينكه iat مشكل داره .
خوب حل مشكل يك توي ProcDump32 روي دكمه pe editor كليك كرده و فايل test-dump.ocx رو انتخاب ميكنيم و بعد مقدار ep رو برابر 11b0 ميزاريم چون
کد:
110011B0-baseimage(110000000)=11B0
ok كرده و ProcDump32 رو ميبنديم خوب مشكل اول حل شد .
اما مشكل دوم
ابتدا test.ocx رو با فايل اصلي جايگزين ميكنيم يا اينكه بايت اوليه كه برابر 80 و ما كرديمش cc ميكنيمش 80
بعد فايل رو اجرا كرده
حال برنامه ImportREC اجرا و توي قسمت Attach to an ... فايل testocx.exe رو انتخاب و گزينه pick dll رو ميزنيم
test.ocx رو انتخاب ميكنيم توي قسمت لود اين مقدار ديده ميشه

کد:
modle selected :xxxxxxx\test.ocx

كه نماينده xxxxxxx مسير فايله.
خوب توي قسمت OEP مقدار بدست امده رو كه برابر 11b0 ايت رو وارد كرده IAT AutoSearch رو ميزنيم
يه چيزاي ميگه كه مهم نيست ( براي ما اما بعضي از وقت ها كمك ميكنه)
ok رو ميزنيم دكمه get imports رو ميزنيم توي پنچره imported Function found يه خط مياد كه ميگه msvbm60.dll پيدا شده ( و نكته مهم اينكه كه ميگه اين valid)
خوب دكمه fix dump رو زده و فايل test-dump.ocx رو انتخاب ميكنيم حالا توي ليست log بايد نوشته باشه
کد:
D:\CRACK\crack ocx\test-dump_.ocx saved successfully.
براي امتحان برنامه testocx.exe رو ميبنديم و test.ocx اصلي رو به نام اي مثلا test1.ocx تغيير نام ميديم و همچنيم فايل test-dump_.ocx رو به نام test.ocx تغيير نام داده و فايل testocx.exe رو اجرا ميكنيم

بينگو همه چيز درسته

اميدوارم توضيحات كامل باشه و كمك تون كنه از اينكه اينهمه سرتون رو درد اوردم معذرت ميخوام:)


:lol: :wacko: :wacko:
 

فایل های ضمیمه

  • crack ocx.zip
    9.7 KB · نمایش ها: 62

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
سلام.هنوز نتونستم دقيق بخونمش. اما دستت درد نكنه.
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran
آقا سعيد دستت درست ...
بچه ها اين يعني چي ؟ : Mov EAX,8
مگه قالب دستور اين شكلي نبود ؟ Mov Dest,Src
خوب ، اين يعني EAX مساوي قرار بده با 8؟ يا يعني EAX رو به اضافه 8 كن ؟
اگه ميشه يه مختصر توضيح بديد ، ممنون:blush:
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
اين ادرس دهي يا مقدار دهي مستقيم
يعني eax برابر 8 بشه
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
دوستان توي اين چند روزه يه اموزش ديگه ميزارم
راستي كسي روي كرك برنامه هاي جاوا نوشته شده براي گوشي هاي موبايل كار كرده و اصلا مي دونين اين فايلهاي class با چه چيزي بجز جاوا كنسول باز ميشن
مرسي از راهنمايهايتون
 

rezamansouri

کاربر تازه وارد
تاریخ عضویت
30 مارس 2005
نوشته‌ها
146
لایک‌ها
3
محل سکونت
Tehran
سلام
خسته نباشید
من همین امروز با شما آشنا شدم و از این بابت خیلی خوشحالم.
من برای کرک از W32dsm89 استفاده می کنم و برای ادیت فایل های اجرایی از HIEW .

راستی Crackme2 را هم با همین ابزارها کرک کردم.خلاصه کار را در زیر آورده ام .

Virtual Address Original Byte Patch Byte
l:00401EB 74 90 l
l:00402EC 05 90 l
l:00402ED E9 90 l
l:00401EE B2 90 l
l:00401EF 81 90 l
l:00401F0 05 90 l
l:00401F1 00 90 l
l:0040337 75 90 l
l:0040338 13 90 l
l:004033C 75 90 l
l:004033D 0E 90 l
l:0040341 75 90 l
l:0040342 09 90 l
l:004034A 74 75 l
l:00403DB 74 90 l
l:00403DC 05 90 l
l:00403DE BE 77 l
l:0040457 75 90 l
l:0040458 47 90 l

این هم برای اینکه مطمئن بشی درسهایت را دنبال خواهم کرد.

امید وارم از شما و دیگر دو ستان مطالب مفیدی یاد بگیرم.

باز هم ممنون.
 

Meteor

کاربر تازه وارد
تاریخ عضویت
31 می 2004
نوشته‌ها
124
لایک‌ها
1
سن
44
سلام دوستان .
من بعد از مدتی گشتن به دنبال یه سایت فارسی مناسب در زمینه مهندسی معکوس یادم آمد که به اینجا سری بزنم . من در حدود دو سالی هست که در زمینه مهندسی معکوس مطالعه دارم . اما تمامی مراجع و رفرنس های من همگی انگلیسی بودند . من در حدود 300 مگا بایت مقاله را از اینترنت جمع آوری کرده ام و سعی کرده ام تا همه مقالات را مطالعه کنم . اما تا به حال هیچ مقاله فارسی پیدا نکرده بودم . تا اینکه امروز این مبحث را دیدم . خیلی خوشحال شدم اما وقتی شروع کردم به مطالعه از یه چیز ناراحت شدم . مقاله هایی که نوشته شده خیلی خوب هستند اما در هم بودن و مخلوط شدن چند موضوع با هم و اینکه در یک تاپیک عرضه شدن باعث اذیت شد . چه خوب بود ک بخشی در مورد کرکینگ باز بشه و خودش دارای قسمت هایی از قبیل مهندسی معکوس برای نوآموزان 2- مرا بشکنید ها 3- مقالات و .. باشه تا تمرکز مقالات و یکپارچگی موضوعات حفظ بشه . اگر این کار را انجام بدید من یکی قول همکاری را میدم . تا هر چیزی را که بلد شدم را در اختیار بقیه قرار بدم بلکه دیگران هم چیز هایی را به من یاد بدن آخه اگر قراره چیزی یاد بگیریم باید چیزی را یاد بدیم . طی این مدت که توی این سایت های خارجی سیر می کردم می دیدم که اونها با چه عشقی مقاله هاشون را نوشته اند و از اینکه دارن به بقیه اطلاعاتی را که به سختی به دست آوردن به این راحتی ارائه میدن لذت بردم . اما سعی کنید تا یک بخش مجزا ایجاد بشه و قوانین خاصی هم برای رعایت حقوق دیگران رعایت بشه . مثلا اینکه کسی اجازه آپلود کردن هدف را نداره و فقط میتونه سئوالی را بپرسه و مشکلش را مطرح کنه تا سعی در حل مشکل و آموزش بشه . من خودم زمانی که شروع کردم به اینکه چطور این کرکر ها کی میکر میسازن کلی به دنبال این گشتم که چهار تا مقاله پیدا کنم . تا آخر یه جایی یه نفر این سئوال را پرسیده بود (البته انگلیسی) و طرف فقط بهش جواب داده بود که به دنبال این کلمات بگرد KeyGen Tuts همین . کار من هم از اینجا شروع شد. حالا خواهش میکنم این بخش را هر جوری هست راه اندازی کنید و یا حداقل یه سایت ایرانی معرفی کنید که فقط کارش همین باشه . من از سایت هایی مانند کروبار و وودمن و کرکمی دات دی ای به شخصه لذت بردم . چقدر عالی میشه که خودمون هم این چنین سایت هایی را داشته باشیم .
 

hajihasani

کاربر تازه وارد
تاریخ عضویت
19 جولای 2004
نوشته‌ها
1
لایک‌ها
0
:) سلام دوستان
خسته نباشيد
من امروز وارد اين مبحث شدم
به خصوص از نظرات آقا سعيد خيلي استفاده كردم
اميدوارم كه مباحث باز هم ادامه داشته باشه .:lol:
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
خوب هستيد
چه خبرا دير به دير مي اي مشتاق ديدار
خوب دارك لورد جان بگو در مورد چي بحث كنيم روي چشم ادامه ميدم
روي چشم

به اميد ديدار
 
بالا