Monday, April 30, 2007

Modelling a Golf Ball

1. Make a hedra(Family = DODEC/ICOS; Family Parameters(P) = 1; Radius = 80).
2. Convert it to the EDITABLE POLY geometry.
3. Under selection rollout choose EDGE.
4. Select all EDGE, under Edit Edges rolout press Connect.
5. Repeat step 4 two times.
6. Select all edge again, than click box next to Connect Button.
7. At Connect Edges window change Segments to 2, press ok.
8. Deselect all edge and add Spherify modifier.
9. Select all vertex within the circles formed by the edges we made previously.
10. Scale the whole selection about 10%.
11. Add a Meshsmooth modifier, change it's iterations to 2/3.

Friday, April 27, 2007

Kicking Ball Using Reactor

1. Open starting scene (3DsMax 8 or higher). If you use the starting scene go to number 6

2. On create panel > click system > click Biped

3. Create one biped to your scene

4. Add a plane (name it ground) and a sphere (name it ball)

5. Animate bip01 to kick the ball

6. Select all bip01 object (press H and type bip01 > click select)

7. Add Deforming Mesh Collection

8. Select ground and ball

9. Add Rigid Body Collection

10. Select ball

11. Reactor Menu > Open Property Editor...

12. Physical Properties rollout > Mass = 50; Simulation Geometry rollout > Bounding Sphere

13. Select ground

14. Simulation Geometry rollout > Concave Mesh

15. Reactor Menu > Preview Animation

16. If you satisfy with the preview go to Reactor Menu > Create Animation.

Sunday, April 8, 2007

Cracking KeyGenMe#3

Target: KeyGenMe#3
Tool: ollydbg

1. Open KeyGenMe#3 use ollydbg.
2. Type username and password as you like.
3. Place Breakpoint at BPX GetDlgItemTextA
4. Push Test button.
5. You will stop at address 004011CF, just press F8 again and again till you at address 00401270.

00401270 > 8A1E MOV BL,BYTE PTR DS:[ESI] ; the key generator starts here
00401272 . FEC3 INC BL
00401274 . 83C3 14 ADD EBX,14 ;
00401277 . 83C3 03 ADD EBX,3 ;
0040127A . FECB DEC BL
0040127C . 83EB 05 SUB EBX,5
0040127F . FEC3 INC BL
00401281 . 83EB 07 SUB EBX,7
00401284 . 83EB 05 SUB EBX,5
00401287 . 83EB 0A SUB EBX,0A
0040128A . 83C3 0A ADD EBX,0A
0040128D . 881F MOV BYTE PTR DS:[EDI],BL
0040128F . 46 INC ESI
00401290 . 47 INC EDI
00401291 . 48 DEC EAX
00401292 > 0BC0 OR EAX,EAX
00401294 .^ 75 DA JNZ SHORT KeyGenMe.00401270 ; the key generator ends here

6. Our password are being compared here.

004012A5 . 56 PUSH ESI ; /String2 => ""                                 
004012A6 . 57 PUSH EDI ; |String1 => ""
004012A7 . E8 1A2E0>CALL ; \lstrcmpA
004012AC . 74 15 JE SHORT KeyGenMe.004012C3

7. ^ our password are placed at string 2, tthe result of calculation are placed at string 1, lstrcmpA will compare strting 1 and string 2.

8. below this is a BURN methode to erase all the calculation.

004012D2 . EB 00 JMP SHORT KeyGenMe.004012D4
004012D4 > 68 00020>PUSH 200 ; /Length = 200 (512.)
004012D9 . 68 60644>PUSH KeyGenMe.00406460 ; |Destination = KeyGenMe.00406460
004012DE . E8 D72D0>CALL ; \RtlZeroMemory
004012E3 . 68 00020>PUSH 200 ; /Length = 200 (512.)
004012E8 . 68 60624>PUSH KeyGenMe.00406260 ; |Destination = KeyGenMe.00406260
004012ED . E8 C82D0>CALL ; \RtlZeroMemory
004012F2 . 68 00020>PUSH 200 ; /Length = 200 (512.)
004012F7 . 68 60684>PUSH KeyGenMe.00406860 ; |Destination = KeyGenMe.00406860
004012FC . E8 B92D0>CALL ; \RtlZeroMemory
00401301 . 61 POPAD
00401302 . C9 LEAVE
00401303 . C2 0400 RETN 4

the key generator take character one by one and calculate it's value.

to know the calculation you can follow it trace and write down every calculation, for example a=h

example of result is

"-:CodeMakeR:-"
"4AJvklThrlYA4"

Thursday, April 5, 2007

Some tips to make 3DsMax faster

Many people have problems and get frustrated when 3dsmax freezes on them because of too many polygons in a scene, the lighting setups, and advanced textures all loaded in the viewport. Alot of people know where I'm coming from when I say this, and you may be one of them. So I'm going to give you some tips on making 3dsmax run faster for you, and how you can work more efficiently with the program.

Section 1 - Viewports:


In this section, I will be giving you tips on how to make your 3dsmax viewport run faster and more efficiently.

Let's start with the viewports, probably the most vulnerable feature of 3dsmax to freeze up. I get so many questions from people who can't work on their scenes because they add too many meshsmooth or turbosmooth modifyers to their models, and they just aren't looking at those modifyers full options. When you add any subdivision modifyer to your models, preview it with just one itteration, if it looks somewhat good, then change it back to 0, and set your render itteration to 1 or 2, if the model in the render doesn't look smooth enough, then simply add more render itterations.

When you're working on major scenes (that have about a million or so polys, and a few hundred objects), and you are stuck trying to get around in the viewport which is traveling at a choppy 2 frames per second, then simply turn the viewport wireframe mode on (hotkey: F3). It should be easier to get around in, especially when you are previewing animations. Another good alternative to the wireframe mode is the box mode (hotkey: O). In this mode all the objects in the viewport appear to be 6-poly boxes and is virtually lag free. This is an ideal solution for people who have low-grade video cards.

Another big factor for disruption in the viewports is the lighting. Lights take up quite alot of your system memory, and a good trick for dealing with that is to (simply put) delete the lights...but BEFORE you do that, select the lights (individually if you have more than one) and press F12 to get their position co-ordinates. Make a new text document or something to paste
your X,Y,Z co-ordinates and write down the light settings. This may be a little much just to free up some memory, but it's well worth it.

If you're viewport ever acts weird (such as models looking bright green and such) then why not change your viewport renderer? There are 3 options for it in 3dsmax, including Direct X, OpenGL, and Software. I recommend using D3D if you have an NVidia graphics card, they seem to perform well together. If you are using an ATI card, then go with OpenGL. If you are using card that doesn't perform as well (such as an integrated card), give all 3 a try. All options should work on any card, but some are more compatible than others). On my old video card I used the software version, and it worked great (but it isn't recommended on the hi-grade cards). To change the viewport renderer just right click on the 3dsmax icon on your desktop and go to properties, and then add "-H" at the end of the target.

Section 2 - Rendering:


In this section I will be giving you tips on how to make your rendering methods faster and more efficient.

To start off, if you have a scene that has a great looking render, and you want to keep it (and you don't feel like redoing the settings every time you work on a new project), then all you need to do is save it as a render preset file (located at the very bottom of the render dialogue window, hotkey: F10). You can save everything from the actual render settings, to the environments/effects, and even the common settings.

A good key for rendering is to choose a specific renderer that you feel comfortable working with. I particularily use VRay as my renderer, but that is a 3rd-party plugin. If you have 3dsmax v6 or later, then you will have both Default Scanline, and Mental Ray already to choose from. What you should do is learn both renderers, get aquainted with their settings and capabilities, and use whatever is to your liking. For faster renders, go with Scanline, it is very quick and efficient. If you want to make a good looking render just add a skylight with light tracer (in the Rendering, Advanced lighting menu). It has great results and renders very fast. Mental Ray can make better looking images in a timely manner, but overall it renders much more slowly (not to say that it's a bad renderer, because it is very professional).

Quick tip: While doing tests renders (not finals) delete the lights in your scene (unless they are absolutely necessary). They are one of the longest things to compute while getting ready to render. Taking them out generally cuts my rendering time in half.

Section 3 - Getting to know 3dsmax:


In this section I will be giving you tips on how to work with 3dsmax and getting to know shortcuts that will get you very far when working.

Some quick advice for new 3dsmax users, take the tutorials that are already preset with the program, they will get you farther than any other tutorials, and will teach you the basics of learning pretty much everything the program has to offer.

Another quick tip is to start using hotkeys and memorizing all of them. Here is a small list of some example shortcuts that I use all the time:

- F9: Quick Render
- F10: Render Dialogue
- Ctrl+C: Create new Camera (from current perspective)
- F12: Positioning Dialogue

Hotkeys are a godsend to me, and I always use them when I'm working. It saves me a little time here and there and end up giving me more free-time in the end. I would definitely recommend that you look at the hotkey map and get to know which keys do what, it will more than likely make your experience with max a better one.

Another great feature that 3dsmax has in the XRef importing feature, which lets you import objects from other Max scenes and places them into your new one (and no, it doesn't affect the other scene at all). You can import ANYTHING from another scene (geometric data, lights, helper objects, etc.) with XRef. I use this option whenever I'm working on large scenes so that I don't have to model an object in the scene itself. (And yes, XRef does import the materials from objects so there's no need to retexture them).

Section 4 - Overall Performance:


In this last section, I will be giving you tips on how to make 3dsmax run faster and perform better overall.

3dsmax loves RAM, and lots of it. Memory affects every aspect of how the program performs, such as the viewport, rendering, and animation. If you want it to perform better just get more ram. (I know it sounds inane, but it's a necessity).

If you already have alot of ram, but 3dsmax is still performing poorly (for some odd reason), then simply exit those other useless programs! Pretty much all graphics oriented software uses up alot of memory, and so do anti-virus/spyware programs, and instant messengers. Exit all of those programs while working inside Max. They affect how you work in the program and are consuming everything that 3dsmax needs.

Tuesday, April 3, 2007

Cracking trialcrackme

Download the target here
If you never use olly before, see this page

Tools : OllyDbg

1. Open TrialCrackMe using OllyDbg.
2. Start it first (F9).
3. Input password as you like, for example: 123456 than press Cek Password button
4. Write down the messagebox that appear:

---------------------------
SROeR Trial Crackme
---------------------------
Passwordnya masih salah bos... :D
---------------------------
OK
---------------------------

5. From Olly, you can see string "Passwordnya masih salah bos... :D" at

004010AF |. 8D05 C6304000 LEA EAX,DWORD PTR DS:[4030C6]

Whereas this string are stored at address 4030C6

6. Before that instruction, at address 004010AD there are instruction JE SHORT TrialCra.004010BC

JE instruction is an UNCONDITIONAL JUMP whereas this jump will be executed if ZERO FLAG is equal to 1

Let’s take a look at JE.

JE instruction having opcode 74 for SHORT JUMP and opcode 0F84 for LONG JUMP
opcode 74 and 0F84 also the opcode for JZ instruction. That’s means JZ and JE is a same instruction

JE (Jump if Equal)
JZ (Jump if Zero flag = 1)

Instruction that affect ZERO FLAG is at:

004010AB |. 0BC0 OR EAX,EAX

OR is a bitwise instruction
Operation OR looks like this:

1 OR 1 = 1
1 OR 0 = 1
0 OR 1 = 1
0 OR 0 = 0

So OR instruction will be 0 (FALSE) only if 2 value that is being compare have value 0
In assembly, if we found OR instruction, result of this instruction will be stored at ZERO FLAG, if the result is TRUE, so ZERO FLAG will have value 0, and soon.

7. Now place BreakPoint (F2) at address 004010AB

8. Press again Cek Password button. And now Olly will stop at our breakpoint.

9. As we can see (table 2) that EAX=1, so ZERO FLAG will have value 0, so JE SHORT TrialCra.004010BC will not be executed. Where is EAX=1 came from?? Look at instruction above it that change EAX value.

10. To make it simple, place break point at address:

00401084 |. 68 04010000 PUSH 104 ; /Count = 104 (260.)

And look at EAX value. Press F9 to resume the program.

11. Press Cek Password button and Olly will stop at address 00401084. The first EAX will have value 3EA, tracing using F8, we can see that EAX changing 2 times. And what we want to see is CALL 0040115A, whereas when it being executed EAX=1. Finally. CALL 0040115A is call function at API Kernel32 lstrcmp.

lstrcmp take 2 parameter, string1 and string2 to be compared. If it same lstrcmp result is 0.
This value will be stored at EAX.
To have EAX = 0, those 2 string must have a same value:

string1 our input : 123456
string2 pass from the program : Gw pengen belajar Reverse Engineering!

so the conculsion is the password are "Gw pengen belajar Reverse Engineering!"

Monday, April 2, 2007

My common vray renderer setting.

I usually use this setting when I work with vray in 3DsMax for rendering transparent object.

global switches = turn off default lights
image sampler = adaptive QMC
antialiasing filter = mitchell netravali
indirect illumination = on
secondary bounce = QMC GI and multiplier = 0.8
refractive GI caustics = on
irradiance map settings =
--custom min/max = -4/-3
--HSph subdivs = 20 = interp samples
--clr = nrm = 0.4
--dist = 0.1
environment =
--skylight = pure white color, 0.1 multiplier
--reflection/refraction = pure black,1.0 multiplier
QMC sampler = noise threshold = 0.005