Vinnaren i pepparkakshustävlingen!
  • 2
  • 3
2015-01-26, 17:11
  #25
Medlem
SithSons avatar
Citat:
Ursprungligen postat av FilosofenDeep
Körde igårkväll igenom första delen av Lenas reverse engineering-tutorial. Kul!
Idag tänkte jag ju då köra igenom lektion nummer två, men till min stora fasa upptäckte jag att allt inte stod helt rätt till med Ollydbg!
Precis i början av lektion nummer två ska man nämligen använda sig av plugins, och jag kan inte för mitt liv få plugins att fungera. Har ställt in manuellt vilken mapp jag vill att Olly ska hämta plugins från och har pluginens dll-fil där(i det här fallet AnalyzeThis version 1.0). Jag har lyckats läsa mig till att första utgåvan av Olly 2.0 inte hade stöd för plugins, men att det nu är löst. Folk länkar till den här sidan:
http://www.ollydbg.de/version2.html
och det är därifrån jag laddat ned programmet. Senaste versionen ska enligt utsago ha pluginstöd.

Tydligen ska Olly skapa filen "ollydbg.ini" efter första uppstarten, men det finns ingen fil vid det namnet i Olly-mappen. Faktum är att det inte finns någon .ini-fil över huvud taget. Tänker mig att detta kan vara boven i dramat?

Är visserligen långt ifrån en 1337 hacker, men att lyckas fixa plugins till program brukar inte vara något problem för mig, så jag är nästan helt säker på att det är något knas utöver den mänskliga faktorn. Har även testat att använda olika mappar för plugins, haft själva ollydbg-standardmappen som pluginmapp, etc.

Tack på förhand!

EDIT: Har förstås även testat att radera skiten, ladda ner igen och köra programmet på nytt.
Testa "Run as admin" eller lägg Ollylådan i en låda utanför UAC, tex. Desktop.
Citera
2015-01-26, 18:24
  #26
Medlem
.Chloes avatar
Citat:
Ursprungligen postat av SithSon
Testa "Run as admin" eller lägg Ollylådan i en låda utanför UAC, tex. Desktop.
Jag hjälpte användaren lite senare över Teamviewer och vi fick det att fungera till sist.

Problemet var att Olly-versionen var fel och jag visste inte vilken som skulle användas, men tydligen så fick Olly samma funktioner som AnalyzeThis! runt version 1.2 så det behövdes inget plug-in helt enkelt
Citera
2015-10-24, 01:51
  #27
Medlem
Hur skulle du gå tillväga för att lösa denna uppgift? Har verkligen fastnat efter att ha försökt flera olika sätt men mina kunskaper är bristande.
Kod:
#include <iostream>
#include <string>

using namespace std;

string txt1 "Welcome";
string txt2 "";
string txt3 "!";

int main()
{
    if (
txt2 == "Administrator")
    {
        
cout << txt1 << " " << txt2 << txt3 << endl;
    }
    else
    {
        
cout << "Error: Incorrect user login!" << endl;
    }

    return 
0;

Kod:
.text:00401000 sub_401000      proc near               DATA XREF: .rdata:0040312Co
.text:00401000                 push    ecx
.text:00401001                 mov     ecxoffset dword_405410
.text:00401006                 call    sub_401490
.text:0040100B                 push    7               Size
.text:0040100D                 push    offset aWelcome "Welcome"
.text:00401012                 mov     dword_4054240Fh
.text:0040101C                 mov     dword_4054200
.text:00401026                 mov     byte ptr dword_4054100
.text:0040102D                 call    sub_401250
.text:00401032                 push    offset sub_402B50
.text:00401037                 call    sub_401F5F
.text:0040103C                 pop     ecx
.text:0040103D                 retn
.text:0040103D sub_401000      endp
.text:0040103D
.text:0040103D ; ---------------------------------------------------------------------------
.
text:0040103E                 align 10h
.text:00401040
.text:00401040 ; =============== S U B R O U T I N E =======================================
.
text:00401040
.text:00401040
.text:00401040 sub_401040      proc near               DATA XREF: .rdata:00403130o
.text:00401040                 push    ecx
.text:00401041                 mov     ecxoffset dword_405428
.text:00401046                 call    sub_401490
.text:0040104B                 push    0               Change size to 13
.text:0040104D                 push    offset unk_4031D0 Change to Administrator
.text:00401052                 mov     dword_40543C0Fh
.text:0040105C                 mov     dword_4054380
.text:00401066                 mov     byte ptr dword_4054280
.text:0040106D                 call    sub_401250
.text:00401072                 push    offset sub_402B90
.text:00401077                 call    sub_401F5F
.text:0040107C                 pop     ecx
.text:0040107D                 retn
.text:0040107D sub_401040      endp
.text:0040107D
.text:0040107D ; ---------------------------------------------------------------------------
.
text:0040107E                 align 10h
.text:00401080
.text:00401080 ; =============== S U B R O U T I N E =======================================
.
text:00401080
.text:00401080
.text:00401080 sub_401080      proc near               DATA XREF: .rdata:00403134o
.text:00401080                 push    ecx
.text:00401081                 mov     ecxoffset dword_4053F8
.text:00401086                 call    sub_401490
.text:0040108B                 push    1               Size
.text:0040108D                 push    offset asc_4031DC "!"
.text:00401092                 mov     dword_40540C0Fh
.text:0040109C                 mov     dword_4054080
.text:004010A6                 mov     byte ptr dword_4053F80
.text:004010AD                 call    sub_401250
.text:004010B2                 push    offset sub_402BD0
.text:004010B7                 call    sub_401F5F
.text:004010BC                 pop     ecx
.text:004010BD                 retn
.text:004010BD sub_401080      endp
.text:004010BD
.text:004010BD ; --------------------------------------------------------------------------- 
Citera
2015-10-24, 06:33
  #28
Avstängd
Citat:
Ursprungligen postat av SweCrime
Hur skulle du gå tillväga för att lösa denna uppgift? Har verkligen fastnat efter att ha försökt flera olika sätt men mina kunskaper är bristande.
Kod:
#include <iostream>
#include <string>

using namespace std;

string txt1 "Welcome";
string txt2 "";
string txt3 "!";

int main()
{
    if (
txt2 == "Administrator")
    {
        
cout << txt1 << " " << txt2 << txt3 << endl;
    }
    else
    {
        
cout << "Error: Incorrect user login!" << endl;
    }

    return 
0;

Kod:
.text:00401000 sub_401000      proc near               DATA XREF: .rdata:0040312Co
.text:00401000                 push    ecx
.text:00401001                 mov     ecxoffset dword_405410
.text:00401006                 call    sub_401490
.text:0040100B                 push    7               Size
.text:0040100D                 push    offset aWelcome "Welcome"
.text:00401012                 mov     dword_4054240Fh
.text:0040101C                 mov     dword_4054200
.text:00401026                 mov     byte ptr dword_4054100
.text:0040102D                 call    sub_401250
.text:00401032                 push    offset sub_402B50
.text:00401037                 call    sub_401F5F
.text:0040103C                 pop     ecx
.text:0040103D                 retn
.text:0040103D sub_401000      endp
.text:0040103D
.text:0040103D ; ---------------------------------------------------------------------------
.
text:0040103E                 align 10h
.text:00401040
.text:00401040 ; =============== S U B R O U T I N E =======================================
.
text:00401040
.text:00401040
.text:00401040 sub_401040      proc near               DATA XREF: .rdata:00403130o
.text:00401040                 push    ecx
.text:00401041                 mov     ecxoffset dword_405428
.text:00401046                 call    sub_401490
.text:0040104B                 push    0               Change size to 13
.text:0040104D                 push    offset unk_4031D0 Change to Administrator
.text:00401052                 mov     dword_40543C0Fh
.text:0040105C                 mov     dword_4054380
.text:00401066                 mov     byte ptr dword_4054280
.text:0040106D                 call    sub_401250
.text:00401072                 push    offset sub_402B90
.text:00401077                 call    sub_401F5F
.text:0040107C                 pop     ecx
.text:0040107D                 retn
.text:0040107D sub_401040      endp
.text:0040107D
.text:0040107D ; ---------------------------------------------------------------------------
.
text:0040107E                 align 10h
.text:00401080
.text:00401080 ; =============== S U B R O U T I N E =======================================
.
text:00401080
.text:00401080
.text:00401080 sub_401080      proc near               DATA XREF: .rdata:00403134o
.text:00401080                 push    ecx
.text:00401081                 mov     ecxoffset dword_4053F8
.text:00401086                 call    sub_401490
.text:0040108B                 push    1               Size
.text:0040108D                 push    offset asc_4031DC "!"
.text:00401092                 mov     dword_40540C0Fh
.text:0040109C                 mov     dword_4054080
.text:004010A6                 mov     byte ptr dword_4053F80
.text:004010AD                 call    sub_401250
.text:004010B2                 push    offset sub_402BD0
.text:004010B7                 call    sub_401F5F
.text:004010BC                 pop     ecx
.text:004010BD                 retn
.text:004010BD sub_401080      endp
.text:004010BD
.text:004010BD ; --------------------------------------------------------------------------- 


Currently mimic consists solely of One script which is marked as executable.
This is a non-idiomatic way to distribute Python command-line scripts. Add a
simple ``setup.py`` (which will need augmenting with author info, etc) and
re-factor mimic into a single-file module.

The upshot of this is that one can now install mimic directly from pip via
pip install git+git://github.com/reinderien/mimic.git and have setuptools create a mimic command which automatically invokes the
correct Python.

For development the usual

pip install -e .

can be used to use symlink magic to make sure that changes to
``magic/__init__.py`` are respected when launching the mimic wrapper script.

Update README.md with the installation incantation.

A ``__main__.py`` file is also included which allows execution of mimic via

python -m mimic

One could also add a wrapper script to the repository for this but that's
setuptools' job really
Citera
2015-10-24, 12:59
  #29
Medlem
Citat:
Ursprungligen postat av swecun
Currently mimic consists solely of One script which is marked as executable.
This is a non-idiomatic way to distribute Python command-line scripts. Add a
simple ``setup.py`` (which will need augmenting with author info, etc) and
re-factor mimic into a single-file module.

The upshot of this is that one can now install mimic directly from pip via
pip install git+git://github.com/reinderien/mimic.git and have setuptools create a mimic command which automatically invokes the
correct Python.

For development the usual

pip install -e .

can be used to use symlink magic to make sure that changes to
``magic/__init__.py`` are respected when launching the mimic wrapper script.

Update README.md with the installation incantation.

A ``__main__.py`` file is also included which allows execution of mimic via

python -m mimic

One could also add a wrapper script to the repository for this but that's
setuptools' job really
Hej och tack för tipset. Jag är dock fundersam på om det hjälper mig i denna situationen.
Jag gick in här för att läsa https://github.com/reinderien/mimic och om jag förstår det rätt är detta ett skript som byter ut tecken mot liknande. Har du lust att utveckla vad du menar?

Jo en sak till, som jag var otydlig med i min förra post, detta handlar inte om att göra en jmp eller liknande utan det handlar om att fylla i strängen txt2 med värdet Administrator.
Jag är verkligen en noob på RE men jag förstår att man inte bara kan fylla i värdet då detta kommer överskriva andra värden så jag har prövat att skapa ett nytt i "code cave" och sen försöka peka om offset unk_4031D0 till detta utan framgång.
Citera
2015-10-24, 19:27
  #30
Avstängd
Citat:
Ursprungligen postat av SweCrime
Hej och tack för tipset. Jag är dock fundersam på om det hjälper mig i denna situationen.
Jag gick in här för att läsa https://github.com/reinderien/mimic och om jag förstår det rätt är detta ett skript som byter ut tecken mot liknande. Har du lust att utveckla vad du menar?

Jo en sak till, som jag var otydlig med i min förra post, detta handlar inte om att göra en jmp eller liknande utan det handlar om att fylla i strängen txt2 med värdet Administrator.
Jag är verkligen en noob på RE men jag förstår att man inte bara kan fylla i värdet då detta kommer överskriva andra värden så jag har prövat att skapa ett nytt i "code cave" och sen försöka peka om offset unk_4031D0 till detta utan framgång.

Jag förstod det som har du har problem med själva "set upen" utav skrivande av kommandon i scripten och tänkte därför att det skulle underlätta att installera setuptools som skapar en automatiskt härmande kommando som anpassas korrekt till Python .
Inte överkunnig på ämnet så kan därför inte stå till befogande till det andra du efterfräga(kanske inte de första heller) utan tittade runt och länkade vidare något som för mig lät touchande i vad du skrev. kan ha misstagit mig! lycka till
Citera
2017-01-01, 12:54
  #31
Medlem
Försöker ladda ned "Lenas Reversing for Newbies": Reversing for Newbies - Complete
vilken kommer i .rar format precis som de andra verkar göra, men när jag försöker öppna dom så får jag bara felmeddelande att den är Damaged eller Unknown format. Tips?
Citera
  • 2
  • 3

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback