Crackme [#1] by Reject

Discussion in 'Реверсинг' started by Reject, 2 Dec 2006.

  1. Reject

    Reject Member

    Joined:
    19 Oct 2006
    Messages:
    35
    Likes Received:
    8
    Reputations:
    17
    Решил сделать что-то новое, где надо находить и перехватывать различные API функции, как на проверку окна так и на проверку нахождения процессов дебаггера и его плагинов, которые всячески пытаются спрятать его. Этот (и последующие) crackme очень отличаются от тех, что были раньше. Вот собственно...

    Crackme #1.
     
    1 person likes this.
  2. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    понравился, держи +8


    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    const buf:array[0..2] of byte=($0,$84, $85);
    const appname='1.exe';


    var
    Form1: TForm1;
    i:cardinal;
    sti:tstartupinfo;
    lpPi:tprocessinformation;
    h:HWND;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    begin

    if not CreateProcess(nil,AppName,nil,nil,false,CREATE_NEW_CONSOLE or
    NORMAL_PRIORITY_CLASS,nil,nil,StI,lpPI) then
    begin
    messageboxa(0,'Error patching!','Error',0);
    halt(1);
    end;
    repeat
    readprocessmemory(lppi.hProcess,pointer($004026EB),@buf[0],1,i);
    until buf[0] = $0F;

    suspendthread(lppi.hThread);

    writeprocessmemory(lppi.hProcess,pointer($004026EC),@buf[2],1,i); //JE

    resumethread(lppi.hThread);
    closehandle(lppi.hProcess);
    halt;
    end;

    end.
     
  3. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Продолжаю здесь (начало http://forum.antichat.ru/threadedpost235728.html ).
    Нет. Я както упоминал, что не могу поставить сайс. Я теперь полностью перешёл на Олю.
     
    2 people like this.
  4. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    aspack $:00405577 GetModuleFileNameA $00000000
    aspack $:004055A1 CreateFileA D:\xak\crackme\cm\CrackMe.exe
    aspack $:004055C0 GetFileSize
    aspack $:004055E9 VirtualAlloc $003C0000 $00006200 $00003000 $00000004
    aspack $:00405619 ReadFile
    aspack $:00405635 CloseHandle
    // с таким протектором трудно пропатчить Unicode

    User32 $66005D22 SetWindowsHookExA FFFFFFFF 66061D17 00000000 000008EC
    $6600A24F WideCharToMultiByte OllyDbg
    $6600A0A0 SetErrorMode
    $6600A0B1 LoadLibraryA user32
    $6600A0C2 SetErrorMode
    $6600A0D8 GetProcAddress $77D30000 FindWindowA
    // a я OllyDbg и не пользуюсь , почти. И антиотладки не заметил.

    Кстати в новом EXEкрипторе writeprocessmemory может не прокатить.