Fråga:
Är det möjligt att skapa data xrefs manuellt?
xrefsfrom
2013-05-30 19:53:19 UTC
view on stackexchange narkive permalink

Jag har en binär med många indirekta samtal ( ring dword ptr [register + offset] ) registret beräknas med en enkel matematik som jag lyckas statiskt beräkna på egen hand (själva samtalet leda till lite winapi beräknat från den aktuella förskjutningen)

när jag försöker använda AddCodeRefs (ins, winapi, XREF_USER | fl_CN / f) till denna data blir min graf fel och alla grundblock blir en instruktion per grundblock; när jag försöker göra det motsatta, tänker IDA (logiskt: /) att uppgifterna verkligen är kodade och tolkar om hela avsnittet som sopkod.

Min fråga är - är det möjligt att skapa data xrefs från kod manuellt? AddCodeRefs verkar förstöra grafen och jag kunde inte hitta någon AddDataRefs , jag använder IDA 6.4.

Kanske skulle mindre f-ord nästa gång också få din poäng?
Jag ser att du redan har redigerat det, förlåt, jag kommer // nästa gång
Ett svar:
PSS
2013-06-26 08:54:14 UTC
view on stackexchange narkive permalink

Jag tror att du kanske letar efter add_dref (long From, long To, long drefType) . IDA Online-hjälp beskriver det som följande:

  Datareferenstyper (kombinera med XREF_USER!): # definiera dr_O 1 // Offset # definiera dr_W 2 // Skriv # definiera dr_R 3 // Läs # definiera dr_T 4 // Text (namn i manuella operander) # definiera dr_I 5 // Informationalvoid add_dref (lång Från, lång Till, lång drefType); // Skapa Data Refvoid del_dref (lång Från, lång Till); // Avmarkera data Reflong Dfirst (lång från); // Få första data xref från 'From'long Dnext (long From, long current); long DfirstB (long To); // Få första data xref till 'To'long DnextB (lång till, lång ström);  


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...