Is there some tool that allows me to convert assembly language code to another language such C, Visual Basic or any other understandable language.
Posted on 2004-04-10 06:28:54 by Tom
Maybe you have to learn a little (and write a little) and then you will realize that assembler is much more understandable than C or VB.
Posted on 2004-04-10 06:39:53 by JohnFound
Can you provide me with a simple example of how can I read a file using Assembly language
Posted on 2004-04-10 06:43:09 by Tom

Can you provide me with a simple example of how can I read a file using Assembly language


Well, here is one example procedure from project Fresh ( http://fresh.flatassembler.net ). You probably can't use it exactly in this form, but you still can take the basic ideas.

Also, you MUST get Win32 API help files if you want to write and/or understand Windows programing.



;--------------------------------------------------------------------
; Allocates needed memory and loads the entire file in this memory.
; Returns pointer to memory block or NULL if there is error.
; Returns size in ecx
;--------------------------------------------------------------------
proc LoadBinaryFile, hFileName
.bytes dd ?
begin
push esi edi ebx

stdcall StrPtr, [hFileName]
invoke CreateFile, eax, GENERIC_READ,FILE_SHARE_READ, 0, \
OPEN_EXISTING, 0, 0

cmp eax, INVALID_HANDLE_VALUE
je .error
mov edi, eax

invoke GetFileSize, edi, NULL
mov ebx, eax

lea ecx, [ebx+2] ; It is for the case that the file is
; text and we want to use it as null terminated
; string.

invoke HeapAlloc, [hHeap], HEAP_ZERO_MEMORY, ecx
mov esi, eax
test esi, esi
jz .close

lea ecx, [.bytes]
invoke ReadFile, edi, esi, ebx, ecx, NULL

.close:
invoke CloseHandle, edi

test esi, esi
jz .error

cmp [.bytes], ebx
je .ok

invoke HeapFree, [hHeap], 0, esi

.error:
xor eax, eax
xor ecx, ecx
pop ebx edi esi
return

.ok:
mov eax, esi
mov ecx, ebx
pop ebx edi esi
return
endp


Regards.
Posted on 2004-04-10 06:51:21 by JohnFound
really do you want a converter
here it is
hxxp://www.mpsinc.com/masm2c.html <------ xx to tt

hxxp://www.mpsinc.com/index1.html#trans <----- xx to tt

and some s***** demos
hxxp://www.mpsinc.com/download.html <------- xx to tt

do execute the download in a seperate folder so that you can shift delete the whole folder ;)
Posted on 2004-04-11 13:20:11 by bluffer
Well, well. Still looking for a way to crack your program, Tom? What was it? Oh yeah, you wanted to change the number of tries from 20 to unlimited.


or any other understandable language.


Like someone else already said: learn assembler, Tom! Then you won't have to ask questions like these anymore. But no, your too lazy (or is it too dumb?) to learn assembler, and so you're looking for a lamer solution. Some cracker you are!


BTW: This is an assembler forum. If you want *any other understandable language* I suggest you move on to some *other understandable language* forum.
Posted on 2004-04-11 14:36:05 by Sir Fartsalot
Tom,
I posted a file going from C to MASM. Maybe that will help you. Ratch http://www.masmforum.com/viewtopic.php?t=2449
Posted on 2004-04-11 16:12:59 by Ratch
*any other understandable language*



You know, asm is very understable, because what? simple, also the computer can interpret near what mnemonics say to do. If a simple thing can understand asm (or the representation with 0's and 1's) not a natural language, then is more basic and simple asm, the thing here is that you need say all that you whant to do or you have a more desciptive language in other level more direct.


My sugestion is that you take some little boxes, then some pencils (or some that you can put there and put away easy) and also find a new bigger box, then sit in front of a table, now time to udnerstand how PC work.
Mark the boxes with the names eax, ebx, ecx, edx, esi, edi, ebp, esp, ss, cs, ds, es, EIP and flags register. Put they some where in the table. Now think that the whole table is the memory of your PC, now select a place to put your programm, where you choice, put the bigger box, there will be placed your programm, for mark the programm size, put inside the box, a thing that you will not move and dont change of form. Then at the oposite say is the stack ss will load the end direction. ds, cs and es will be loaded with the respective directions.

Now is time, go to the algoritm section and find a simple example, when you find it, you can start making a step by step execution, you have the necesary in front of you!, the whole memory (with a specific part selected for your programm), and the registers including the EIP, and the things inside your program at execution, like the data, code and stack.

How to use the stack?, each time that you see a push, put a pencil starting in the place where I say that is pointing SS (the oposite said where you put you programm inside the program memory space), and each time that you see a pop, move the pencil inside the specified register or memory inside your programm memory space. Learn how each instruction modify the registers and data. If necesary represent each instruction with movements and modifications. The instruction set at first maybe look a bit horrible, because of the extension, eventually will be like you language, remember that take time learn how to talk (a natural language) and now, normally you will use it with some skill at expression.

At the end goes like you whant, but learn asm. This is only a sugestion on how to learn, adapt to your way.


If you have question do them, but some time try find the answer first, if you dont find it or you dont understand it, then make a direct question.


Have a nice day or night.
Posted on 2004-04-12 09:23:34 by rea
Thanks for your smart way to push me to start learning ASM
Posted on 2004-04-12 10:02:01 by Tom