Parameterproblem

10/02/2009 15:40 MrSm!th#1
Ich mache momentan einen Hackshieldbypass in Form eines cracked Clients.
Bin eigentlich auch schon recht weit:
HS call überschrieben, Ehsvc.dll call überschrieben, Informs übersprungen
Klappt auch alles; bei einem Klick auf den Client startet er ohne HS und alles ist gut. Nur leider in koreanisch, weil der Parameter für die Sprache fehlt.
So nun habe ich also eine Verknüpfung zum Client erstellt, die den Parameter übergibt; was vorher auch ging.
Aber nun startet der Client gar nicht. Weder mit Fehlermeldung oder Disconnect (so wars vorher) noch in koreanisch sondern einfach gar nicht.
Der Parameter ist eigentlich richtig =/
Leider kann ich auch nicht debuggen, um den Fehler zu finden, da ich den Parameter über eine Verknüpfung an den Client gebe; und das geht ja so in Olly nicht.

Also habe ich folgende Fragen:
1. Kennt jemand das Problem? Wie kann ichs lösen?
2. Ist es möglich den Parameter in Form eines "PUSH" in den Client zu bringen, damit ich auch debuggen kann? Das wäre praktisch, dann könnte ich völlig ohne Hilfsmittel arbeiten und kann Fehler direkt finden.
3. Falls ja, wie? Vor allem frage ich mich wo^^ Denn vorher habe ich eindeutig an einem string gesehen, dass an einer Stelle die Sprache geprüft wurde; da könnte ich dann ja pushen, aber das finde ich nun nicht mehr.
Wäre es möglich einfach am Anfang den Parameter zu pushen? Wahrscheinlich nicht, da er dann ja im Stack nicht mehr ganz oben ist, wenn im Laufe des Programms etwas neues gepusht wird oder nicht?
4. Wenn ihr noch Infos braucht (oder den Client) um mir zu helfen, welche? Dann geb ich sie euch.


Danke im Voraus
10/02/2009 15:51 Adroxxx#2
Wenn du bei Olly of File -> Open -> gehst, steht dann da unten Arguments. Da kannste die Paramter reinschreiben.

Ansonsten nomral Öffnen und dann Debug -> Arguments gehen.

[Only registered and activated users can see links. Click Here To Register...]

Wenn du die Parameter alle kennst.

Kannst dir in deiner Anwednung mal die CreateProcess Funktion anschauen.

Code:
BOOL WINAPI CreateProcess(
__in_opt LPCTSTR lpApplicationName,
[B]__inout_opt LPTSTR lpCommandLine[/B],
__in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in BOOL bInheritHandles,
__in DWORD dwCreationFlags,
__in_opt LPVOID lpEnvironment,
__in_opt LPCTSTR lpCurrentDirectory,
__in LPSTARTUPINFO lpStartupInfo,
__out LPPROCESS_INFORMATION lpProcessInformation
);
10/04/2009 10:47 MrSm!th#3
ok damit gings
eine frage habe ich aber trotzdem noch:
ich kann zwar über dieses arguments-feld die parameter in olly eingeben, aber wie krieg ich das in assembly für den client hin, damit man nicht extra olly oder eine verknüpfug braucht sondern wirklich nur den client?
edit: problem gelöst^^
mit einer codecave und dann einfach an der stelle, wo der standardparameter gepusht wurde meine adresse gepusht^^