| eXeL@B —› Вопросы новичков —› Результат декомпилирования Hex-Ray | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 22 декабря 2011 16:05  · Личное сообщение · #1  | 
| 
 | 
Создано: 22 декабря 2011 16:48 · Поправил: PE_Kill  · Личное сообщение · #2 Прога на делфи/си билдере. llushr - расшифровывается как long long unsigned shift right, т.е. на делфи это var v167_v168: UInt64; v15 : Cardinal; v166 : Cardinal; begin v15 := v167_v168 shr (63 - v14 - 8 * v13); v166 := v166 or (v15 and 1) shl v12; v12 := v12 + 1; end; Дальше уже оптимизировать некуда, только если знать досконально алгоритм. Так что Hex-Ray тут сработал на 5+, оптимизировать нечего. ----- Yann Tiersen best and do not fuck   | Сообщение посчитали полезным: yanus0 | 
| 
 | 
Создано: 22 декабря 2011 20:55  · Личное сообщение · #3  | 
| 
 | 
Создано: 22 декабря 2011 21:04  · Личное сообщение · #4 WORD v45 = (v73 >> 16) & 0xFFFF; WORD v43 = v73 & 0xFFFF; из dword делается два word ----- ...или ты работаешь хорошо, или ты работаешь много...   | Сообщение посчитали полезным: yanus0 | 
| 
 | 
Создано: 23 декабря 2011 09:17  · Личное сообщение · #5  | 
| 
 | 
Создано: 23 декабря 2011 11:21  · Личное сообщение · #6  | 
| 
 | 
Создано: 23 декабря 2011 12:26  · Личное сообщение · #7  | 
| 
 | 
Создано: 23 декабря 2011 17:56 · Поправил: PE_Kill  · Личное сообщение · #8 BfoX пишет: WORD v45 = (v73 >> 16) & 0xFFFF; При сдвиге вправо, слева и так будут нули, & 0xFFFF тут лишнее. BfoX пишет: WORD v43 = v73 & 0xFFFF; Здесь тоже лишнее, при присвоении 2 байтовой переменной 4 байтовой, компилятор сам срежет левую часть. yanus0 пишет: LOWORD(v45) = HIWORD(v73); LOWORD(v43) = v73; Если в Delphi то будет так: var v43, v45, v73 : Cardinal; begin v73 := $12345678; PWord(@v45)^ := v73 shr 16; PWord(@v43)^ := v73; end; ----- Yann Tiersen best and do not fuck ![]()  | 
| 
 | 
Создано: 26 декабря 2011 11:51  · Личное сообщение · #9  | 
| eXeL@B —› Вопросы новичков —› Результат декомпилирования Hex-Ray | 






 Для печати