News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Some questions about parts of code i cant understand .

Started by sunshine33, April 13, 2018, 07:12:50 AM

Previous topic - Next topic

sunshine33

This is for learning purposes only and  for having a deeper understanding .

In this section of the code

SUB_L00401000:
  push ebx
  sub esp,00000038h
  mov eax,[L00482600]
  test eax,eax
  jz L00401029
  mov dword ptr [esp+08h],00000000h
  mov dword ptr [esp+04h],00000002h
  mov dword ptr [esp],00000000h
  call eax
  sub esp,0000000Ch


L00401110:
  push ebx
  sub esp,00000028h
  mov eax,[esp+30h]
  mov eax,[eax]
  mov eax,[eax]
  cmp eax,C0000091h
  ja L00401160
  cmp eax,C000008Dh
  jc L00401177


What does these mean ?

QuoteSUB_L00401000:
QuoteL00401110:





Lonewolff

They are labels.

For example jz L00401029 will jump to the routine labelled L00401029:

Saves you having to know exact memory locations etc..

sunshine33


Lonewolff

Someone correct me if I am wrong (still learning), but I believe they are subroutines in this case.

zedd151

Quote from: Lonewolff on April 13, 2018, 07:30:12 AM
Someone correct me if I am wrong (still learning), but I believe they are subroutines in this case.

I guess it depends on the software authors intent I believe.

RuiLoureiro

Quote from: Lonewolff on April 13, 2018, 07:30:12 AM
Someone correct me if I am wrong (still learning), but I believe they are subroutines in this case.
What do you call a subroutine ?
             If it is to be called by "call ..." it should end with "ret". If not it is a piece of code  :t


LordAdef


sunshine33

Yes ,
And i don't know how to code complicated things like that right now .

LordAdef

Quote from: sunshine33 on April 14, 2018, 12:21:15 AM
Yes ,
And i don't know how to code complicated things like that right now .


Yep. Look, we don't really know what you are after, but looks like reverse engeneering. You are not going to learn Assembly this way. You need to learn the foundation first without messing with someone else's code.


This place is full of invaluable resources, if you really want to learn

sunshine33

Thanks for the reply
But somebody gave this little application called simplecppreverseme.exe when we were talking about some reverse engineering basics .
I still have that application with me .If anybody wants i can share that .

I disassembled it and there were more than 1500 lines of subroutines in it .
I got stuck again .

Then i was thinking about starting from scratch once again