- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
procedure Graph_DefaultGetMem(var P:pointer; Size:word); far;
{$IFDEF DPMI}
var
Selector: Word;
begin
Selector := 0;
if Size <> 0 then
if MemAllocateBlock(0, Size, 2, nil, Selector) <> 0 then
Selector := 0;
P := Ptr(Selector, 0);
end;
{$ELSE}
var
T: pointer;
begin
Size := (Size + 7) and $FFF8;
GetMem(P, Size + 8);
if P <> nil then
begin
if PtrRec(P).Ofs = 0 then
begin
PtrRec(T).Ofs := Size and 15;
PtrRec(T).Seg := PtrRec(P).Seg + Size shr 4;
end
else
begin
T := P;
PtrRec(P).Ofs := 0;
Inc(PtrRec(P).Seg);
end;
FreeMem(T, 8);
end
end;
{$ENDIF}
Фарш GRAPH.TPU из Борманд Паскаля 7.0, провёрнутый назад. Мясо, восстановленное из котлет.
inkanus-gray 30.06.2016 00:17 # +12
Теги: #реверс-инжиниринг, #обратная_разработка, #idapro, #дизассемблер, #декомпиляция, #девореция, #декобенация, #денатализация, #дегенерация, #рефлектор, #отражатель, #борманд, #выравнивание, #анскиллябры, #заедушные, #память, #хрюкни.
bormand 30.06.2016 07:27 # +13
inkanus-gray 30.06.2016 12:18 # +11
P.S. Кстати, у Борланда графическая либа была и для сишки. У неё интерфейс совпадал с паскалевским модулем Graph (за исключением соглашения вызова Cdecl вместо Pascal). Можно ради интереса и сишную либу дизассемблировать.
fajes_rown 08.08.2016 01:04 # +10
booratinho 29.03.2023 17:28 # 0
fajes_rown 29.03.2023 17:36 # 0
CBuHOKYP 29.03.2023 23:17 # 0
guesf6 28.03.2023 22:32 # −10