flat assembler
Message board for the users of flat assembler.

Index > Tutorials and Examples > AOXXX

Goto page Previous  1, 2, 3, 4  Next
Author
Thread Post new topic Reply to topic
avcaballero



Joined: 02 Feb 2004
Posts: 214
Location: Madrid - Spain
avcaballero 13 Jan 2025, 08:48
GDIPlusWC06.exe worked right in W7, when I compiled it time ago, but it don't in W10 (the same executable). Recompiling it, worked fine in W10 now. Interesting.

Mikl, I'm very interested in your art of decompiling executable files, when will there be a guide on how you do it?


Description:
Download
Filename: GDI+_TinyC.7z
Filesize: 34.79 KB
Downloaded: 251 Time(s)


_________________
Siempre aprendiendo
Post 13 Jan 2025, 08:48
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 13 Jan 2025, 11:39
6.3.10. Cargar imágenes del resource
GDIPlusM6405
6.3.11. Escribir texto
GDIPlusM6406
6.3.13. Rotar
6.3.13.1. Texto
6.3.13.2. Imágenes

I need bin-files or src-files in masm, fasm, nasm, TinyC or PelleC


Description:
Download
Filename: GDIPlusM6406.zip
Filesize: 4.42 KB
Downloaded: 276 Time(s)

Description:
Download
Filename: GDIPlusM6405.zip
Filesize: 67.46 KB
Downloaded: 250 Time(s)


_________________
wasm.in


Last edited by Mikl___ on 14 Jan 2025, 03:30; edited 3 times in total
Post 13 Jan 2025, 11:39
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 13 Jan 2025, 15:17
6.3.12. Curvas
GDIPlusM6407


Description:
Download
Filename: GDIPlusM6407.zip
Filesize: 4.3 KB
Downloaded: 265 Time(s)


_________________
wasm.in


Last edited by Mikl___ on 14 Jan 2025, 03:33; edited 1 time in total
Post 13 Jan 2025, 15:17
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 13 Jan 2025, 22:58
6.3.13.5. Cambiar el eje de rotación
GDIPlusM6411


Description:
Download
Filename: GDIPlusM6411.zip
Filesize: 4.88 KB
Downloaded: 248 Time(s)


_________________
wasm.in
Post 13 Jan 2025, 22:58
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 16 Jan 2025, 23:56
Oye Alfonso, ¿pasa algo?
Hey, Alfonso, is something wrong?
Post 16 Jan 2025, 23:56
View user's profile Send private message Visit poster's website Reply with quote
avcaballero



Joined: 02 Feb 2004
Posts: 214
Location: Madrid - Spain
avcaballero 17 Jan 2025, 11:26
Todo bien por aquí, Mikl, como no me has contestado he pensado que te habrías ido.
Quote:
Mikl, I'm very interested in your art of decompiling executable files, when will there be a guide on how you do it?

¿Acaso necesitas algo más?

_________________
Siempre aprendiendo
Post 17 Jan 2025, 11:26
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 17 Jan 2025, 11:33
Quote:
Mikl, I'm very interested in your art of decompiling executable files, when will there be a guide on how you do it?
Quote:
como no me has contestado he pensado que te habrías ido
avcaballero
Habrá una respuesta muy larga, aún no la he terminado.
Quote:
¿Acaso necesitas algo más?
Sí, claro
6.3.13.1. Rotar Texto y 6.3.13.2. Rotar Imágenes
Necesito bin-files o src-files en masm, fasm, nasm, TinyC o PelleC
Post 17 Jan 2025, 11:33
View user's profile Send private message Visit poster's website Reply with quote
Mikl___



Joined: 30 Dec 2014
Posts: 143
Location: Russian Federation, Irkutsk
Mikl___ 19 Jan 2025, 02:07
[deletel]
Post 19 Jan 2025, 02:07
View user's profile Send private message Visit poster's website Reply with quote
Mat Quasar



Joined: 15 Dec 2024
Posts: 87
Mat Quasar 19 Jan 2025, 13:39
avcaballero wrote:
Mikl, I'm very interested in your art of decompiling executable files, when will there be a guide on how you do it?


Hi, I try to help a little bit on behalf of Mikl, hope everyone doesn't mind. Smile

If you mean decompile, not disassemble, then you can use IDA Free which comes with free x64 cloud decompiler. (For more advanced decompiler, need to purchase IDA Pro).

Please see screenshots and attached file below.


Description: Example C-like code generated from GDIPlusWC02.exe stub sub_401000
Filesize: 80.61 KB
Viewed: 5327 Time(s)

wc02.PNG


Description: Choose the stub which you want to decompile, then press F5, or select from menu
Filesize: 24.26 KB
Viewed: 5327 Time(s)

pseudocode.png


Description: The decompiled code of MainWndProc
Download
Filename: MainWndProc.txt
Filesize: 1.42 KB
Downloaded: 240 Time(s)

Post 19 Jan 2025, 13:39
View user's profile Send private message Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1954
Roman 20 Jan 2025, 09:02
what version IDA ?
Post 20 Jan 2025, 09:02
View user's profile Send private message Reply with quote
Mat Quasar



Joined: 15 Dec 2024
Posts: 87
Mat Quasar 20 Jan 2025, 11:27
Roman wrote:
what version IDA ?

Hi Roman. Currently I use IDA Free 9.0.

Their website allows downloads of version 8.4 and 9.0.
Post 20 Jan 2025, 11:27
View user's profile Send private message Reply with quote
avcaballero



Joined: 02 Feb 2004
Posts: 214
Location: Madrid - Spain
avcaballero 21 Jan 2025, 18:18
@Mikl. I'm a bit busy now and need to look for the sources. I'll upload them as soon as I can.

@Mat Quasar. Thank you. Interesting. It's almost unnecessary to save the sources if you have the executable. I have tested IDA some time ago and found it a labyrinth, no time for that, but it would be interesting to have a guide to use it. Sometimes it offers very long and unreadable code. I'm sure there are masters who use certain tricks to make decompilation easier.

On some occasion I've seen anti-debugging techniques and also anti-anti-debugging techniques. If there's someone expert in the room, would it be worth to use anti-debugging techniques knowing that there are also contrary techniques?

Just curious.
Post 21 Jan 2025, 18:18
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20662
Location: In your JS exploiting you and your system
revolution 22 Jan 2025, 03:45
avcaballero wrote:
On some occasion I've seen anti-debugging techniques and also anti-anti-debugging techniques. If there's someone expert in the room, would it be worth to use anti-debugging techniques knowing that there are also contrary techniques?
It impossible to have perfect anti-debug code. But that isn't the goal. The goal is to make it hard, and delay/discourage anyone from reversing the code.

So, yes, if you want to have an extra week/month/year/decade before your code is broken then it might be worthwhile. Depends upon the circumstances.
Post 22 Jan 2025, 03:45
View user's profile Send private message Visit poster's website Reply with quote
Ali.Z



Joined: 08 Jan 2018
Posts: 822
Ali.Z 22 Jan 2025, 05:36
dont bother with anti debugging stuff, most very well known companies in this field stopped updating there anti debugging techniques many years ago because there are no more tricks to play. *

and no you dont need any experience, just a simple debugger plugin and you are good to go.

but yes anti debugging tricks can make people who dont have good debugger or plugin trip a bit, especially unexperienced ones.

most of the focus again years ago shifted to anti static disassembly.
runtime disassembly used to work in past, but disassemblers improved too so they kinda cancel each other.



* there might be one or two but that breaks the application itself as well Laughing
(i also found couple ways to crash debuggers upon attaching to my process, but that kills both programs)

_________________
Asm For Wise Humans
Post 22 Jan 2025, 05:36
View user's profile Send private message Reply with quote
Mat Quasar



Joined: 15 Dec 2024
Posts: 87
Mat Quasar 23 Jan 2025, 13:52
Some anti-debugging techniques described in solution of Flare-On Challenge.

https://www.mandiant.com/sites/default/files/2021-10/09-evil.pdf
(Page 5 & 6)
Post 23 Jan 2025, 13:52
View user's profile Send private message Reply with quote
Mat-Quasar



Joined: 02 Mar 2025
Posts: 82
Mat-Quasar 25 Apr 2025, 12:52
Mat Quasar wrote:
Some anti-debugging techniques described in solution of Flare-On Challenge.

https://www.mandiant.com/sites/default/files/2021-10/09-evil.pdf
(Page 5 & 6)


One of the anti-debugging technique can be best illustrated using code below:

Code:
s=GetTickCount()
.
.
.
(Program code goes here)
.
.
.
if GetTickCount() - s > 5000 then
   Print "Debugger present!"
.
.
.
(Program code goes here)
.
.
.    
Post 25 Apr 2025, 12:52
View user's profile Send private message Reply with quote
macomics



Joined: 26 Jan 2021
Posts: 1163
Location: Russia
macomics 25 Apr 2025, 12:57
Bad code. He doesn't give an exact answer. And the delay may occur due to a breakpoint, or due to a long search for equipment or waiting for a network computer, etc.
Post 25 Apr 2025, 12:57
View user's profile Send private message Reply with quote
Mat-Quasar



Joined: 02 Mar 2025
Posts: 82
Mat-Quasar 25 Apr 2025, 13:25
macomics wrote:
Bad code. He doesn't give an exact answer. And the delay may occur due to a breakpoint, or due to a long search for equipment or waiting for a network computer, etc.


What a good code will be like?

Of course avoid code resulting in delay like I/O access, a more easy-to-understand
version for beginners like me: Embarassed
Code:
s=GetTickCount()

Print "...."
Print "...."
Print "...."

if GetTickCount() - s > 5000 then
    Print "Debugger present!"
    // Terminate the program here or whatever
end if
    
Post 25 Apr 2025, 13:25
View user's profile Send private message Reply with quote
macomics



Joined: 26 Jan 2021
Posts: 1163
Location: Russia
macomics 25 Apr 2025, 13:29
Even a trivial Print can cause a delay because the output handle can be overloaded and sent via ssh to another machine connected via dial-up.

1) I would make a wrapper to start the process without debugging
2) Even without the startup wrapper, you can simply check the name of the parent process.
Post 25 Apr 2025, 13:29
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20662
Location: In your JS exploiting you and your system
revolution 25 Apr 2025, 13:35
If the code is running in a multi-tasking OS then there are no timing guarantees at all. Other processes can act in unpredictable ways. As a user application it will have no control over the execution timing, it can be paused at any time to make way for another task to do something of higher priority.. So the code is fragile at best.
Post 25 Apr 2025, 13:35
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.